メインコンテンツまでスキップ

アラート

プロジェクトの アラート タブは、タスクの結果をどこに通知するかを決めます。二つの部分から成ります。

  • サーバーチャネル は、管理者がサーバーの config.json で設定した通知プロバイダーです。通知 を参照してください。すべてのプロジェクトで共有され、各プロジェクトが使うかどうかを決めます。
  • プロジェクトアラート は、プロジェクトに属する名前付きの送信先です。Telegram のチャット、Slack の Webhook、メールアドレスの一覧などです。テンプレートとスケジュールがどのアラートを送るかを選びます。

両方を同時に使えます。

プロジェクトのアラートタブ

サーバーチャネル​

ページ上部のカードに、サーバーで設定済みのチャネルが表示されます。このプロジェクトのアラートをサーバーチャネルに送信 をオンにすると、このプロジェクトのすべてのタスク結果がそれらに届きます。これは旧バージョンでプロジェクト設定にあった Allow alerts for this project と同じスイッチです。

サーバーにボットトークンがあれば Telegram が表示され、チャットが未設定の間はグレーになります。チップをクリックしてこのプロジェクトの Telegram Chat ID を入力します。サーバー全体のチャットより優先され、サーバーにチャットがない場合は必須です。

サーバーチャネルは、成功、失敗、確認待ち のすべての状態を通知します。メールは失敗のみ通知します。テンプレートは引き続き成功または失敗の通知を抑制できます。テンプレートのアラート を参照してください。

Telegram チャット ID を開いたサーバーチャネルのカード

プロジェクトアラート​

新しいアラートのメニュー

新しいアラート を押して送信先を作成します。各アラートには次の項目があります。

項目説明
名前テンプレートとスケジュールのフォームに表示されます。プロジェクト内で一意です。
種類チャネル: Telegram、Slack、Email、Microsoft Teams、Rocket.Chat、DingTalk、Gotify。フォームにはチャネルが必要とする送信先項目が表示されます。
送信先Telegram はチャット ID と任意のフォーラムトピック。Slack、Teams、Rocket.Chat、DingTalk は Webhook URL。Gotify はサーバー URL。メールは宛先(空ならプロフィールでアラートを有効にしたプロジェクトメンバーに通知)。
シークレットTelegram、Gotify、メールにはシークレット(ボットトークン、アプリケーショントークン、SMTP 資格情報)が必要です。サーバー設定を使用 はサーバー設定から、自分のものを使用 はキーストアのアクセスキー(トークンは シークレットトークン 型、SMTP は パスワード付きログイン 型)から取得します。独自の資格情報を持つメールアラートは、独自の SMTP ホスト、ポート、送信者、暗号化も設定できます。
送信タイミングアラートが反応するイベント: 成功、失敗、確認待ち。新しいアラートはチャネルの既定値から始まります。
プロジェクトの既定このアラートをプロジェクトの既定の一つとして扱います。プロジェクトの既定を使うすべてのテンプレートが送信します。
有効無効なアラートは送信されず、プロジェクトの既定にもなりません。
メッセージテンプレート本文用の任意の Go テンプレート。組み込みのテキストのままにすると、今後のサーバー更新に追従します。

シークレットはアラートに保存されません。キーストアに暗号化して保管され、アラートが使用している間はキーを削除できません。サーバーにボットトークン、SMTP サーバー、Gotify の組み合わせが設定されていない場合、フォームには 自分のものを使用 だけが表示されます。Webhook URL は http または https を使い、サーバー自身を指すことはできません。

一覧の テストメッセージを送信 で一つのアラートを確認し、ツールバーの すべてテスト でサーバーチャネルを含むプロジェクトの有効な送信先すべてにテストを送ります。

テンプレートやスケジュールに紐付いたアラートは削除できません。ダイアログに使用しているオブジェクトが表示されます。

独自のボットトークンを使う Telegram アラート

メッセージテンプレート​

本文は Go の text/template(メールは html/template)です。使えるフィールドは次のとおりです。

フィールド値
.Nameテンプレート名
.Authorタスクを開始したユーザー名、または —
.Project.Name, .Project.IDプロジェクト
.Playbookテンプレートのプレイブックまたはスクリプト
.ScheduleNameタスクを開始したスケジュール名(ある場合)
.Task.ID, .Task.URLタスク番号とログへのリンク
.Task.Resultアイコン付きの状態、例: ✅ SUCCESS
.Task.Descタスク開始時に入力したメッセージ
.Task.Versionビルドバージョン、デプロイタスクでは入力元のビルドバージョン
.Task.Duration実行時間。タスク開始までは空
.Task.Triggermanual、schedule、integration、api
.ColorSlack と Rocket.Chat の添付の色

チャットチャネルでは、描画結果はメッセンジャーが期待する JSON ドキュメントである必要があります。組み込みテンプレートが良い出発点です。Telegram の本文は HTML 書式付きのプレーンテキストで、チャットとトピックは Semaphore が付加します。

テンプレートのアラート​

タスクテンプレートの 詳細 セクションで、アラート は次から選びます。

  • プロジェクトの既定を使用 — プロジェクトで有効ならサーバーチャネル、それにプロジェクトの既定に指定したアラート。既存のテンプレートはアップグレード後もこの動作を維持します。
  • 独自のアラートセットを使用 — 選択したアラートのみ。何も選ばなければテンプレートは何も送りません。

成功通知を抑制 と エラー通知を抑制 はどちらの選択にも適用されます。確認待ちのタスクの通知は抑制されません。

独自のアラートセットを持つタスクテンプレート

スケジュールのアラート​

スケジュールは テンプレートのアラートを使用 するか、別のアラートセットを使用 できます。後者はそのスケジュールで開始したタスクについてテンプレートの選択を完全に置き換えるため、夜間ジョブはオンコールチャネルに通知し、手動実行は静かなままにできます。

独自のアラートセットを持つスケジュール

タスクの振り分け​

タスクの送信先はタスク作成時に確定します。実行中にアラート、テンプレート、スケジュールを変更しても、そのタスクの通知先は変わりません。各配信はタスク・送信先・イベントごとに記録されるため、高可用性構成でも各メッセージを送るサーバーノードは一つだけです。

バックアップ​

プロジェクトアラートは プロジェクトのバックアップ に含まれます。テンプレートとスケジュールは名前で参照するため、復元したプロジェクトは紐付けを保ちます。アラートはアクセスキーを名前で参照します。他のキーと同様、シークレットの値自体はエクスポートされません。