
Project Description
本記事は米国PagerDuty社のサイトで公開されているインテグレーションガイドをそのまま日本語に翻訳したものです。日本語環境での動作を保証するわけではありません。原文はこちらを参照してください。
Zendeskは一般的なWebベースのチケット発行システムです。 このガイドでは、Zendeskにビルトインされている機能を使ってPagerDutyとインテグレーションする方法を説明します。 これによって、ほんの数時間後にはチームに通知を送信できます。 PagerDutyシステムでは、チームのメンバーに通知する方法と時期を定義できます。 オプションの電子メール解析と双方向インテグレーションを設定して、ZendeskがPagerDutyインシデントを自動検出し、対応するPagerDutyインシデントでアクションが発生したときにPagerDutyが内部メモをZendeskチケットに残すようにすることもできます。 以下のZendeskからPagerDutyへのインテグレーション後に、双方向インテグレーションを設定する基本的な手順を概説します。
PagerDutyでの設定よく使われているもの
- ConfigurationメニューからServicesを選択します。
2.Servicesページ上での設定:インテグレーションのための新しいサービスを作成する場合は、+Add New Serviceをクリックします。既存のサービスにインテグレーションを追加する場合は、インテグレーションを追加したいサービスの名前をクリックします。 その後、Integrations タブをクリックし、+New Integrationボタンをクリックします。
3.Integration Typeメニューからアプリを選択します。 このガイドを使用してJIRAと統合するには、integration typeとしてJIRA Softwareを選択してください。 次に、Integration Nameを入力します。インテグレーション用の新しいサービスを作成する場合は、「General Settings」で、新しいサービスのNameを入力します。 次に、Incident Settingsで、新しいサービスのEscalation Policy、Notification Urgency、Incident Behavior を指定します。
4.Add ServiceまたはAdd Integrationボタンをクリックして、新しいインテグレーションを保存します。すると、サービスのIntegrationsページにリダイレクトされます。
5.新しいインテグレーションのためのIntegration Email をコピーしてください。
Zendeskでの設定
電子メールターゲットの設定
1.ZendeskのUIの左下にあるAdmin cogのアイコンをクリックします。
2.SETTINGSのExtensionsをクリックします。
3.Targetsタブをクリックし、add targetを選択します。
4.Email targetのアイコンを探してクリックします。
5.Title、Email Address(あなたのインテグレーションで設定したアドレスです)、およびSubjectを記入してください。SubjectはZendeskプレースホルダーを使用できます。 このSubjectはPagerDutyアラートの中に表示されます。
注:電子メールアドレスは、先にPagerDutyで作成したIntegration Emailです。 このガイドの後半で説明する、電子メール解析のサンプルに従った電子メール解析および双方向インテグレーションオプションを使用している場合は、チケットIDのプレースホルダーにかっこを追加して設定します。例えば次のように
({{ticket.id}})
ちょうど反対ではこう
{{ticket.id}}
これは以下の例に示されていますが、片方向Zendeskインテグレーションのみを使用している場合(ZendeskインシデントはPagerDutyに送信され、PDでは自動解決なし、PDからZDチケットへの更新は不要の場合)はこれはオプションです。
6.ドロップダウンをターゲットの作成に変更し、「送信」をクリックします。
トリガーを設定する
ZendeskのUIの左下にあるAdmin cogアイコンをクリックします。
2.BUSINESS RULESで、Triggersをクリックします。
3.add triggerをクリックします。
4.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の開始—
はじめに:多くのお客様がZendeskと連携してPagerDutyを使用して、チケットが開かれたり、ステータスが変わったり、SLAから外れたりした場合に、チームや個人に通知します。電子メール管理機能を使用すると、Zendeskチケットのステータスが変更されたとき(チケットが閉じられたとき)にPagerDutyインシデントを自動的に解決できます。この記事では、Zendeskの電子メールインテグレーションによるインシデントのカスタム電子メール管理ルールの作成方法について説明します。
Zendesk Triggers and Email Templatesを復習:
PagerDutyのインシデントを自動的に解決するには、PagerDuty/Zendeskインテグレーションを完了し、Zendeskトリガーと同じく、PagerDutyインテグレーションに届けるための電子メールターゲットを作成する必要があります。Zendeskは、特定のイベントが発生したとき(チケットが開かれたときや解決されたとき)にトリガーを発行します。これらのトリガーは、カスタマイズ可能なテンプレートから電子メールを送信できます。これらの電子メールを使ってインシデントキーを作成し、PagerDutyに新しいインシデントをいつ既存のインシデントに追加するかを指示します。
トリガーと電子メールテンプレートの作成、
以下は、電子メール管理ルールを作成するために使用する2つのZendeskトリガーです。チケットが開かれたときの最初の発火と、チケットが解決されたときの2回目の発砲です。 上記のインテグレーションガイドの例に従えば、チケットID番号が常に件名に表示されるように、PagerDuty/Zendeskインテグレーションに到達する電子メールターゲットが設定されます。 後でこのチケットIDを使用してインシデントキーを作成します。 必要に応じて、チケットのIDを電子メール本文に含めることもできます。
Zendeskトリガーの例
Zendeskチケット(#{{ticket.id}})は{{current_user.organization.name}}によって作成されました。
チケットのステータスを確認してアップデートを追加するには、以下のリンクをクリックしてください:
{{ticket.link}}
Zendeskチケット(#{{ticket.id}})は解決済みとしてマークされています。
チケットのステータスを確認し、アップデートを追加するには、https:// {{ticket.link}}リンクをクリックしてください。
Zendeskトリガーからのメールの例
最初のルール – PagerDutyでのインシデントのトリガー
Zendeskのトリガーがセットアップされたので、PagerDutyで電子メール管理ルールを作成する必要があります。最初のルールでは、PagerDutyでインシデントを作成するために満たす必要のある条件(つまり、Zendeskで作成されたチケット)を定義します。
この例では、Eメール本体にZendeskが作成されている場合にインシデントがトリガーされます。トリガーメールに使用する条件が、復旧メールに記載されている条件と同じでないことを確認してください。また、電子メール管理ルールでは大文字と小文字が区別されるため、作成された電子メールは、作成済みのルールだけでなく、逆も同様です。
次に、新しい電子メールを既存の電子メールに追加するために使用されるインシデントキーを作成します。インシデント・キーは、常にトリガー・メールとリカバリー・メールの両方に表示される一意のIDである必要があります。この場合、PagerDutyに、ZendeskチケットIDに電子メールを追加するように指示します。このIDは、前述の電子メールターゲットごとに、電子メールの件名の括弧内に記載されています(チケットID)。
第2のルール – PagerDutyでのインシデントの解決
2番目のルールでは、PagerDutyに解決されたAND Zendeskが電子メール本文に含まれているインシデントを解決するよう指示します。
最初のルールと同じインシデントキーを使用しますので、PagerDutyはこれらの電子メールが同じインシデントにリンクされており、解決する必要があることを認識しています。
インシデント電子メールがルールに一致しない場合はどうなりますか?
最後に、PagerDutyがルール条件で設定されたルールに合致しない場合に電子メールで行うべきことを指定します。一般的なインシデントを作成するか破棄します。 一般的なインシデントの作成を選択した場合でも、インシデントは作成されますが、いずれのルールとも一致しないか、または解決できる可能性があります。 トリガールールで指定したチケットIDやその他の基準ではなく、インシデントキーが完全な件名として表示されます。
テスト管理ルール
電子メール管理ルールが正しく設定されているかどうかをテストすることは、大まかな経験則です。 これを行うには、インシデントをトリガする電子メールと、インシデントを解決する電子メールを、サービスの[インテグレーション]タブに表示されているインテグレーション電子メールアドレスに転送します。
管理ルールが正しく設定されている場合、インシデントアクティビティログにはインシデントがトリガされてから解決されたものとして表示されます。
おめでとう! Zendeskの電子メールでインシデントを自動的にトリガーして解決することができます。
付録
正規表現を使用してインシデントキーを作成するにはどうすればよいですか?
regexを使用してZendeskインテグレーションのインシデントキーを作成する方法については、インシデントキーの作成時にキャプチャグループを使用する方法を参照してください。
—電子メール管理ガイドの終わり—
上記の手順では、チケットが作成されたときに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計画には含まれていませんが、チーム、プロフェッショナルおよびエンタープライズの計画に含まれています。