🙆‍♀️

Jiraのチケット情報をRest APIで取得する

2023/12/02に公開

これは株式会社SUPER STUDIO Advent Calendar 2023の2日目の記事です。
https://qiita.com/advent-calendar/2023/superstudio

ごきげんよう🌸
株式会社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