「このカスタムフィールド」で「この値」が入っているチケットを検索できないかと思っ手調べてみると、現状の仕様ではできないらしい
ということが書かれていました
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