Jiraのチケット情報をRest APIで取得する
これは株式会社SUPER STUDIO Advent Calendar 2023の2日目の記事です。
ごきげんよう🌸
株式会社SUPER STUDIOでコーポレートエンジニアを担当している@bboobbaaです!
弊社ではチケット管理にJira Softwareを、ワークフローでJira Service Managementを利用しています。チケットの詳細をAPIで取得することがあるので、取得に関するAPIv3(beta)を紹介します!
チケットの情報を取得する
/rest/api/3/issue/{issueIdOrKey}?expand=names
Jira REST API使ったことがある人はだれでも一度は叩いたことがあるであろう、チケットの詳細を取得するAPI。?expand=namesをパラメータにつけると、カスタムフィールドの項目名が出力されるのでオススメです。
/rest/api/3/search?jql={JQL}
チケットに条件をつけて検索することができるAPIです。
JQLオプション
JQLに関してはUse advanced search with Jira Query Language (JQL)を参考にするといいです。
/searchAPIでよく使っているものを紹介します。
-
project={projectKey}- プロジェクトキーの情報に絞り込みます。
-
created>=-1d- 1日前に作成したチケットに絞り込みます。
-
updated>=-10m- 10分前に更新したチケットに絞り込みます。
fieldsオプション
このオプションをつけると、追記したfield以外の情報を一切取ってこなくなります。わたしが唯一欲しかったけどデフォルトで出力されなかった項目はcommentだけでした。カスタムフィールドも全部とってくるので、あえて設定してあげたほうが見やすいかもしれません。
fields=summary,status,reporter,assignee,comment,customfield_xxxみたいにカンマ区切りでオプションを付けます。
maxResultsオプション
最高100件まで取れました。
チケットの項目を取得する
/rest/api/3/field
カスタムフィールドの一覧を取得します。
/rest/api/3/issue/createmeta?projectKeys={projectKey}&expand=projects.issuetypes.fields
チケットのフィールドで選択する項目のIDなどが取得できます。APIから新規チケットを作成するときなどに、項目のIDが分かると便利です。
これから
Jira Service Managementではissueとは別の動的フォームの機能があるのですが、それを操作するForms REST APIも使えるようになりました!Jira Service Managementのリクエストはフィールド上限が50までなので、フォームうまく使って何かしらアウトプットできたらいいなぁと思います!
Discussion