クエリパラメータに expand を指定すると、デフォルトでは取得できない情報を response に含めることができるらしいので試してみました
今回試したexpandの例
- var url = ISSUE_URL + key + '?expand=changelog&renderedFields';
- パラメータに renderedFields を追加して課題のフィールド情報を取得する
この記事のコード.gsでやっていること
- 変更履歴を取得して、changelogだけでは取得できない status と statusCategory をrenderedFieldsで取得する
各自の環境で変更する値
- var ISSUE_URL のNAME
- var keyのプロジェクトキー
- var id のEmail
- var api_tokenのAPI TOKEN
コード.gs
var ISSUE_URL = 'https://NAME.atlassian.net/rest/api/2/issue/';
function get_issue_histories(){
var response = get_issue();
var jobj = JSON.parse(response);
var histories = jobj["changelog"]["histories"][0];
var created = histories["created"];
var items = histories["items"][0];
var field = items["field"];
var from = items["fromString"];
var to = items["toString"];
var status = jobj['fields']['status']['name'];
var statusCategory = jobj['fields']['status']['statusCategory']['name'];
Logger.log([field, from, to, created, status, statusCategory]);
}
function get_issue() {
var token = get_token();
var key = "KEY-1";
var options = {
contentType: "application/json",
headers: {"Authorization": " Basic " + token}
};
var url = ISSUE_URL + key + '?expand=changelog&renderedFields';
var response = UrlFetchApp.fetch(url, options);
console.log(response);
return response;
}
function get_token() {
var id = "Email";
var api_token = "API TOKEN";
var token = Utilities.base64Encode(id + ":" + api_token);
return token;
}
|
関連記事
JIRA APIでissueの変更履歴を取得する
JIRAでAPIトークンを取得したい
参考
Expansion
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#expansion