プロジェクトの一覧を取得したくて書いたコードです
以下2つの変数にそれぞれ対象のNAMEとIDを入れて get_result() を実行すると、指定したスプレッドシートにプロジェクト一覧が出力されます。
BASE_URL = 'https://NAME.atlassian.net';
ss_url = "https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0";
tokenの取得方法
JIRAでAPIトークンを取得したい
以下のコード.gsではtokenをスクリプトのプロパティに入れています。
コード.gs
var BASE_URL = 'https://NAME.atlassian.net'; function get_result() { var options = { method: "get", contentType: "application/json", headers: {"Authorization": " Basic " + getToken()} }; var url = BASE_URL + '/rest/api/2/project'; var response = UrlFetchApp.fetch(url, options); //Logger.log(response); parseObj(response) } function parseObj(response) { var jobj = JSON.parse(response); var arrays = []; var values = ["expand", "self", "id", "key", "name", "avatarUrls", "projectCategory", "projectTypeKey", "simplified", "style", "isPrivate"] for(var i = 0; i < jobj.length; i++) { var expand = jobj[i]["expand"]; var self = jobj[i]["self"]; var id = jobj[i]["id"]; var key = jobj[i]["key"]; var name = jobj[i]["name"]; var avatarUrls = jobj[i]["avatarUrls"]; var projectCategory = jobj[i]["projectCategory"]; var projectTypeKey = jobj[i]["projectTypeKey"]; var simplified = jobj[i]["simplified"]; var style = jobj[i]["style"]; var isPrivate = jobj[i]["isPrivate"]; arrays.push([expand, self, id, key, name, avatarUrls, projectCategory, projectTypeKey, simplified, style, isPrivate]); } set_values(arrays); } function set_values(arrays){ var ss_url = "https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0"; var ss = SpreadsheetApp.openByUrl(ss_url); var sh = ss.getSheets()[0]; var last_row = sh.getLastRow(); var start_row = last_row + 1; var start_col = 1; var num_rows = arrays.length; var num_cols = arrays[0].length; Logger.log([start_row, start_col, num_rows, num_cols]) var range = sh.getRange(start_row, start_col, num_rows, num_cols); range.setValues(arrays); } function getToken() { return PropertiesService.getScriptProperties().getProperty('token'); } |
参考
Get all projects
https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-group-Projects