4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

New Relic の NerdGraph と Jira Automation を使って Errors inbox のステータスを連動させてみた

Last updated at Posted at 2024-12-03

 New Relic の Errors inbox と Jira を連携し、エラーを迅速にチケット化して対応する方法を解説します。ステータス連動の課題をNerdGraph APIとJira Automationで解決し、エラー管理を効率化する方法を紹介します。

NerdGraph API とは?

NerdGraph API は、New Relic のデータや機能に対して直接的にアクセスできる GraphQL ベースの API です。この API を利用することで、Errors inbox のステータスも含め、さまざまなデータ操作が可能になります。

今回のポイント

この記事で紹介しているポイントは、次の2つです。

  1. New Relic の Errors inbox のステータスを NerdGraph を使って変更する方法がわかる
    New Relic の NerdGraph を使って Errors inbox のステータスを変更する方法を紹介します。
  2. Jira Automation を使って NerdGraph を実行する方法がわかる
    Jira Automation を使ってチケットのステータス変更時に NerdGraph を実行して Errors inbox のステータスを変更する方法を紹介します。

最新のアップデートの詳細はこちら
New Relic アップデート一覧

無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!

New Relic の NerdGraph を使って Errors inbox のステータスを変更する

クエリと変数の確認

 Errors inbox のステータスを変更するのに使用する GraphQL クエリと変数を確認します。NerdGraph API Explorer を使うと簡単にGraphQL クエリを作成することができます。

NerdGraph -Errors inboxのステータス変更-
mutation {
  errorsInboxUpdateErrorGroupState(
    id: $errorGroupID
    state: RESOLVED
  ) {
    state
  }
}

変数に ErrorGroupID を使用して対象の ErrorGroup を特定し、 state を RESOLVED に設定しています。

Jira Automation を使って NerdGraph を実行する

 Jira Automation を使ってチケットのステータス変更時に NerdGraph を実行して Errors inbox のステータスを変更するために下記の設定を行います。
 1. Jira に ErrorGroupID をセットするカスタムフィールドを追加する
 2. ErrorGroupID を Jira へ連携する
 3. Jira Automation のルールを作成する

Jira に ErrorGroupID をセットするカスタムフィールドを追加する

 ErrorGroupID をセットするための Jira のカスタムフィールドを作成します。カスタムフィールドの作成方法は、下記の記事を参考にしてください。

ErrorGroupID を Jira へ連携する

 Errors inbox から Jira へ連携する際に ErrorGroupID を連携します。Errors inbox から Jira へ連携する方法は、下記の記事を確認してください。

 テンプレート変数の{{ errorGroup.id }} を使って New Relic からJira のカスタムフィールドに ErrorGroupID を設定します。
作成したカスタムフィールドを Add another field で追加して、テンプレート変数を使用して ErrorGroupID を入力します。

Jira Automation のルールを作成する

 まず Jira の管理画面から「プロジェクト設定」に移動し、「自動化」を選択します。ルールを作成から自動化のルールを新しく作成します。
今回は NerdGraph 実行するために必要な最小限のルールを作成しています。課題のステータスが完了に変更されたことをトリガーにしてルールを実行します。

 ErrorGroupID が空白の場合は、NerdGraph を実行しないように条件を設定します。

 最後に Web リクエストを送信して NerdGraph API を実行します。USリージョンを使用している場合のNerdGraphのエンドポイントは、https://api.newrelic.com/graphqlです。

 Web リクエストの本文はカスタムデータを使用し、下記のクエリを設定します。id の変数はカスタムフィールドから取得して設定します。Jira のスマート値を使うとフィールドの値を取得できます。

Web リクエストの本文
{
	"query": "mutation {errorsInboxUpdateErrorGroupState(id : \"{{issue.customfield_XXXXX}}\", state : RESOLVED) {state}}"
}

ヘッダーに API-Key を追加し、New Relic の API ユーザーキーを設定します。

これで設定は完了です。

新しく Errors inbox で Jira へ連携してください。作成された課題をJira 上でステータス変更すると New Relic の Errors inbox のステータスがResolveに変更されます。

まとめ

 この手順で、New Relic の Errors inbox と Jira を効果的に連携させ、エラーの検出から修正までのプロセスをスムーズに行うことができます。NerdGraph API と Jira Automation の組み合わせは、エラー管理を自動化し、チーム全体での作業効率を向上させる優れた方法です。

 これにより、エラーの見逃しを防ぎ、より迅速な対応が可能となるだけでなく、チームが本来注力すべきビジネスロジックや開発に集中することができるようになります。

 New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!

New Relic株式会社のX(旧Twitter)Qiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?