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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

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

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

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

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

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

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

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

変数メニュー

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

変数メニューで{{と入力して、変数のリストから選択します。入力すると、オートコンプリートによって変数名が表示されます。変数の型は右側に書かれています。これらの変数に強化されたデータを追加できます。

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

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.