クエリパラメータに 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