日本でのアトラシアン(Atlassian)製品導入No.1

  1. HOME

リックソフトブログ

2018/05/30

りっくまのお便り投稿シリーズJira編8: REST APIでJira課題を検索・作成するっくま!

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Author

南澤 華代Hanayo Minamisawa

南澤 華代

こんにちは。リックソフト ヘルプデスク担当の南澤です。

今回も リックソフトブログで一番人気?!の りっくまのお便り投稿シリーズ をお送りします。
このシリーズは、技術知識があまりなく、Jira初心者の新米プロジェクトリーダーのりっくまくんが、弊社ヘルプデスクへ悩みを相談しながら成長していく物語です。

今回は、りっくまからヘルプデスクにこんなお便りが届きました。

今回のりっくまさんの質問は、高度な内容ですね。

まず答えから言いますと、JiraにはREST APIが用意されていますので、REST APIを使用してJiraの課題の検索や作成は可能です。
社内システム開発者の方へは、以下のJiraのREST APIリファレンスや利用例を渡してもらえれば開発できると思います。

さてこれから、りっくまさんのようにREST APIって何?という方に向けて、REST APIを使ってJiraを操作する利用例を紹介します。

REST APIとは?

REST API を利用すると、HTTP メソッドの POST / PUT / GET / DELETE を使って、データの「追加、更新、検索、削除」操作ができます。
Jiraの場合も、REST APIを利用すると、追加(例:課題の作成)、更新(例:課題の編集)、検索(例:希望の課題を検索して取得する)、削除(例:課題の削除)といった操作ができるのです。

REST API

このように説明してもピンとこないかもしれません。
りっくまさんのように初めてREST APIを知った方は、Jiraアプリケーション以外から Jiraの操作ができる呪文(魔法のURL)とでも思ってください。

つづけて実際にJiraでREST APIを使用した利用例を紹介します。

REST APIでJira課題を検索

例として りっくま(rickuma)が担当者になっている課題を取得してみましょう。
Jiraの検索画面でこの条件で検索すると、以下のように4件ヒットするような結果になります。

REST APIでJira課題を検索

つづけて、上記をREST APIで取得する方法を考えてみましょう。

REST APIでJira課題を検索して結果を取得する場合は、JIRA Server platform REST API referenceを見ると、 /rest/api/2/searchのGETメソッドでできそうなことがわかります。
JIRA Server platform REST API referenceには指定できるパラメータも記載されています。 今回の例では、以下のパラメータを使ってみます。

パラメータ 設定する値 説明
jql string assignee in (rickuma)  (rickumaが担当している課題) JQL文字列 (Jiraの検索で利用できる検索言語。例えば、「status = closed」でステータスがクローズの課題を検索できる。)
maxResults int 40件 結果を返す課題の上限数。50件がデフォルト。
fields string 要約、担当者、期限 課題から取得したいフィールドをカンマ区切りで指定できる

以上を踏まえると、課題を取得できるURLは以下になります。
(JiraのベースURLは、http://192.168.56.103:8080/jira です)

ためしにこのURLをブラウザで参照してみましょう。
Firefoxの場合だと、以下のようにJSONフォーマットで見やすい状態で参照できます。

課題の取得件数は4件(青いバーのtotalの数値)で、Jira検索画面の結果件数と一致しています。
それから、取得したいフィールドも課題ごとに取得できていることもわかります。

Jira検索画面の結果件数と一致

また、これを Linux の curl コマンドで実行する場合は下記の通りとなります。admin:password は Jira にログイン可能で課題の閲覧権限を持つ ユーザー名(admin)とパスワード(password)です。

# curl \
   -D- \
   -u admin:password \
   -X GET \
   -H "Content-Type: application/json" \
   http://192.168.56.103:8080/jira/rest/api/2/search?maxResults=40&fields=issuekey,summary,assignee,duedate&jql=assignee=rickuma

REST APIでJira課題を作成

今度は、REST APIを使ってJira課題を作ってみましょう。
ためしに以下の情報で課題を作ってみます。

項目名
プロジェクト RSKUMA (りっくまプロジェクト)
要約 りっくまブログ 2018/5 作成
課題タイプ タスク
担当者 rickuma (りっくま)
報告者 meganekuma (めがねっくま)
優先度 Medium
説明 2018年リックソフトブログに掲載する内容を作成してください。

上記情報をJSONファイルにすると以下のようになります。

createissue.json の内容

{
 "fields":{
 "project":{
 "key":"RSKUMA"
},
 "summary": "りっくまブログ 2018/5 作成",
 "issuetype": {
 "name": "Task"
},
 "assignee": {
 "name": "rickuma"
},
 "reporter": {
 "name": "meganekuma"
},
 "priority": {
 "id": "3"
},
 "description": "2018年リックソフトブログに掲載する内容を作成してください。"
}
}

このJSONファイルを作業ディレクトリに保管し、そこで以下のCurlコマンドを実行して、Jiraへ情報をPOSTします。

# curl \
   -D- \
   -u admin:password \
   -X POST \
   --data @createissue.json \
   -H "Content-Type: application/json" \
   http://192.168.56.103:8080/jira/rest/api/2/issue/

Curlコマンド実行後の結果は次のようになります。SENなど一部情報はマスクしています。
最後の一行は、実行結果で、課題ID「10400」課題キー「RSKUMA-6」で課題作成できているという意味です。

curlコマンド実行後の結果(一部情報をマスク)

HTTP/1.1 201
X-AREQUESTID: 1425x871x1
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
X-ASEN: SEN-XXXXXXXXXXXX
Set-Cookie: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX;path=/jira;HttpOnly
X-Seraph-LoginReason: OK
Set-Cookie: atlassian.xsrf.token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;path=/jira
X-ASESSIONID: XXXXXXX
X-AUSERNAME: admin
Cache-Control: no-cache, no-store, no-transform
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 27 May 2018 14:45:16 GMT
 
{"id":"10400","key":"RSKUMA-6","self":"http://192.168.56.103:8080/jira/rest/api/2/issue/10400"}

実際に課題キー「RSKUMA-6」の課題(http://192.168.56.103:8080/jira/browse/RSKUMA-6)へアクセスすると、指定した内容で課題が作成できていることが分かります。

指定した内容で課題が作成

最後に

今回は難しい質問でしたが、りっくまさん、このような回答でいかがでしょうか?
REST APIで課題の編集や、ステータス変更、それからユーザー追加などの管理機能も操作できますよ。
この話は、また後日ブログに書きますね~

ご不明な点がございましたら、お気軽に弊社にお問合せください。

お問い合わせ

また30日の無料評価ライセンスがありますので、ぜひお試しください。

評価ライセンスのご依頼

Jira Software について

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

カテゴリ一覧

最近の記事

年別アーカイブ

アトラシアン製品の導入と活用を
成功させたいなら
リックソフトのサポートが
必要です。

サードパーティ製のアドオンもサポート

サードパーティ製のアドオンもサポート

RS標準サポート

アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのRS標準サポートではサポートします。

  • アトラシアン製品とサードパーティ製のアドオンとの事象の切り分け
  • 海外のアドオンベンダーとのやり取りを代行(日→英/英→日)

リックソフトのRS標準サポートは開発元が提供するサポート以上の価値があります。

サポートについて

ツールの活用を促進するアイテム

ツールの活用を促進するアイテム

各種ガイドブック

ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。

リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。

ガイドブックについて

価値あるツールの使い方

価値あるツールの使い方

研修・トレーニング

ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。

日本随一の生産性向上にも効果のある研修サービスです。

リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。

研修について