LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Monday, March 2, 2020

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

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...