LANG SELRCT

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

2020年2月4日火曜日

Salesforce APIでCaseにコメントを追加したい


ちょうどよいリファレンスが見つからなくて
何度か失敗しましたがこれでできました。


Caseにコメントを追加するエンドポイント
/services/data/v47.0/sobjects/CaseComment


POSTで渡すデータの形
function createPayload() {
  var obj = {
    "ParentId": "CASE ID",
    "CommentBody" : "追加したいコメント"
  }
  var json = JSON.stringify(obj);
  return json;
}



ここで使うCase IDとは
対象ケースを開いた時にアドレスバーのCase/の後に表示される文字列↓




事前準備

接続アプリケーションを作成して
アクセストークンなどのデータをスクリプトのプロパティに保存しておく

手順は以下のブログに書きました。

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)



コード.gs
function postData() {
  var options = {
    "method": "POST",
    "headers": {
      "Authorization": "Bearer " + getProp("access_token"),
      "Content-Type": "application/json"
    },
    "payload": createPayload(),
  }
  
  var url = getProp("instance_url") + "/services/data/v47.0/sobjects/CaseComment";
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response);
}

function createPayload() {
  var obj = {
    "ParentId": "5002w000002HSlkAAG",
    "CommentBody" : "APIでコメント追加。"
  }
  var json = JSON.stringify(obj);
  return json;
}


postData()を実行すると、以下のような結果が返ってきました。

実行結果
{"id":"00a2w000000DatvAAC","success":true,"errors":[]}


これでケースコメントに新規追加できました。



関連記事

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)


参考

レコードの操作
https://developer.salesforce.com/docs/atlas.ja-jp.222.0.api_rest.meta/api_rest/using_resources_working_with_records.htm

サンプルコードを実行する
https://developer.salesforce.com/docs/atlas.ja-jp.222.0.api_rest.meta/api_rest/quickstart_code.htm

最新の投稿

JIRAのAutomation rulesでglobal ruleとmultiple projectsには実行Limitがあるらしい(スタンダードプラン)

JIRAのスタンダードプランの場合 Automation rulesのScopeの設定で、multi-project か global rule だと実行数のLimitにかかる可能性があります。 Single-project なら使用量にカウントされないようです。 Limitにか...