• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

通知メッセージテンプレート

通知メッセージのテンプレートを使うと、サードパーティの送信先に送信する前に、通知イベントデータをカスタマイズすることができます。テンプレートは、お客様のカスタム値をサードパーティの送信先で使用される値にマッピングします。

これにより、どのようなデータがどこに送信されるかを完全にコントロールすることができ、お客様が利用するサービスを十分に活用することができます。

メッセージテンプレートの変数

メッセージテンプレートとは、New Relic のイベントデータをサードパーティサービスで利用可能なデータに変換するために使用するものです。変数は、サードパーティサービスのデータフィールドにマッピングされる特定の属性です。

メッセージ テンプレートは、 Handlebarsと呼ばれる単純なテンプレート言語で記述されます。メッセージ テンプレート内の変数は、二重中括弧{{ }}内のとして記述されます。

A screenshot of an example webhook notification message template.

通知メッセージテンプレートを使用して、New Relic の通知を外部サービスのフィールドにマッピングします。

変数メニュー

New Relic の変数名は、メッセージテンプレートの変数メニューに記載されています。変数はサブカテゴリーに分類されています。

変数メニューで、 {{と入力して変数のリストから選択します。 入力すると、変数名がオートコンプリートで表示されます。 変数の型は右側に記述されます。 ワークフローにエンリッチメントがある場合は、 {{と入力するとリストの上部に表示されます。

A screenshot of the variables menu that. shows the breadth of variable options available.

変数メニューには、New Relic の通知フィールドを外部サービスのフィールドにマッピングする際のオプションが表示されます。

重要

accumulations.tag.fooなどの問題固有の変数は、このメタデータを含む問題がすでに存在していない限り表示されません。 問題が発生する前にそれらを含むメッセージ テンプレートを作成するには、以下に説明する#ifステートメントを使用します。

Handlebarsの構文を使う

イベントで通知が発生すると、メッセージテンプレートはハンドルバー変数を使用して、通知データをサードパーティサービスが使用するフィールドにマッピングします。

Handlebars 言語は、基本的な変数置換に加えて、反復 (ループ)、条件ステートメントなど、 ネストされた入力オブジェクト と関数の評価を含む多くの機能を提供します。 ハンドルバーでは、これらの関数はヘルパーと呼ばれます。ワークフローで使用される変数の説明については 、ここをクリック してください。

ヘルパー機能

私たちのメッセージテンプレートは、Handlebars 組み込みヘルパー をサポートしています。

さらに、あなたの役に立つかもしれない他のヘルパーも追加しました。

ヘルパー関数はネストすることもできます。次に例を示します。

{{#eq "a" b}} yes1 {{else}}{{#eq "a" c}} yes2 {{else}} no {{/eq}}{{/eq}}

使用例

例は、 dataという変数に基づいています。

"data": {
"tags":["infra, team-a"],
"id":123456789,
"name": "Alice",
}

data値は、同等のドット表記形式です。

"data.tags": ["infra, team-a"]
"data.id": 123456789
"data.name": "Alice"

データの検証

id123456789と等しい場合、出力はvalidです。そうでない場合、出力はnot validです。

{{eq data.name "Alice" yes='valid' no='not valid'}}

nameAliceと等しい場合、出力はvalidです。

JSONを返す

tagsとオブジェクトのプロパティを JSON 形式で取得します。

{{json data.tags}}

そうすると、次のようなJSONが返ってきます。

["infra", "team-a"]

配列からの値の取得

tags配列から最初のタグを取得します。

{{json data.tags.[0]}}

これは、配列から最初の値を返すことになります。

"infra"

配列の反復処理

配列型の変数をイテレートし、その値を文字列に集約します。

{{#each tags}}{{this}}{{#unless @last}}, {{/unless}}{{/each}}

結果には、カンマで区切られたタグが含まれます(末尾のカンマは省略されます)。

infra, team

同様に、 data変数を反復し、オブジェクトの値を集計して、JSON 要素を出力します。

{{#each (json data)}}{{this}}{{/each}}

これは次のようなJSONを返します。

{
"tags": ["infra, team-a"],
"name": "Alice",
"id": "123456789"
}

data変数を反復処理してから、オブジェクトのエントリを文字列に集約します。

{{#each data}}{{@key}}: {{this}}{{#unless @last}}, {{/unless}}{{/each}}

これは次のような文字列を返します。

tags: infra,team-a, name: Alice, id: 123456789

欠落した属性の処理

以前の号には存在しなかったタグなど、場合によっては、属性が変数メニューにないか、まったく存在しないことがあります。

#ifステートメントを使用して、次のようなフォールバックを設定できます。

{{#if data.type}} {{ json data.type }} {{else}}"N/A"{{/if}}

これにより、文字列"N/A"が返されます。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.