LANG SELRCT

コードを書く場所

2019年4月27日土曜日

node-zendeskでタグを更新してみる(tickets.updateMany)


この記事では
node-zendeks の  tickets.updateMany でチケットにタグを追加します


node-zendesk を使ったことがない場合はまず Example を試しましょう
node-zendeskを使ってみる(Example)



STEP
  1. index.jsを書いて保存する
  2. index.jsを実行する


STEP1:index.jsを書いて保存します
  • username, token, remoteUri は各自の環境に応じたものを入れます
  • subject, body は任意の文字列を設定します
  • ticketIdは対象のものを設定します
  • additional_tagsに任意のタグを配列で設定します

index.js 
var zendesk = require('node-zendesk');

var client = zendesk.createClient({
  username: 'Email',
  token: 'API TOKEN',
  remoteUri: 'https://NAME.zendesk.com/api/v2'
});

var ticket = {
  "ticket": {
    "subject": "テストタイトルです!",
    "comment": {
      "body": "本文です"
    },
    "additional_tags": ["test3"]
  }
};

var ticketId = 16;
client.tickets.updateMany(ticketId, ticket, function(err, req, result) {
  if (err) return handleError(err);
  console.log(JSON.stringify(result, null, 2, true));
});

function handleError(err) {
  console.log(err);
  process.exit(-1);
}




STEP2:実行してみる

ターミナル
index.jsが入っているディレクトリ $ node index.js

zendeskの対象チケットが更新されて、このように返ってきました
MacBook-Air-8:nodezendeskTest NAME$ node index.js
{
  "job_status": {
    "id": "ID",
    "url": "https://NAME.zendesk.com/api/v2/job_statuses/ID.json",
    "total": null,
    "progress": null,
    "status": "queued",
    "message": null,
    "results": null
  }
}



補足
  • updateMany で additional_tags にしないとタグを追加できないようです
  • update と tags でやるとすでに存在しているタグが消えて上書きされます

FYI
Adding tags to tickets without overwriting existing tags


参考

node-zendesk / ReadMe.md / tickets / updateMany
https://github.com/blakmatrix/node-zendesk#tickets