チュートリアル: Azure SRE エージェントで HTTP トリガーを作成する

このチュートリアルでは、コンテナー アプリでコンプライアンス チェックを実行する HTTP トリガーを作成します。 ポータルとコマンド ラインからテストし、継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインに統合します。

推定時間: 10 分

このチュートリアルでは、次の操作を行います。

  • コンプライアンス チェック プロンプトを使用して HTTP トリガーを作成します。
  • [今すぐ実行] を使用して、ポータルからトリガーをテストします。
  • JSON ペイロードを使用してコマンド ラインからトリガーを呼び出します。
  • トリガーを CI/CD パイプラインに統合します。

前提条件

  • 少なくとも 1 つの Azure サブスクリプションが構成された 、実行中 の状態の Azure SRE エージェント。
  • Webhook 呼び出しをテストするためにインストールされた Azure CLI (az コマンド)。

シナリオ

チームは、コンテナー アプリのリビジョンを 1 日に複数回デプロイします。 各デプロイは、適切なリソース制限、正常性プローブが構成され、イングレス ルールが設定されたコンプライアンス標準を満たしている必要があります。 デプロイのたびに手動で確認するのではなく、各デプロイの後に CI/CD パイプラインが呼び出す HTTP トリガーを作成します。 エージェントはコンプライアンス チェックを自動的に実行します。

HTTP トリガーを開く

HTTP トリガーを開くには、サービス メニューの Builder>HTTP トリガー に移動します。

チェックポイント: ページは、概要カード (アクティブなトリガー: 0、 合計トリガー: 0、 合計実行: 0) と空のトリガー リストと共に読み込まれます。

手順 1: トリガーを作成する

  1. ツール バーの [ トリガーの作成 ] を選択します。 [ HTTP トリガーの作成 ] ダイアログが開きます。

  2. フォームに次のフィールドを入力します。

    フィールド 価値
    トリガー名 コンテナー アプリのコンプライアンス チェック。
    トリガーの詳細 新しいコンテナー アプリのリビジョンがデプロイされました。 アプリでコンプライアンス チェックを実行します。 リソース制限 (CPU/メモリ)、正常性プローブ、イングレス構成、スケーリング規則が正しく構成されていることを確認します。 見つかった問題を報告します。 アプリの詳細: {payload.app_name}はリソース グループ{payload.resource_group}にあります。 リビジョン: {payload.revision_name}
    エージェントの自律性レベル 自律型 (既定値)。
    更新プログラムのメッセージ グループ化 実行ごとに新しいチャット スレッド。
  3. 特定のサブエージェントでチェックを処理する場合を除き、 Response サブ エージェントは既定値のままにします。

  4. [ トリガーの作成] を選択します

チェックポイント: トリガーは、状態 がオン (緑色のバッジ) の一覧に表示されます。 概要カードが更新され、アクティブなトリガーが 1 つ表示されます。

手順 2: トリガー URL をコピーする

  1. トリガー名 Container App Compliance Check を選択して詳細ビューを開きます。

  2. 次のフィールドが表示されます。

    • トリガーURL: コピーボタン付きのWebhookエンドポイント
    • [状態]: オン
    • 最後の呼び出し: なし
    • メッセージのグループ化: 各実行の新しいスレッド
  3. トリガー URL の横にある [コピー ] ボタンを選択します。 手順 4 で使用するため、URL を保存します。

チェックポイント: トリガー URL がコピーされています。 https://<your-agent>.sre.azure.com/api/v1/httptriggers/trigger/<trigger-id> のように表示されます。

手順 3: 今すぐ実行してテストする

  1. ツール バーの [ 今すぐトリガーを実行 ] を選択します。 このアクションは、外部呼び出しなしですぐにトリガーを実行します。

  2. 数秒待ってから、[ 更新] リスト を選択して実行履歴を更新します。

チェックポイント: 実行履歴には、タイムスタンプ、リンクされたスレッド、成功の状態を含む新しい行が表示されます。 スレッド リンクを選択して、エージェントの応答を表示します。

エージェントは、 HTTP トリガー: コンテナー アプリ コンプライアンス チェックというタイトルのスレッドを作成します。 内部には、コンプライアンス チェックプランの実行カードが表示され、その後にエージェントの完全な調査と、コンプライアンス結果を含む判定テーブルが表示されます。

手順 4: コマンド ラインからトリガーを呼び出す

CI/CD パイプラインで行うように、実際のペイロードを使用してテストしてください。 ターミナルを開き、次のコマンドを実行します。

# Get an ARM token (use the SRE Agent app ID as the resource)
TOKEN=$(az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv)

# Call the trigger with container app deployment details
curl -X POST \
  "<YOUR_TRIGGER_URL>" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "app_name": "checkout-api",
    "resource_group": "rg-production",
    "revision_name": "checkout-api--v3",
    "deployed_by": "github-actions",
    "image": "myregistry.azurecr.io/checkout-api:v3.2.1"
  }'

<YOUR_TRIGGER_URL>を、手順 2 でコピーした URL に置き換えます。

何が起こるか: エージェントは、 {payload.app_name}{payload.resource_group}{payload.revision_name} を実際の値に置き換えてプロンプトを受け取ります。 プレースホルダーと一致しないフィールド ( deployed_byimageなど) は、生の JSON コンテキストとして追加されます。

応答は HTTP 202 ですぐに返されます。

{
  "message": "HTTP trigger execution initiated",
  "executionTime": "2026-03-13T10:30:00Z",
  "threadId": "thread-abc123",
  "success": true
}

チェックポイント: ポータルに戻り、詳細ビューで [更新リスト ] を選択します。 履歴に 2 回目の実行が表示されます。 これは外部からの呼び出しです。 スレッド リンクを選択すると、実際のアプリの詳細が設定されたエージェントのコンプライアンス チェックが表示されます。

手順 5: パイプラインと統合する

CI/CD パイプラインのデプロイ後の手順にトリガー呼び出しを追加します。 GitHub Actions の例を次に示します。

- name: Trigger SRE Agent compliance check
  if: success()
  run: |
    TOKEN=$(az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv)
    curl -s -X POST "${{ secrets.SRE_TRIGGER_URL }}" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "app_name": "${{ env.APP_NAME }}",
        "resource_group": "${{ env.RESOURCE_GROUP }}",
        "revision_name": "${{ env.REVISION_NAME }}",
        "deployed_by": "${{ github.actor }}",
        "commit": "${{ github.sha }}"
      }'

トリガー URL を GitHub シークレット (SRE_TRIGGER_URL) として格納します。 ワークフロー ファイルにハードコーディングしないでください。

手順 6: リソースをクリーンアップする

トリガーが不要な場合は、削除します。

  1. Builder>HTTP トリガーに移動します。
  2. トリガーのチェック ボックスをオンにします。
  3. を選択して、を削除します。