We're updating our terminology in Jira

'Issue' is changing to 'work item'. You might notice some inconsistencies while this big change takes place.

Airbrake と統合する

この記事では、Jira Service Management Cloud の一部のお客様に段階的に展開されている、Jira Service Management でネイティブに利用できる新しいアラート機能を取り上げています。ご利用のサイトにはまだ表示されていないか、利用できない可能性があります。

Airbrake ロゴ

統合でできるようになること

Jira Service Management の Airbrake 統合を使用して、Airbrake インシデントを Jira Service Management に転送します。Jira Service Management は、オンコール スケジュールに基づいて通知すべき担当者を決定します。メール、テキスト メッセージ(SMS)、電話、iOS や Android のプッシュ通知による通知を行い、アラートが承認またはクローズされるまでアラートをエスカレートします。

統合による機能

Airbrake でエラー(インシデント)がキャプチャされると、Jira Service Management でアラートが作成されます。

統合をセットアップする

Airbrake は API ベースの統合です。設定は次の手順で行います。

  • Jira Service ManagementAirbrake 統合を追加する

  • Airbrake で統合を設定する

Airbrake 統合を追加する

双方向統合は Free プランと Standard プランではサポートされていません。他のすべての統合は FreeStandard でチーム レベルでサポートされています。ただし、送信統合を機能させるには、上位のプランにアップグレードする必要があります。Settings (歯車アイコン) > Products (Jira 設定の下) > OPERATIONS からサイト レベルで統合を追加できるのは、Premium プランと Enterprise プランのみです。

統合をチームの運用ページから追加すると、そのチームが統合の所有者になります。つまり、Jira Service Management は、この統合を通じて受信したアラートをチームにのみ割り当てます。

Jira Service ManagementAirbrake 統合を追加するには、次の手順を実行します。

  1. チームの運用ページに移動します。

  2. 左側のナビゲーション パネルで、[統合] > [統合を追加] の順に選択します。

  3. Airbrake」を検索して、選択します。

  4. 次の画面で、統合の名前を入力します。

  5. オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。

  6. [Continue] を選択します。
    この時点で、統合が保存されます。

  7. [統合を設定する手順] セクションを展開して、API URL をコピーします。
    この URL は、後ほど Airbrake で統合を設定する際に使用します。

  8. [統合をオンにする] を選択します。
    統合のために作成したルールは、統合をオンにした場合にのみ機能します。

Airbrake の統合を設定する

AirbrakeJira Service Management の統合を設定するには、次の手順を実行します。

  1. Airbrake で、プロジェクト ページから [統合] に移動します。

  2. [Webhook] を選択します。

  3. 先ほどコピーした Webhook URL を [Webhook URL] に貼り付けます。

  4. [保存] を選択します。

アラート プロパティは、Jira Service Management の「統合の設定」ページで設定できます。

Airbrake からの Webhook メッセージの例

JSON

{ "error": { "id": 37463546, "error_message": "RuntimeError: You threw an exception for testing", "error_class": "RuntimeError", "file": "[PROJECT_ROOT]/app/controllers/pages_controller.rb", "line_number": 35, "project": { "id": 1055, "name": "AirbrakeProject" }, "last_notice": { "id": 4505303522, "request_method": "metot", "request_url": "http://airbrake.io:445/pages/exception_test", "backtrace": [ "[PROJECT_ROOT]/app/controllers/pages_controller.rb:35:in `exception_tester'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:19:in `_call'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:11:in `call_without_newrelic'" ] }, "environment": "production", "first_occurred_at": "2012-02-23T22:03:03Z", "last_occurred_at": "2012-03-21T08:37:15Z", "times_occurred": 118 } }

Jira Service Management ではペイロードは次のように解析されます。

{ "error_id": 37463546, "error_message": "RuntimeError: You threw an exception for testing", "file": "[PROJECT_ROOT]/app/controllers/pages_controller.rb", "line_number": 35, "project_id": 1055, "project_name": "AirbrakeProject", "environment": "production", "first_occurred_at": "2012-02-23T22:03:03Z", "last_occurred_at": "2012-03-21T08:37:15Z", "times_occurred": 118, "last_notice_request_method": "metot", "last_notice_request_url": "http://airbrake.io:445/pages/exception_test", "last_notice_backtrace": [ "[PROJECT_ROOT]/app/controllers/pages_controller.rb:35:in `exception_tester'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:19:in `_call'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:11:in `call_without_newrelic'" ] }

 

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。