LANG SELRCT

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

Friday, December 6, 2019

JIRA APIでラベルを追加したい


課題作成時にラベルを追加する場合はこう書くらしい

{
  fields:
  {
    labels: ["ラベル1", "ラベル2"]
  }
};





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

function doPost() {
  var payload = get_payload();
  var options = get_options(payload);
  var response = UrlFetchApp.fetch(BASE_URL + "issue/", options);
  var key = get_key(response);
  Logger.log(key);
}

function get_payload(values) {
  var email = Session.getActiveUser().getEmail();
  var data = {
    project: {key: "KT"},
    issuetype: {name: "Task"},
    priority: {name: 'Medium'},
    summary: "たいとる",
    description: "タスクの説明です\n説明の2行め",
    //customfield_10026: "対象のカスタムフィールドに入れる値",
    reporter: {id: getAccountId()},
    labels: ["ラベル1", "ラベル2"]
  };
  var fields = {fields: data};
  var payload = JSON.stringify(fields);
  return payload;
}

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

function get_key(response){
  var jobj = JSON.parse(response);
  var key = jobj["key"];
  return key;
}


function getAccountId() {
  var project = 'KT';//プロジェクトを指定する
  var email = Session.getActiveUser().getEmail();
  var url = BASE_URL + 'user/search?query=' + email;
    var options = {
    method: "get",
    contentType: "application/json",
    headers: {"Authorization": " Basic " + getToken()}
  }
  var response = UrlFetchApp.fetch(url, options);
  var jobj = JSON.parse(response);
  var accountInfo = getAccountInfo(jobj, email);
  var accountId = accountInfo['accountId'];
  return accountId;
}

function getAccountInfo(jobj, email) {
  var accountInfo;
  for(var i = 0; i < jobj.length; i++) {
    var emailAddress = jobj[i]['emailAddress'];
    if(emailAddress === email) {
      accountInfo = jobj[i];
    }
  }
  return accountInfo;
}  


関連記事

JIRA APIでissueを作成する
JIRAのAPIでemailからaccountIdを取得したい


Latest post

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

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