LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2019年10月19日土曜日

JIRAのリンクされた課題をAPIで追加したい


以下のように「リンクされた課題」をAPIで設定したくて書いたコードです。





Blocksにする例

コード.gs
var ENDPOINT = "https://SITENAME.atlassian.net/rest/api/3/issueLink";

function doPost() {
  var payload = getPayload();
  var options = getOptions(payload);
  var response = UrlFetchApp.fetch(ENDPOINT, options);
  Logger.log(response.getResponseCode());
}

function getPayload(values) {
  var data = {
    "type": {
      "name": "Blocks"
    },
    "inwardIssue": {
      "key": "KT-9"
    },
    "outwardIssue": {
      "key": "KT-8"
    }
  }
  var payload = JSON.stringify(data);
  return payload;
}

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

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

意訳
実行するAPIのENDPOINTを指定する

この機能がやること
payloadを取得する
optionsを取得する
ENDPOINTにoptionsを渡して結果を取得する
getResponseCodeをログに出す


この機能がやること
dataオブジェクトを作って
typeは
Blocks

inwardIssueは
KT-9(KT-9のリンクされた課題にblocksでKT-8を追加する)

outwardIssueは
KT-8(KT-8のリンクされた課題にis blocked byでKT-9を追加する)


dataをJSONにして
返す


この機能がやること
optionsオブジェクトを作って
methodはpostにして
payloadには引数で渡されたpayloadを指定して
contentTypeはapplication/jsonにして
headersにはスクリプトのプロパティに入れたtokenをgetToken()で取得して

optionsを返す


この昨日がやること
スクリプトのプロパティにあるのtokenを取得して返す




最新の投稿

JIRA APIで選択リスト(複数選択)を課題作成時に選択してPOSTしたい

JIRA APIを利用して選択リスト(複数選択)フィールドに値を入れたくて書いたコードです。 コード.gsのこの部分で複数選択の値を選択できました。 customfield_10043 は手元のJIRAでの選択リスト(複数選択)のフィールドIDなので、各自の環境によって異なります...