PostmanからJIRA REST APIを叩いてみた。
GETについてはすでに色々に記載が見られるので、
POSTやPUTでフィールド連携するときのbodyの中身についてまとめてみた。
#JIRA REST APIとは
他システムなど、外からJIRA REST APIを経由してJIRAの課題の「追加、更新、検索、削除」ができる。
HTTPメソッドの、追加=POST、更新=PUT、検索=GET、削除=DELETEでリクエストを送る。
※今回は、JIRAバージョンの制約のためAPIはver2(2021/3現在の最新verは3)
早速叩いてみよう
とりあえずPOSTのリクエストを載せます。bodyに関してはPUTも同じなので参考になるのでは?
加えて、
はエンドポイントが別。それぞれ内容を以下に記載。
フィールドの連携
AuthorazationにはJIRAアカウントのIDとパスワードを入力。
エンドポイント↓
https://[自分のJIRAのホスト名]/rest/api/2/issue
そして肝心のbody↓
{
"fields": {
"project": {
"key":"ABC"
},
"summary": "TEST_JIRA_API",
"issuetype": {
"name":"task"
},
"labels": ["テスト", "管理"],
"priority": {
"name": "Medium"
},
"duedate": "2020-02-02T02:02:02.000+0900",
"customfield_12345": "test",
}
}
-
key
:自分のJIRAのプロジェクトキー。課題番号がABC-1
,ABC-
の場合ABC
がプロジェクトキー。 -
summary
:システムフィールド(最初から存在するフィールド)の1つ。課題の要約、題名にあたり、たいていの場合入力必須なので、これを空欄にして送るとエラーが返ってくる。 -
issuetype
:システムフィールドの1つで、課題タイプのこと。taskの他に、incident, storyなど -
labels
:システムフィールドの1つで、ラベル。,(カンマ)で区切って複数設定が可能 -
priority
:システムフィールドの1つで、優先度。 -
duedate
:システムフィールドの1つで、期日。
値のタイムスタンプは自身の環境によって異なるので、要確認。GETでリクエスト送ってレスポンスで返ってきた日時のタイムスタンプを確認するのが一番早い。 -
customfield_12345
:カスタムフィールド(自分でカスタマイズして作成したフィールド)のIDを入れる。
カスタムフィールドとはなんぞ?カスタムフィールドIDはどうやって調べるの?っていう方はこちらの記事を参照ください↓
JIRAカスタムフィールドIDの調べ方
ステータスの連携
ヘッダー、認証はフィールド連携と同じ。
エンドポイント↓
https://[自分のJIRAのホスト名]/rest/api/2/issue/ABC-1/transitions?expand=transitions.fields
ABC-1
の部分にコメントを追加したいJIRAの課題番号を入れる。
body↓
{
"transition": {
"id": "[トランジションID]"
},
"fields": {
"resolution": {
"name": "Done"
}
}
}
resolution
:システムフィールドの1つで、解決状況のこと。Done, Unresolvedなど。
トランジションIDってなに??IDの調べ方わからんよという方、こちらの記事を参照ください↓
JIRAトランジションIDの調べ方
コメントの連携
ヘッダー、認証はフィールド連携と同じ。
エンドポイント↓
https://[自分のJIRAのホスト名]/rest/api/2/issue/ABC-1/comment
ABC-1
の部分にコメントを追加したいJIRAの課題番号を入れる。
body↓
{
"body":"テスト"
}
これで"テスト"というコメントが追加されているはず。