DOCS
インテグレーションガイド / Zendesk
本記事は米国PagerDuty社のサイトで公開されているインテグレーションガイドをそのまま日本語に翻訳したものです。日本語環境での動作を保証するわけではありません。原文はこちらを参照してください。
Zendeskは一般的なWebベースのチケット発行システムです。 このガイドでは、Zendeskにビルトインされている機能を使ってPagerDutyとインテグレーションする方法を説明します。 これによって、ほんの数時間後にはチームに通知を送信できます。 PagerDutyシステムでは、チームのメンバーに通知する方法と時期を定義できます。 オプションの電子メール解析と双方向インテグレーションを設定して、ZendeskがPagerDutyインシデントを自動検出し、対応するPagerDutyインシデントでアクションが発生したときにPagerDutyが内部メモをZendeskチケットに残すようにすることもできます。 以下のZendeskからPagerDutyへのインテグレーション後に、双方向インテグレーションを設定する基本的な手順を概説します。
PagerDutyでの設定よく使われているもの
-
ConfigurationメニューからServicesを選択します。
-
Servicesページ上での設定:インテグレーションのための新しいサービスを作成する場合は、+Add New Serviceをクリックします。既存のサービスにインテグレーションを追加する場合は、インテグレーションを追加したいサービスの名前をクリックします。 その後、Integrations タブをクリックし、+New Integrationボタンをクリックします。
-
Integration Typeメニューからアプリを選択します。 このガイドを使用してJIRAと統合するには、integration typeとしてJIRA Softwareを選択してください。 次に、Integration Nameを入力します。インテグレーション用の新しいサービスを作成する場合は、「General Settings」で、新しいサービスのNameを入力します。 次に、Incident Settingsで、新しいサービスのEscalation Policy、Notification Urgency、Incident Behavior[ を指定します。
-
Add ServiceまたはAdd Integrationボタンをクリックして、新しいインテグレーションを保存します。すると、サービスのIntegrationsページにリダイレクトされます。
-
新しいインテグレーションのためのIntegration Email をコピーしてください。
Zendeskでの設定
電子メールターゲットの設定
-
ZendeskのUIの左下にあるAdmin cogのアイコンをクリックします。
-
SETTINGSのExtensionsをクリックします。
-
Targetsタブをクリックし、add targetを選択します。
-
Email targetのアイコンを探してクリックします。
-
Title、Email Address(あなたのインテグレーションで設定したアドレスです)、およびSubjectを記入してください。SubjectはZendeskプレースホルダーを使用できます。 このSubjectはPagerDutyアラートの中に表示されます。
注:電子メールアドレスは、先にPagerDutyで作成したIntegration Emailです。 このガイドの後半で説明する、電子メール解析のサンプルに従った電子メール解析および双方向インテグレーションオプションを使用している場合は、チケットIDのプレースホルダーにかっこを追加して設定します。例えば次のように
({{ticket.id}})
ちょうど反対ではこう
{{ticket.id}}
これは以下の例に示されていますが、片方向Zendeskインテグレーションのみを使用している場合(ZendeskインシデントはPagerDutyに送信され、PDでは自動解決なし、PDからZDチケットへの更新は不要の場合)はこれはオプションです。
-
ドロップダウンをターゲットの作成に変更し、「送信」をクリックします。
トリガーを設定する
-
ZendeskのUIの左下にあるAdmin cogアイコンをクリックします。
-
BUSINESS RULESで、Triggersをクリックします。
-
add triggerをクリックします。
-
Trigger titleを入力し、PagerDutyアラートをトリガーする条件を調整します。 以下の例では、新しいZendeskチケットが作成されるたびにPagerDutyアラートをトリガーしますが、条件は異なる場合があります。 Perform these actionsで、Notifications: Notify targetを選択して、先に作成したターゲットを選択します。 PagerDuty通知に含めるメッセージを入力します。 このフィールドは、Zendeskプレースホルダでもカスタマイズできます。 設定が完了したら、Add triggerをクリックします。
以下は、サンプルメッセージに使用したテキストです。
A new Zendesk ticket (#{{ticket.id}}) has been created.To review the status of the ticket and add updates, follow the link below:http://{{ticket.url}} {ticket.comments_formatted}}
これでZendesk内のチケットを受け取ったとき:
対応するインシデントもPagerDuty内でトリガーされます。
電子メール管理と双方向インテグレーションのセットアップ
Zendesk Email Management Guide
-—Zendesk Email Management Guideの開始—
上記の手順では、チケットが作成されたときにPagerDutyに通知を送信するようにZendeskを設定しますが、PagerDutyインシデントを自動検出するようにZendeskを設定し、対応するインシデントがトリガー、アックされるか解決されたときにZendeskチケットにコメントするようPagerDutyを設定することもできます 。 Zendeskが自動的にPagerDutyインシデントを解決するようにするには、上記のZendeskメール管理ガイドに従ってください。 電子メール管理の例を厳密に守っている場合は、Zendeskの電子メールターゲットを編集し、チケットIDのプレースホルダの周りにかっこを追加してください。
({{ticket.id}})
ちょうど反対に使用されるべきです
{{ticket.id}}
(この設定のスクリーンショットについては、上のZendeskの電子メールターゲットの設定を参照してください)。
双方向インテグレーションを使用するには、Herokuアカウントを既に設定しておく必要があります。 Zendeskの基本的なインテグレーション、電子メール管理ルール、Herokuアカウントを設定したら:
-
PagerDutyで電子メール管理ルールがticket_id(カスタムフィールドとして)を抽出し、Zendeskトリガーから送信される情報と一致することを確認します。 あなたのルールは多少異なるかもしれませんが、ticket_idは双方向のインテグレーションに必要であるため、ZendeskからPagerDutyに送信されていることを確認し、管理ルールで抽出する必要があります。 次に例を示します。
-
また、Zendeskアカウントで作成された新しいチケットにタグpd_integrationを追加する必要があります。 これを手動で各チケットに追加することはできますが、この例ではPagerDutyに通知するだけでなく、新しいチケットが作成されたときにこのタグを追加するトリガーも作成しました。 また、ここでは、チケットID(Zendeskプレースホルダー:{{ticket.id}})がトリガーメッセージで定義されている場所を指摘しました。 以下のトリガーは、このガイドの前半の例に従いますが、チケットIDがメッセージに含まれ、正しく抽出されている限り、このメッセージをカスタマイズできます。
-
PagerDutyとZendeskでルールとトリガーを設定したら、次のリンクをクリックして、「Herokuに展開する:https://github.com/ryanhoskin/pd2zendesk 」をクリックします。 Zendesk_USERNAME(あなたのZendeskログインメール)、ZENDESK_API_TOKEN(ZendeskのAdmin> Channels> APIにアクセスしてトークンを表示/作成する)、ZENDESK_SUBDOMAIN、PAGERDUTY_API_TOKENを入力すると、あなたのHerokuアカウントにアプリが作成されます。 (PagerDutyのあなたのAPIアクセスページから)、PAGERDUTY_SUBDOMAIN。 これらの情報を入力したら、[展開]をクリックします。
-
[アプリが正常にデプロイされました]というメッセージが表示されたら、[表示する]を右クリックしてリンクアドレスをコピーするか、[表示する]をクリックし、ブラウザのアドレスバーからURLをコピーします。 PagerDuty Zendeskサービスで、[Integrations]タブをクリックし、[Add an extension]をクリックします。 エクステンション・タイプでGeneric Webhookを選択し、WebHookの名前を入力して、コピーしたHeroku URLを「エンドポイントURL」フィールドに貼り付けます。 webhookを保存する前に、pd2zendesk.phpをURLの末尾に追加すると、完成した製品はhttps:// [YOUR-HEROKU-APP-NAME] .herokuapp.com / pd2zendesk.phpとなります。 [保存]をクリックします。 これで、インテグレーションをテストできます。
-
テストする:新しいZendeskチケットを作成します。 チケットを開いたままにして、変更が自動的に更新されるようにすることができます。 トリガを設定していない場合はpd_integrationタグを追加してください。タグが追加されると、チケットにPagerDutyでチケットがトリガされたことを示すチケットが内部に表示され、インシデントへのリンクが表示されます 。
-
PagerDutyでその事件を確認します。 Zendeskのチケットには、PagerDutyの事件が認められていることを示す内部メモが表示されます。
-
PagerDutyで事件を解決する。 ZendeskのチケットにPagerDutyの事件が解決されたことを示す内部メモが表示されます。
-
オプション:このインテグレーションをカスタマイズするには、PagerDutyインテグレーションによって追加されたコメントテキストに基づいて、Zendeskチケットで異なるアクションを実行するトリガーを追加します。 Zendeskトリガを作成する際には、可能な限りの範囲でオプションを調べるべきですが、ここにいくつかのアイデアがあります:
-
「このチケットが承認されました」または「このチケットが解決されました」というコメントテキストに基づいて、チケットステータスを開く、保留中、保留中、または解決済みに設定します。
-
コメントテキストに基づいて特定のZendeskエージェントにチケットを割り当てます。
-
コメントテキストに基づいてZendeskタグまたは優先順位を設定します。
よくある質問
Zendeskのチケットは自動的にPagerDutyインシデントを解決しますか?
はい、この記事のZendeskメール管理ガイドのセクションの手順に従ってください。
Zendeskを複数のPagerDutyサービスで動作させるようにセットアップするにはどうしたらいいですか?
複数のPagerDutyサービスでZendeskを使用するには、Zendeskの電子メールターゲットとそれぞれのサービスに固有のトリガを使用して複数のPagerDutyサービスを設定します。インテグレーションに関する問題が発生した場合は、サポートチームにお問い合わせください。
Zendeskにとって、私はEssential計画を持っています。 私はこのインテグレーションを利用できますか?
このインテグレーションは、外部ターゲットに通知するZendesk機能でのみ機能します。 外部ターゲットに通知することは、Essential計画には含まれていませんが、チーム、プロフェッショナルおよびエンタープライズの計画に含まれています。