リックソフトブログ

2023年03月13日

【データセンター版Jira Software】 REST APIでJira課題を検索・作成するっくま!

Author

南澤 華代 Hanayo Minamisawa

南澤 華代</mt:Var>

  

--この記事は、データセンター版のJira Softwareを利用している方に向けた内容です--

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

まず答えから言いますと、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を知った方は、Jiraアプリケーション以外から Jiraの操作ができる呪文(魔法のURL)とでも思ってください。

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

REST APIでJira課題を検索

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

つづけて、上記を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検索画面の結果件数と一致しています。
それから、取得したいフィールドも課題ごとに取得できていることもわかります。

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

1
2
3
4
5
6
# 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 の内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
 "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します。

1
2
3
4
5
6
7
# 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コマンド実行後の結果(一部情報をマスク)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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)へアクセスすると、指定した内容で課題が作成できていることが分かります。

screenshot-1.png

*本記事は、2018年5月に執筆したものを、2023年2月にJira Data Center ver.9.5.1で検証したものです。

                                         

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

評価ライセンスのご依頼 Jira Software について               
                    
                                                                   

本情報はブログを公開した時点の情報となります。
ご不明な点はお問い合わせください。

        

お問い合わせ         

  
本ブログのカテゴリ: Jira
  

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

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

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

サポート

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

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

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

サポートについて

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

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

各種ガイドブック

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

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

ガイドブックについて

価値あるツールの使い方

価値あるツールの使い方

研修・トレーニング

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

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

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

研修について

PAGE TOP