JIRAには課題の状態を表す値が2つあります
- ステータ
- ステータスカテゴリ
今回対象にするのはステータスカテゴリです
- To Do
- In Progress
- Done
現在のステータスカテゴリになった日時を
fields内のstatuscategorychangedateで取得するコードを書きました。
各自で設定する変数
- ISSUE_URL
- issueKey
- スクリプトのプロパティにtokenを入れておく
コード.gs
var ISSUE_URL = 'https://SITENAME.atlassian.net/rest/api/2/issue/'; function myFunction(){ var issueKey = "KEY-1"; var response = getIssueData(issueKey); var jobj = JSON.parse(response); var fields = jobj["fields"]; var statusCategoryChangeDate = formatDate(fields["statuscategorychangedate"]); var status = fields["status"]["name"]; Logger.log([status, statusCategoryChangeDate]); } function getIssueData(issueKey) { var token = getProp("token"); var options = { contentType: "application/json", headers: {"Authorization": " Basic " + token} }; var url = ISSUE_URL + issueKey'; var response = UrlFetchApp.fetch(url, options); return response; } function formatDate(datetime) { var date = new Date(datetime); var formated = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss'); return formated; } |
myFunction()の実行結果の例
以下のようなログが出力されるはずです。
[Done, 2020/03/02 18:15:43]
ステータス変更の履歴を取得したい場合は
JIRAで複数の課題の変更履歴をシートに書き出したい(ステータス変更だけ)
にコードを書きました。
関連記事
JIRAでAPIトークンを取得したい
JIRA APIでissueの変更履歴を取得する
JIRAのJQLにはstatusとstatusCategoryがある