Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

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を取得して返す




Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...