Apps Script公式リファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2020年3月2日月曜日

JIRA APIでステータスカテゴリの最終変更日時を取得したい


JIRAには課題の状態を表す値が2つあります
  1. ステータ
  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がある

Latest post

Google Apps Scriptの障害時はIssueTrackerを見てみる - Incidents for Apps Script are reported on Issue Tracker

IssueTracker > Apps Script issues https://issuetracker.google.com/savedsearches/566234 Google Apps Scriptの障害時は IssueTracker に課題が上がっていることが...