@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2') import org.apache.http.* import org.apache.http.client.* import org.apache.http.client.methods.* import org.apache.http.impl.client.* import org.apache.http.entity.* import org.apache.http.message.* import org.apache.http.protocol.* import groovy.json.* httpclient = new DefaultHttpClient() // チケットを作成する method = new HttpPost("http://redmine-server/redmine/issues.json") // アカウントページで作成したAPIアクセスキーを設定する apiKey = "your-api-key" method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey)) // パラメータを設定 builder = new JsonBuilder() builder.issue { project_id "testproject1" subject "UIバグ" description "Windowがクローズできない。" tracker_id "1" // 1=Bug priority_id "5" // 5=High status_id "1" // 1=New start_date "2012-01-05" due_date "2012-02-02" done_ratio "0" estimated_hours "10" } method.setEntity(new StringEntity(builder.toString(), "application/json", "UTF-8")) response = httpclient.execute(method) println response.getStatusLine().getStatusCode() json = new JsonSlurper().parseText(response.getEntity().getContent().text) // 作成したチケットのID println "id:${json.issue.id}"
動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0
0 件のコメント:
コメントを投稿