ラベル redmine の投稿を表示しています。 すべての投稿を表示
ラベル redmine の投稿を表示しています。 すべての投稿を表示

2012年1月30日月曜日

groovyでredmineのチケットを更新する

groovyでredmineのチケットを更新するには、以下のコードを実行します。
@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()
// チケットを更新する
issueId = 8
method = new HttpPut("http://redmine-server/redmine/issues/${issueId}.json")
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
// パラメータを設定
builder = new JsonBuilder()
builder.issue {
  project_id "testproject1"
  notes "例外発生"
}
method.setEntity(new StringEntity(builder.toString(), "application/json", "UTF-8"))
response = httpclient.execute(method)
println response.getStatusLine().getStatusCode()
println response.getEntity().getContent().text


動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2012年1月26日木曜日

groovyでredmineのチケットを作成する

groovyでredmineのチケットを作成するには、以下のコードを実行します。
@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

2012年1月23日月曜日

groovyでredmineから優先順位がUrgentのチケットの一覧を取得する

groovyでredmineから優先順位がUrgentのチケットの一覧を取得するには、以下のコードを実行します。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import groovy.json.*

httpclient = new DefaultHttpClient()
// 優先順位がUrgent(priority_id=6)のチケットの一覧を取得する
project_id = "testproject1"
method = new HttpGet("http://redmine-server/redmine/issues.json" +
  "?limit=100&offset=0&priority_id=6"
)
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
response = httpclient.execute(method)

json = new JsonSlurper().parseText(response.getEntity().getContent().text)
println json
println "number of closed issue:${json.total_count}"
json.issues.each {
  println "----"
  // 題名
  println "name:${it.subject}"
  // ステータス
  println "status:${it.status.name}"
  // 説明
  println "description:${it.description}"
  // プライオリティ
  println "priority:${it.priority.name}"
  // 登録日時
  println "created_on:${it.created_on}"
}

動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2012年1月21日土曜日

groovyでredmineのプロジェクトを作成する

groovyでredmineのプロジェクトを作成するには、以下のコードを実行します。
@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/projects.json")
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
//
builder = new JsonBuilder()
builder.project {
  name "プロジェクト名称"
  identifier "project1"
  description "groovyで作成したプロジェクト"
}
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.project.id}"


動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2012年1月18日水曜日

groovyでredmineからクローズしたチケットの一覧を取得する

groovyでredmineからクローズしたチケットの一覧を取得するには、以下のコードを実行します。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import groovy.json.*

httpclient = new DefaultHttpClient()
// クローズしたチケットの一覧を取得する
project_id = "testproject1"
method = new HttpGet("http://redmine-server/redmine/issues.json" +
  "?limit=100&offset=0&status_id=closed"
)
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
response = httpclient.execute(method)

json = new JsonSlurper().parseText(response.getEntity().getContent().text)
println "number of closed issue:${json.total_count}"
json.issues.each {
  println "----"
  // 題名
  println "name:${it.subject}"
  // ステータス
  println "status:${it.status.name}"
  // 説明
  println "description:${it.description}"
  // プライオリティ
  println "priority:${it.priority.name}"
  // 登録日時
  println "created_on:${it.created_on}"
}

動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2012年1月14日土曜日

groovyでredmineからオープンチケットの一覧を取得する

groovyでredmineからオープンチケットの一覧を取得するには、以下のコードを実行します。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import groovy.json.*

httpclient = new DefaultHttpClient()
// オープンチケットの一覧を取得する
project_id = "testproject1"
method = new HttpGet("http://redmine-server/redmine/issues.json" +
  "?limit=100&offset=0"
)
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
response = httpclient.execute(method)

json = new JsonSlurper().parseText(response.getEntity().getContent().text)
println "number of open issue:${json.total_count}"
json.issues.each {
  println "----"
  // 題名
  println "name:${it.subject}"
  // ステータス
  println "status:${it.status.name}"
  // 説明
  println "description:${it.description}"
  // プライオリティ
  println "priority:${it.priority.name}"
  // 登録日時
  println "created_on:${it.created_on}"
}


動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2012年1月11日水曜日

groovyでredmineのプロジェクトを削除する

groovyでredmineのプロジェクトを削除するには、以下のコードを実行します。
@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()
// プロジェクトを削除する
id = "project1"
method = new HttpDelete("http://redmine-server/redmine/projects/${id}.json")
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
response = httpclient.execute(method)
println response.getStatusLine().getStatusCode()
println response.getEntity().getContent().text

動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2012年1月6日金曜日

groovyでredmineのプロジェクトを更新する

groovyでredmineのプロジェクトを更新するには、以下のコードを実行します。
@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()
// プロジェクトを更新する
id = "project1"
method = new HttpPut("http://redmine-server/redmine/projects/${id}.json")
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
//
builder = new JsonBuilder()
builder.project {
  name "プロジェクト名称"
  identifier "project1"
  description "ホームページを追加"
  homepage "http://groovyarekore.blogspot.com"
}
method.setEntity(new StringEntity(builder.toString(), "application/json", "UTF-8"))
response = httpclient.execute(method)
println response.getStatusLine().getStatusCode()
println response.getEntity().getContent().text


動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2011年12月31日土曜日

groovyでredmineの指定プロジェクトの情報を取得する

groovyでredmineの指定プロジェクトの情報を取得するには、以下のコードを実行します。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import groovy.json.*

httpclient = new DefaultHttpClient()
// 指定のプロジェクトの情報を取得する
id = "project1"
method = new HttpGet("http://redmine-server/redmine/projects/${id}.json")
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
response = httpclient.execute(method)

json = new JsonSlurper().parseText(response.getEntity().getContent().text)
// 名前
println "name:${json.project.name}"
// 説明
println "description:${json.project.description}"
// 作成日時
println "created_on:${json.project.created_on}"
// 更新日時
println "updated_on:${json.project.updated_on}"


動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0

2011年12月17日土曜日

groovyとredmineでプロジェクトの一覧を取得する

groovyとredmineでプロジェクトの一覧を取得するには、以下のコードを実行します。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.1.2')
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.message.*
import groovy.json.*

httpclient = new DefaultHttpClient()
// プロジェクトの一覧を取得する
method = new HttpGet("http://redmine-server/redmine/projects.json" +
  "?limit=100&page=0"
)
// アカウントページで作成したAPIアクセスキーを設定する
apiKey = "your-api-key"
method.addHeader(new BasicHeader("X-Redmine-API-Key", apiKey))
response = httpclient.execute(method)

json = new JsonSlurper().parseText(response.getEntity().getContent().text)
println "number of projects:${json.total_count}"
json.projects.each {
  // ID
  println "id:${it.id}"
  // 名前
  println "name:${it.name}"
  // 説明
  println "description:${it.description}"
}


動作環境
groovy 1.8.4, JDK6 Update29, redmine 1.3.0