DOCS
インテグレーションガイド / Jira Server
本記事は米国PagerDuty社のサイトで公開されているものを日本語訳したものです。原文はこちらです。
この インテグレーションは、 Atlassian MarketplaceからダウンロードできるJira Server(自己ホスト型)7.2+用です。Jira Cloudを使用する場合は、Jira Cloud エクステンションガイドを参照してください。
PagerDutyのJira Serverとのインテグレーションを使うと、Atlassian Jira Softwareとの間で双方向の同期ができます。PagerDutyでトリガーされたインシデントは、Jiraの課題(issue)を自動的に開くことができます。また、問題が発生していないフィールドであってもカスタムフィールドであっても問題のフィールドに値を設定できます。Jiraの課題は、PagerDutyのインシデントを誘発し、チームに時間の敏感な問題を通知するのに役立ちます。
その他の機能としては、インシデント優先度の同期、メモの同期化、状態マッピングなどがあります。
この統合により、Jira Service Deskもサポートします。
PagerDuty認証トークンを作成する
PagerDutyでは、Jira Serverエクステンションを追加する必要があります。下記の操作でユニークな認証トークンが作成されます。トークンは次のステップのJiraでの設定で使用されます。
- 構成 メニューから拡張機能を選択します。
- 新しい拡張機能をクリックし、 Jira Serverを選択します 。Jira Serverの設定ページを開くように求められます。
- Jira Serverの設定ページで、このガイドの後半で使用する認証トークンをコピーします。
- Jira Serverアプリケーションにログインします。注: JiraのPagerDutyアドオンに認証トークンを貼り付けるまで、PagerDutyをJira Serverに接続することはできません。
JiraにPagerDutyプラグインを追加する
Jira側ではPagerDutyプラグインをダウンロードし、PagerDuty認証トークンを追加する必要があります。
注:これらの手順を設定するには、Jira での管理者権限が必要です。
- 右上のJira AdministrationメニューからAdd Onsをクリックします。
- Add-ons をクリックし , Astlassian MarketplaceでFind new add-onsをクリックします。PagerDuty Jira Server Extensionを検索し、 Install ボタンをクリックします。
- Manage Add Onページに戻った後、 PagerDuty Add On を選択し、Configureをクリックします。
- PagerDutyのエクステンションの設定からコピーしたAuthentication Tokenを追加し、Saveをクリックします。
- PagerDutyという名前のユーザーアカウントがJiraで作成され、該当する課題/プロジェクトへの書き込みアクセス権があることを確認してください。
PagerDutyをJira Serverに追加する
最後のステップは、PagerDutyをJiraに接続し、PagerDutyサービスとJiraプロジェクトの間のマッピングを設定することです。
-
JiraサーバーのURLを追加し、Connect JIRA Server をクリックします。
-
接続が成功した場合は、PagerDutyサービスとそれに対応するJiraプロジェクトを選択できるはずです。両方を選択したら、 Connect JIRA Projectをクリックします。
-
接続後、次のことができる設定ページが表示されます。
- Configuration Name を選択します。Jiraプロジェクトの名前を使用することをお勧めします。たとえば、「Create Bug(Project Name)」と入力します。
- Jira Issue Type を選択します。
- Create Issues Mode を選択します。
- Manually:インシデントの詳細の[その他の操作]ボタンの下の[構成名]をクリックする必要があります。
- Automatically:PagerDutyは自動的にJiraの問題を作成します。
- Jiraの課題がJQL(Jira Query Language)と一致する場合、自動的にPagerDutyインシデントを作成するようにJQL文を作成します。 注:この課題は、同じJiraプロジェクトに存在し、同じJira Issueタイプでなければなりません。
- PagerDutyのインシデントのステータスをJiraの課題のステータスにマップします。
- 必要に応じて、PagerDutyのインシデント優先度とJira優先度を同期させます。
- 必要に応じて、PagerDuty AttributeとJira Issue Field Nameの間でカスタムフィールドを同期させます。
-
PagerDutyとJIRAサーバの間の接続をテストするには、Create Test Issueをクリックします。 モーダル(ダイアログ)の上部に成功メッセージが表示され、新しいチケットがJIRAに表示されます。
-
Save をクリックすると完了です!
よくある質問
この統合でJiraにはどのようなアイテムが作成されますか?
Atlassian Marketplaceからアドオンをインストールすると、Jira内にPagerDutyという名前のユーザーが作成されます。このユーザーには、PagerDutyにリンクする予定のプロジェクトの管理者権限が必要です。
JIRA Serverがファイアウォールの内側にある場合はどうなりますか?
PagerDutyとJIRA Serverの双方向の統合を可能にするには、PagerDutyからの着信トラフィックを許可するようにファイアウォールを設定する必要があります。このIPアドレスおよびホワイトリストに登録するべきIPアドレスの詳細については、 Knowledgebaseを参照してください。特に、PagerDuty webhookとREST APIの IPをホワイトリストに登録する必要があります。
JIRA Server インテグレーションは必須のカスタムフィールドをサポートしていますか?
はい。PagerDutyにJiraフィールドを設定させることができます。これは、PagerDutyでインテグレーションを設定するときに定義できます。
テストインシデントをトリガーすると、”Sorry, you can’t create any issues right now, as you need to have access to a JIRA application to be able to create issues”というエラーが表示されます。どうすれば解決できますか?
この拡張が作成されると、JIRAでPagerDutyというユーザーを作成する必要があります。このユーザーは、統合が機能するために、該当する問題/プロジェクトへの書き込みアクセス権が必要です。
これが正しく設定されていることを確認するには、JIRAで次の手順を実行します。
- JIRAアカウントで、右上にある歯車アイコン() を選んでUser Managementボタンをクリックします。
- Jiraの管理者名とパスワードの入力を求められます。
- PagerDutyユーザーを選択します。
- PagerDutyユーザーを選択した後、 右上にあるView Project Roles ボタンを選択し てください。その後、特定のJiraプロジェクトの権限に移動する必要があります。 (** NOTE:JIRAでのユーザーの名前はPagerDutyでなければなりません。他の名前、例えばPagerDuty1とすると、動作しません)。
このユーザーのアクセス許可を設定したら、再度テストインシデントを送信してみてください。
優先順位をJiraからPagerDutyにマッピングするにはどうすればよいですか?
JiraプロジェクトをPagerDutyに接続する際に、同時に優先順位をマッピングできます。既にあるJiraプロジェクトのための優先度マッピングを追加または変更するには、PagerDutyのJira Serverエクステンションページに移動し、該当するJiraプロジェクトの 歯車アイコン()を選び Edit を選択します。⚙️
特定のJiraの課題(issue)のみでインシデントをトリガーさせたい場合はどうすればよいですか?
PagerDuty側の設定でJQLを使用することで、PagerDutyインシデントをトリガーする条件をより細かく制御できます。そのための設定メニューはPagerDutyアカウントのExtensionsに移動すると見つけることができます。Jira Server Extensionを選択すると、歯車アイコン()を選択して既存のService to Projectマッピングを編集できますし、新しいマッピングを追加することもできます。JQL文を最初にJiraでテストして、PagerDutyインシデントを引き起こしたい課題のマッチすることを確認することがとれも大事です。たとえば、優先度の高いチケットがSRE Projectで開かれている場合にのみPagerDutyインシデントをトリガーしたいとします。私が使用する JQL は次のようになります。⚙️
(status = Open AND project = SRE ) AND priority = High OR priority = Highest
追加するプロジェクトごとに異なるJQLを使用することができます。したがって、すべてのJira Projectsに対するキャッチオール型のJQL文を作る必要はありません。
注: JQLを使用したPagerDutyインシデントの自動作成は、新規および既存のJiraの課題のどちらでも引き起こされる可能性があります。
Jiraに認証トークンを保存しようとすると、エラーが表示されます。どうしてでしょうか?
この問題の最も一般的な原因は、Jira Serverからapp.pagerduty.comにアクセスできないからです。この場合、IPアドレスがホワイトリストに登録されていることを確認するために、ネットワークとファイアウォールの設定を確認する必要があります。詳細はこちらをください。究極の場合は、認証トークンの有効期限が切れて、無効になっている可能性があります。PagerDutyから取得した認証トークンは15分後に失効してしまうため、PagerDutyでトークンを生成して15分以上経ってからJiraに追加する場合は、PagerDutyページを更新して新しいトークンを生成する必要があります。 JiraプロジェクトをPagerDutyにリンクする際にエラーが発生し、プロジェクトが追加できません
PagerDutyのIPアドレスをホワイトリストに登録したことを確認済みなら、SSL証明書を確認してください。HTTPをサポートしていても、JiraインスタンスのSSL証明書の有効期限が切れているか無効である場合は、この問題が発生します。
PagerDutyから”Create a Test Issue”クリックしてみても、エラーが表示されたり、Jiraインスタンスに何も作成されなかったりします
以下の点をダブルチェックしてみてください。 - Jiraの中に、「PagerDuty」ユーザーが存在し、チケットを開こうとしているプロジェクトに対する管理者権限を持っている。 - Jiraでは、必須フィールドがあるかどうかを確認します。そうであれば、PagerDutyでの統合を設定するときに、PagerDutyフィールドを必須のJiraフィールドと同期させる必要があります 。 - PagerDuty内で、”API Key for add-on JIRA Server” という説明を含むv2 REST APIキーがあることを確認します。
PagerDutyから入力できるJiraフィールドのタイプは何ですか?
JiraのPagerDutyとの統合により、以下のタイプのフィールドを設定できます。
- 文字列をとるフィールド
- ラベル
- 番号フィールド
- リストを選択(単一選択と複数選択)
- テキストフィールド(単一行と複数行)
- URL
- ユーザーピッカー(シングルユーザー)
PagerDutyの labelフィールドにはどのように入力できますか?
PagerDutyでJiraプロジェクトを設定している間、このフィールドに値を入力できます。
- New Field ボタンをクリックして、データを同期するためのカスタムフィールドを作成します。
- PagerDuty AttributeとしてConstant valueを選択します 。
- テキストボックス入力が表示されます。label フィールドに使用する値を入力します。カンマを区切り記号として使用して複数の値を追加できます。(IE: 青、赤 )