LANG SELRCT

コードを書く場所

2019年7月31日水曜日

JIRA APIで解決状況をPUTで更新したい


解決状況「Done」になっている課題を


「Won't Do」に更新したい



事前準備
スクリプトプロパティにtokenを保存しておく



コード.gsで以下を各自変更しておく
  • BASE_URLのSITENAME
  • urlのKT-7を各自の課題キー




コード.gs
var BASE_URL = 'https://SITENAME.atlassian.net';


function updateIssue() {
  var payload = get_payload();
  var options = get_options(payload);
  var url = BASE_URL + '/rest/api/3/issue/' + 'KT-7';
  UrlFetchApp.fetch(url, options);
}

function get_payload() {
  var data = {
    resolution: {'name': "Won't Do"}
  };
  var fields = {fields: data};
  var payload = JSON.stringify(fields);
  return payload;
}

function get_options() {
  var options = {
    method: 'put',
    contentType: 'application/json',
    headers: {'Authorization': ' Basic ' + getToken()},
    payload: get_payload()
  };
  return options;
}

function getToken() {
  return PropertiesService.getScriptProperties().getProperty('token');
}


実行すると、get_payload()のresolutionのnameで指定した解決状況に変更されます。

参考

JIRA REST: Set resolution upon transition to resolved
https://community.atlassian.com/t5/Jira-questions/JIRA-REST-Set-resolution-upon-transition-to-resolved/qaq-p/357989