メメメモモ

プログラミング、筋トレ、ゲーム、etc

ScalaからRedmineを操作する

概要

Redmine API
http://www.redmine.org/projects/redmine/wiki/Rest_api

ScalaからRedmineAPIを使って、チケットを取得したり操作したりするための設定を行います。

RedmineAPIキーを取得

以下のページを参考に、RedmineAPIキーを取得します。
http://redmine.jp/glossary/r/rest-api/

Java向けのSDKを導入

APIを使うためのSDKが用意されているので、それを使用します。
http://www.redmine.org/projects/redmine/wiki/Rest_api#API-Usage-in-various-languagestools

以下のリンクで、最新のバージョンを調べてsbtファイルに追記します。
http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.taskadapter%22%20AND%20a%3A%22redmine-java-api%22

libraryDependencies += "com.taskadapter" % "redmine-java-api" % "3.0.1"

サンプルコード

あとはSDKを使用してプログラムを書くのみです 。
以下は、対象のプロジェクトのチケット一覧を取得するサンプルコードになっています。

import com.taskadapter.redmineapi.RedmineManagerFactory

import collection.JavaConversions._


object Redmine {
  def main(args: Array[String]): Unit = {
    // RedmineのURL
    val uri = "https://xxxxxxxxxxxxxxxxxxxxxxxxxx/"

    // APIキー
    val accessKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

    // プロジェクト名
    val project = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

    val mgr = RedmineManagerFactory.createWithApiKey(uri, accessKey)
    val issues = mgr.getIssueManager().getIssues(project, null)
    for (issue <- issues) {
      println(issue.getSubject)
    }
  }
}

ドキュメント

Redmine API
http://www.redmine.org/projects/redmine/wiki/Rest_api