LANG SELRCT

コードを書く場所

2019年4月27日土曜日

node-zendeskでチケットを更新してみる(tickets.update)


この記事では
node-zendeks の  tickets.update でチケットの更新をやっていきます


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



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


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

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": "本文です"
        }
      }
    };
  
var ticketId = 16;    
  client.tickets.update(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
{
  "url": "https://NAME.zendesk.com/api/v2/tickets/16.json",
  "id": 16,
  "external_id": null,
  "via": {
    "channel": "api",
    "source": {
      "from": {},
      "to": {},
      "rel": null
    }
  },
  "created_at": "DATETIME",
  "updated_at": "DATETIME",
  "type": null,
  "subject": "テストタイトルです!更新",
  "raw_subject": "テストタイトルです!更新",
  "description": "本文です",
  "priority": null,
  "status": "open",
  "recipient": null,
  "requester_id": ID,
  "submitter_id": ID,
  "assignee_id": ID,
  "organization_id": ID,
  "group_id": ID,
  "collaborator_ids": [],
  "follower_ids": [],
  "email_cc_ids": [],
  "forum_topic_id": null,
  "problem_id": null,
  "has_incidents": false,
  "is_public": true,
  "due_at": null,
  "tags": [],
  "custom_fields": [
    {
      "id": 360018014474,
      "value": null
    },
    {
      "id": 360018442253,
      "value": null
    },
    {
      "id": 360018495613,
      "value": null
    },
    {
      "id": 360017830594,
      "value": null
    },
    {
      "id": 360018428654,
      "value": null
    }
  ],
  "satisfaction_rating": null,
  "sharing_agreement_ids": [],
  "fields": [
    {
      "id": 360018014474,
      "value": null
    },
    {
      "id": 360018442253,
      "value": null
    },
    {
      "id": 360018495613,
      "value": null
    },
    {
      "id": 360017830594,
      "value": null
    },
    {
      "id": 360018428654,
      "value": null
    }
  ],
  "followup_ids": [],
  "brand_id": ID,
  "allow_channelback": false,
  "allow_attachments": true
}


参考

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