検索

27.5. カスタム通知の作成

download PDF

通知フォーム上の各 通知タイプテキストの内容をカスタマイズ できます。

手順

  1. Notification Templates リストビューで Add をクリックします。
  2. Type リストから通知タイプを選択します。
  3. トグルを使用して Customize messages を有効にします。

    通知をカスタマイズする
  4. さまざまなジョブイベントに、次のようなカスタムメッセージを提供できます。

    • 開始メッセージ
    • 成功メッセージボディー
    • エラーメッセージ
    • ワークフロー承認メッセージ
    • ワークフロー拒否メッセージ
    • ワークフロー実行メッセージ
    • Workflow pending message
    • Workflow timed out message

メッセージの形式は、設定している通知の種類によって異なります。たとえば、メールおよび PagerDuty 通知のメッセージは、本文と件名を備えた典型的なメールのように見えます。この場合、Automation controller はフィールドを Message および Message Body として表示します。他の通知タイプでは、イベントのタイプごとに メッセージ のみが必要です。

Message フィールドには、最上位の変数 (id または name など、属性と組み合わされている job) を含むテンプレートを使用して、事前に入力されます。テンプレートは中括弧で囲まれており、事前設定されたメッセージフィールドに示すように、Automation controller によって提供される固定フィールドセットから作成できます。

通知構文のカスタマイズ

この事前入力フィールドは、イベントの通知の受信者に一般的に表示されるメッセージを提案します。必要に応じてジョブに独自の属性を追加することで、さまざまな基準でこれらのメッセージをカスタマイズできます。カスタム通知メッセージは、Jinja (Ansible Playbook で使用されるのと同じテンプレートエンジン) を使用してレンダリングされます。。

以下に概要を示すように、メッセージとメッセージ本文にはさまざまな種類のコンテンツがあります。

  • メッセージは常に文字列のみであり、一行だけです。改行はサポートされていません。
  • メッセージ本文は、ディクショナリーまたはテキストのブロックのいずれかです。

    • Webhook と PagerDuty のメッセージ本文はディクショナリー定義を使用します。これらのデフォルトのメッセージ本文は {{ job_metadata }} です。そのまま使用することも、独自のディクショナリーを提供することもできます。
    • メールのメッセージ本文には、テキストのブロックまたは複数行の文字列が使用されます。デフォルトのメッセージ本文は次のとおりです。

      {{ job_friendly_name }} #{{ job.id }} had status {{ job.status }}, view details at {{ url }} {{ job_metadata }}

      このテキストは、{{ job_metadata }} を残したまま編集することも、{{ job_metadata }} をドロップすることもできます。本文はテキストのブロックであるため、任意の文字列を使用できます。{{ job_metadata }} は、実行中のジョブを説明するフィールドを含むディクショナリーとしてレンダリングされます。いずれの場合も、{{ job_metadata }} には次のフィールドが含まれます。

      • id
      • name
      • url
      • created_by
      • started
      • finished
      • status
      • traceback

        注記

        {{ job_metadata }} 内の個々のフィールドをクエリーすることはできません。通知テンプレートで {{ job_metadata }} を使用すると、すべてのデータが返されます。

        結果のディクショナリーは次のようになります。

        {"id": 18,
         "name": "Project - Space Procedures",
         "url": "https://host/#/jobs/project/18",
         "created_by": "admin",
         "started": "2019-10-26T00:20:45.139356+00:00",
         "finished": "2019-10-26T00:20:55.769713+00:00",
         "status": "successful",
         "traceback": ""
        }

        {{ job_metadata }} がジョブでレンダリングされる場合、次の追加フィールドが含まれます。

      • inventory
      • project
      • Playbook
      • credential
      • limit
      • extra_vars
      • hosts

        結果のディクショナリーは次のようになります。

        {"id": 12,
         "name": "JobTemplate - Launch Rockets",
         "url": "https://host/#/jobs/playbook/12",
         "created_by": "admin",
         "started": "2019-10-26T00:02:07.943774+00:00",
         "finished": null,
         "status": "running",
         "traceback": "",
         "inventory": "Inventory - Fleet",
         "project": "Project - Space Procedures",
         "playbook": "launch.yml",
         "credential": "Credential - Mission Control",
         "limit": "",
         "extra_vars": "{}",
         "hosts": {}
        }

        {{ job_metadata }} がワークフロージョブでレンダリングされる場合、次の追加フィールドが含まれます。

      • body (これはワークフロージョブ内のノードを列挙し、各ノードに関連付けられたジョブの説明を含みます)

        結果のディクショナリーは次のようになります。

        {"id": 14,
         "name": "Workflow Job Template - Launch Mars Mission",
         "url": "https://host/#/workflows/14",
         "created_by": "admin",
         "started": "2019-10-26T00:11:04.554468+00:00",
         "finished": "2019-10-26T00:11:24.249899+00:00",
         "status": "successful",
         "traceback": "",
         "body": "Workflow job summary:
        
                 node #1 spawns job #15, \"Assemble Fleet JT\", which finished with status successful.
                 node #2 spawns job #16, \"Mission Start approval node\", which finished with status successful.\n
                 node #3 spawns job #17, \"Deploy Fleet\", which finished with status successful."
        }

無効な構文や使用できないフィールドの参照を使用する通知テンプレートを作成すると、エラーの内容を示すエラーメッセージが表示されます。通知のカスタムメッセージを削除すると、この場所にはデフォルトのメッセージが表示されます。

重要

カスタムメッセージを編集せずに通知テンプレートを保存した場合 (または編集してデフォルト値に戻した場合)、Details 画面にはデフォルトが表示されるはずで、カスタムメッセージテーブルは表示されません。いずれかの値を編集して保存すると、テーブル全体が Details 画面に表示されます。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.