プロジェクト

全般

プロフィール

Rest api with java » 履歴 » バージョン 2

Akiko Takano, 2013/08/24 06:30
JRedmine, redmine-jconnectorの追記をしました。また、Redmine Java APIのURLと、コード引用例を修正しました。

1 1 Mitsuyoshi Yoshida
redmine.org の "Rest_api_with_java":http://www.redmine.org/projects/redmine/wiki/Rest_api_with_java の日本語訳です。
2
3
h1. Java での REST API の使用法
4
5 2 Akiko Takano
h2. Jredmine
6 1 Mitsuyoshi Yoshida
7 2 Akiko Takano
"Jredmine":http://maven-site.nuiton.org/jredmine/index.html というプラグインがあります。こちらは、RedmineのJredmine専用のプラグインと、対応するJavaのClientが提供されており、redmine redt apiよりも色々な機能があります。
8
9
h2. redmine-jconnector
10
11
"redmine-jconnector":https://code.google.com/p/redmine-jconnector/ (redmine 1.4 / REST API 有効時のみの対応です)
12
13
h2. Redmine Java API library from taskadapter¶
14
15
Redmine REST API でのアクセスに使える Java のライブラリには "Redmine Java API library from taskadapter¶":https://github.com/taskadapter/redmine-java-api があります。これはサードパーティ製のフリー(Apache 2 オープンソースライセンス)なライブラリです。(REST APIを有効にしたRedmine2.3までをサポートしています)
16
17 1 Mitsuyoshi Yoshida
使用例:
18
19
<pre><code class="java">
20
import java.io.IOException;
21
import java.net.URISyntaxException;
22
import java.util.List;
23 2 Akiko Takano
import com.taskadapter.redmineapi.RedmineManager;
24
import com.taskadapter.redmineapi.bean.Issue;
25 1 Mitsuyoshi Yoshida
26
public class Simple {
27 2 Akiko Takano
    private static String redmineHost = "https://www.hostedredmine.com";
28
    private static String apiAccessKey = "a3221bfcef5750219bd0a2df69519416dba17fc9";
29
    private static String projectKey = "taskconnector-test";
30
    private static Integer queryId = null; // any
31 1 Mitsuyoshi Yoshida
32 2 Akiko Takano
    public static void main(String[] args) {
33
        RedmineManager mgr = new RedmineManager(redmineHost, apiAccessKey);
34
        try {
35
            tryGetIssues(mgr);
36
        } catch (Exception e) {
37
            e.printStackTrace();
38
        }
39
    }
40 1 Mitsuyoshi Yoshida
41 2 Akiko Takano
    private static void tryGetIssues(RedmineManager mgr) throws Exception {
42
        List<Issue> issues = mgr.getIssues(projectKey, queryId);
43
        for (Issue issue : issues) {
44
            System.out.println(issue.toString());
45
        }
46
    }
47 1 Mitsuyoshi Yoshida
}
48
</code></pre>
49
50
51
チケットの作成
52
53
<pre><code class="java">
54
	Issue issueToCreate = new Issue();
55
	issueToCreate.setSubject("This is the summary line 123");
56
	Issue newIssue = mgr.createIssue(PROJECT_KEY, issueToCreate);
57
</code></pre>
58
59
60
ID を指定したチケットの取得
61
62
<pre><code class="java">
63
	Issue issue = mgr.getIssueById(123);
64
</code></pre>