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> |