ビルド通知の送信

Cloud Build では、ビルドの作成時、ビルドの動作状態への移行時、ビルドの完了時など、ビルドの状態が変化したときに Google Cloud Pub/Sub トピックにメッセージを公開します。

Cloud Build がこれらのビルドの更新メッセージを公開する Pub/Sub トピック cloud-builds は、Cloud Build API を有効にすると自動的に作成されます。各メッセージにはビルドリソースの JSON 表現が含まれており、メッセージの attributes フィールドにはビルドの一意の ID とビルドのステータスが含まれています。

Cloud Pub/Sub サブスクリプションの push または pull モデルを使用できます。

push

push サブスクリプションは、定義した HTTP エンドポイントにメッセージを配信します。メッセージは、トピックに公開されるとすぐに配信されます。

push サブスクリプションから送信されるメッセージは、次のようになります。

{
  "message": {
    "attributes": {
      "buildId": "abcd-efgh...",
      "status": "SUCCESS"
    },
    "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
    "message_id": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

pull

pull サブスクリプションは、サブスクライブされたアプリケーションによってポーリングされたときにメッセージを配信します。サブスクリプションがポーリングされると、メッセージが配信されます。

pull サブスクリプションから送信されるメッセージは次のようになります。

{
  "receivedMessages": [
    {
      "ackId": "dQNNHlAbEGEIBERNK0EPKVgUWQYyODM2LwgRHFEZDDsLRk1SK...",
      "message": {
        "attributes": {
          "buildId": "abcd-efgh-...",
          "status": "SUCCESS"
        },
        "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
        "messageId": "19917247034"
      }
    }
  ]
}

ビルドの更新通知の登録方法

ビルドの更新通知に登録するには、さまざまな方法があります。たとえば、メッセージをエンドポイントに push したり、サブスクリプションをポーリングする Python アプリを作成したりできます。

ビルドの更新の Pub/Sub サブスクリプションの設定方法については、Cloud Pub/Sub サブスクライバー ガイドをご覧ください。サブスクライバー アプリケーションの開発を容易にする Cloud Pub/Sub クライアント ライブラリについて学習することもできます。

Cloud Functions と Cloud Pub/Sub を使用して Slack やその他のサードパーティ アプリケーションにビルドの更新情報を送信する方法については、サードパーティ サービスの通知の構成をご覧ください。

次のステップ

フィードバックを送信...