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がある