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

2019年4月15日月曜日

Zendesk APIでカスタムフィールドの値に一致するチケットを抽出したい(fieldValue:値)


「このカスタムフィールド」で「この値」が入っているチケットを検索できないかと思っ手調べてみると、現状の仕様ではできないらしい

ということが書かれていました
https://support.zendesk.com/hc/en-us/community/posts/209222988-How-to-search-tickets-by-using-custom-field-



代わりといってはなんですが(と僕が言うものなんですが)

fIeldValue: 値

という形で
すべてのカスタムフィールドを対象に
指定した値を持つチケットを取得することはできるらしい

例えば一意の値をあるカスタムフィールドに入れておいて、その値でAPIをたたけば一発でその値を持つチケットを見つけられそう

今欲しいのはそれなので試してみた

そして実現したコード


コード.gs
var base_url = "https://NAME.zendesk.com";

function getTicket() {
  var options = getOptions();
  var url = base_url + '/api/v2/search.json?query=fieldValue:hello'
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response);
}

function getOptions() {
  var options = {
    "method": "get",
    "contentType": "application/json",
    "headers": getHeaders(),
  }
  return options;
}

function getHeaders() {
  var headers = {
    "Authorization": "Basic " + get_zendesk_token()
  }
  return headers;
}

function get_zendesk_token() {
  return Utilities.base64Encode(getProp('email') + "/token:" + getProp('api_token'));
}

function getProp(key) {
  return PropertiesService.getScriptProperties().getProperty(key);
}


関連記事

Zendesk APIで指定したチケットの情報を取得したい


参考

Searching custom ticket fields
https://support.zendesk.com/hc/en-us/articles/203663206#topic_wly_fev_uc

Latest post

Google Slidesで現在選択している表に値を入れたい4 - Insert values into the active table4

以下リンク先の2と3では、それぞれ行の追加と削除を行いました。 In the linked articles below, rows were added in example 2 and deleted in example 3. Google Slidesで現在選択している表...