Mengotomatiskan konfigurasi untuk notifikasi

Anda dapat mengonfigurasi Cloud Build untuk mengirimkan notifikasi build ke Slack, Google Chat, server SMTP, endpoint HTTP, atau instance BigQuery menggunakan notifikasi Cloud Build. Halaman ini menjelaskan cara mengotomatiskan proses konfigurasi untuk notifier yang Anda inginkan.

Mengotomatiskan konfigurasi notifikasi

Cloud Build menyediakan skrip penyiapan yang dapat Anda gunakan untuk mengotomatiskan konfigurasi notifikasi. Untuk mengonfigurasi notifikasi menggunakan skrip penyiapan:

Slack

Menyiapkan

Bagian berikut menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum mengotomatiskan konfigurasi notifikasi untuk notifier Anda.

Mengaktifkan API

Aktifkan Cloud Build, Compute Engine, Cloud Run, Pub/Sub, dan Secret Manager API, jika belum diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Mendapatkan dan menyimpan kredensial

  1. Buat aplikasi Slack untuk ruang kerja Slack yang ingin Anda kirimi notifikasi.

  2. Aktifkan webhook masuk untuk memposting pesan dari Cloud Build ke Slack.

  3. Buka aplikasi Slack Anda untuk menemukan URL webhook masuk. URL Anda akan terlihat seperti berikut:

    http://hooks.slack.com/services/...
    
  4. Simpan URL webhook masuk Anda di Secret Manager:

    1. Buka halaman Secret Manager di konsol Google Cloud :

      Buka halaman Secret Manager

    2. Klik Create secret.

    3. Masukkan nama untuk secret Anda.

    4. Di bagian Secret value, tambahkan URL webhook masuk untuk aplikasi Slack Anda.

    5. Untuk menyimpan secret, klik Create secret.

Menulis file konfigurasi notifier

Tulis file konfigurasi notifier untuk mengonfigurasi notifier Slack dan memfilter peristiwa build:

Dalam contoh file konfigurasi notifier berikut, kolom filter menggunakan Common Expression Language dengan variabel yang tersedia, build, untuk memfilter peristiwa build dengan status SUCCESS:

  apiVersion: cloud-build-notifiers/v1
  kind: SlackNotifier
  metadata:
    name: example-slack-notifier
  spec:
    notification:
      filter: build.status == Build.Status.SUCCESS
      delivery:
        webhookUrl:
          secretRef: webhook-url
      template:
        type: golang
        uri: gs://bucket-name/slack.json
    secrets:
    - name: webhook-url
      value: projects/project-id/secrets/secret-name/versions/latest

Dengan:

  • webhook-url adalah variabel konfigurasi yang digunakan dalam contoh ini untuk mereferensikan jalur URL webhook Slack yang disimpan di Secret Manager. Nama variabel yang Anda tentukan di sini harus cocok dengan kolom name di bagian secrets.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file template Anda. Jika bucket tidak ada, skrip penyiapan akan membuatnya di project Anda dan memverifikasi kepemilikan bucket sebelum mengupload file.
  • project-id adalah ID project Google Cloud Anda.
  • secret-name adalah nama secret yang berisi URL webhook Slack Anda.
  • Kolom uri merujuk pada file slack.json. File ini berisi template JSON yang dihosting di Cloud Storage dan mewakili pesan notifikasi ke ruang Slack Anda.

Untuk melihat contohnya, lihat file konfigurasi notifier untuk notifier Slack.

Menjalankan skrip otomatisasi

Untuk mengotomatiskan konfigurasi notifikasi bagi notifier Anda:

  1. Buat clone repositori cloud-build-notifiers.

  2. Konfigurasikan Google Cloud CLI dengan project ID dan region Anda:

    gcloud config set project project-id
    gcloud config set run/region region
    

    Dengan:

    • project-id adalah project ID Google Cloud Anda.
    • region adalah region untuk men-deploy notifier.
  3. Jalankan perintah berikut di root repositori:

    ./setup.sh slack config-path -b bucket-name -t template-path -s secret-name

Dengan:

  • config-path adalah jalur ke file konfigurasi notifikasi Anda.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file konfigurasi dan template Anda. Jika Anda menghilangkan -b, skrip akan membuat nama bucket dengan akhiran acak (notifiers-config-random-suffix).
  • template-path adalah jalur ke file template notifikasi Anda. File template notifikasi Anda berisi template JSON yang dihosting di Cloud Storage dan mewakili pesan notifikasi Anda. Anda dapat menyertakan file template notifikasi sebagai jalur menggunakan variabel ini atau dalam kolom uri pada file konfigurasi notifikasi.
  • secret-name adalah nama secret Anda yang disimpan di Secret Manager.

Setelah menjalankan skrip, Anda akan melihat pesan berikut:

** NOTIFIER SETUP COMPLETE **

Notifikasi Anda sekarang sudah siap. Anda dapat melihat skrip lengkap di repositori cloud-build-notifiers atau menjalankan ./setup.sh --help untuk petunjuk penggunaan yang terkait dengan skrip.

SMTP

Menyiapkan

Bagian berikut menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum mengotomatiskan konfigurasi notifikasi untuk notifier Anda.

Mengaktifkan API

Aktifkan Cloud Build, Compute Engine, Cloud Run, Pub/Sub, dan Secret Manager API, jika belum diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Menyimpan kredensial

  1. Simpan sandi akun email pengirim di Secret Manager:

  2. Buka halaman Secret Manager di konsol Google Cloud :

    Buka halaman Secret Manager

  3. Klik Create secret.

  4. Masukkan nama untuk secret Anda.

  5. Di bagian Secret value, tambahkan sandi akun email pengirim.

  6. Untuk menyimpan secret, klik Create secret.

Menulis file konfigurasi notifier

Tulis file konfigurasi notifier untuk mengonfigurasi notifier SMTP dan memfilter peristiwa build:

Dalam contoh file konfigurasi notifier berikut, kolom filter menggunakan Common Expression Language dengan variabel yang tersedia, build, untuk memfilter peristiwa build dengan status SUCCESS:

 apiVersion: cloud-build-notifiers/v1
 kind: SMTPNotifier
 metadata:
   name: example-smtp-notifier
 spec:
   notification:
     filter: build.status == Build.Status.SUCCESS
     delivery:
       server: server-host-name
       port: "port"
       sender: sender-email
       from: from-email
       recipients:
         - recipient-email
         # optional: more emails here
       password:
         secretRef: smtp-password
      template:
        type: golang
        uri: gs://bucket-name/smtp.html
   secrets:
   - name: smtp-password
     value: projects/project-id/secrets/secret-name/versions/latest

Dengan:

  • server-host-name adalah alamat server SMTP Anda.
  • port adalah port yang akan menangani permintaan SMTP. Nilai ini harus ditentukan sebagai string.
  • sender-email adalah alamat email akun pengirim yang dilihat oleh server-host-name yang ditentukan.
  • from-email adalah alamat email yang dilihat oleh penerima.
  • recipient-email adalah daftar satu atau beberapa alamat email untuk menerima pesan dari pengirim.
  • smtp-password adalah variabel konfigurasi yang digunakan dalam contoh ini untuk mereferensikan sandi akun email pengirim yang disimpan di Secret Manager. Nama variabel yang Anda tentukan di sini harus cocok dengan kolom name di bagian secrets.
  • project-id adalah ID project Google Cloud Anda.
  • secret-name adalah nama secret Anda yang berisi sandi ke akun email pengirim.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file template Anda. Jika bucket tidak ada, skrip penyiapan akan membuatnya di project Anda dan memverifikasi kepemilikan bucket sebelum mengupload file.
  • Kolom uri merujuk pada file smtp.html. File ini merujuk ke template HTML yang dihosting di Cloud Storage dan mewakili email notifikasi Anda.

Untuk melihat contohnya, lihat file konfigurasi notifier untuk notifier SMTP.

Menjalankan skrip otomatisasi

Untuk mengotomatiskan konfigurasi notifikasi bagi notifier Anda:

  1. Buat clone repositori cloud-build-notifiers.

  2. Konfigurasikan Google Cloud CLI dengan project ID dan region Anda:

    gcloud config set project project-id
    gcloud config set run/region region
    

    Dengan:

    • project-id adalah project ID Google Cloud Anda.
    • region adalah region untuk men-deploy notifier.
  3. Jalankan perintah berikut di root repositori:

    ./setup.sh smtp config-path -b bucket-name -t template-path -s secret-name

Dengan:

  • config-path adalah jalur ke file konfigurasi notifikasi Anda.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file konfigurasi dan template Anda. Jika Anda menghilangkan -b, skrip akan membuat nama bucket dengan akhiran acak (notifiers-config-random-suffix).
  • template-path adalah jalur ke file template notifikasi Anda. File template notifikasi Anda berisi template JSON yang dihosting di Cloud Storage dan mewakili pesan notifikasi Anda. Anda dapat menyertakan file template notifikasi sebagai jalur menggunakan variabel ini atau dalam kolom uri pada file konfigurasi notifikasi.
  • secret-name adalah nama secret Anda yang disimpan di Secret Manager.

Setelah menjalankan skrip, Anda akan melihat pesan berikut:

** NOTIFIER SETUP COMPLETE **

Notifikasi Anda sekarang sudah siap. Anda dapat melihat skrip lengkap di repositori cloud-build-notifiers atau menjalankan ./setup.sh --help untuk petunjuk penggunaan yang terkait dengan skrip.

BigQuery

Menyiapkan

Bagian berikut menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum mengotomatiskan konfigurasi notifikasi untuk notifier Anda.

Mengaktifkan API

Aktifkan Cloud Build, Cloud Run, Pub/Sub, dan BigQuery API, jika belum diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Memberikan izin

Beri akun layanan Cloud Run Anda izin untuk membuat dan menulis tabel BigQuery serta izin untuk mengambil data Artifact Registry yang terkait dengan build Anda:

  1. Buka halaman IAM di konsol Google Cloud :

    Buka halaman IAM

  2. Temukan akun layanan default Compute Engine yang terkait dengan project Anda:

    Akun layanan default Compute Engine Anda akan terlihat mirip dengan berikut ini, dengan project-number sebagai nomor project Anda:

        project-number-compute@
    
  3. Klik ikon pensil di baris yang berisi Compute Engine default service account.

    Anda akan melihat tab Edit akses.

    1. Klik Add another role.

    2. Tambahkan peran berikut:

      • Artifact Registry Reader
      • BigQuery Data Editor

        Peran Artifact Registry Reader memungkinkan Anda mengambil data untuk image Anda. BigQuery Data Editor memberi Anda akses baca dan tulis ke data Anda.

    3. Klik Simpan.

Menulis file konfigurasi notifier

Tulis file konfigurasi notifier untuk mengonfigurasi notifier BigQuery dan memfilter peristiwa build:

Dalam contoh file konfigurasi notifier berikut, kolom filter menggunakan Common Expression Language dengan variabel, build, untuk memfilter peristiwa build dengan ID pemicu yang ditentukan:

 apiVersion: cloud-build-notifiers/v1
 kind: BigQueryNotifier
 metadata:
   name: example-bigquery-notifier
 spec:
   notification:
     filter: build.build_trigger_id == "123e4567-e89b-12d3-a456-426614174000"
     delivery:
       table: projects/project-id/datasets/dataset-name/tables/table-name
     template:
       type: golang
       uri: gs://bucket-name/bq.json

Dengan:

  • project-id adalah ID project Google Cloud Anda.
  • dataset-name adalah nama yang ingin Anda berikan ke set data.
  • table-name adalah nama yang ingin Anda berikan ke tabel.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file template Anda. Jika bucket tidak ada, skrip penyiapan akan membuatnya di project Anda dan memverifikasi kepemilikan bucket sebelum mengupload file.
  • Kolom uri merujuk pada file bq.json. File ini merujuk ke template JSON yang dihosting di Cloud Storage dan mewakili informasi yang akan dimasukkan ke dalam tabel BigQuery Anda.

table-name dalam file konfigurasi notifier Anda dapat merujuk ke:

  • tabel yang tidak ada
  • tabel kosong tanpa skema
  • tabel yang ada dengan skema yang cocok dengan spesifikasi skema di notifier BigQuery

Untuk melihat contohnya, lihat file konfigurasi notifier untuk notifier BigQuery.

Menjalankan skrip otomatisasi

Untuk mengotomatiskan konfigurasi notifikasi bagi notifier Anda:

  1. Buat clone repositori cloud-build-notifiers.

  2. Konfigurasikan Google Cloud CLI dengan project ID dan region Anda:

    gcloud config set project project-id
    gcloud config set run/region region
    

    Dengan:

    • project-id adalah project ID Google Cloud Anda.
    • region adalah region untuk men-deploy notifier.
  3. Jalankan perintah berikut di root repositori:

     ./setup.sh bigquery config-path -b bucket-name -t template-path
    

    Dengan:

    • config-path adalah jalur ke file konfigurasi notifikasi Anda.
    • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file konfigurasi dan template Anda. Jika Anda menghilangkan -b, skrip akan membuat nama bucket dengan akhiran acak (notifiers-config-random-suffix).
    • template-path adalah jalur ke file template notifikasi Anda. File template notifikasi Anda berisi template JSON yang dihosting di Cloud Storage dan mewakili pesan notifikasi Anda. Anda dapat menyertakan file template notifikasi sebagai jalur menggunakan variabel ini atau dalam kolom uri pada file konfigurasi notifikasi.

    Setelah menjalankan skrip, Anda akan melihat pesan berikut:

    ** NOTIFIER SETUP COMPLETE **
    

    Notifikasi Anda sekarang sudah siap. Anda dapat melihat skrip lengkap di repositori cloud-build-notifiers atau menjalankan ./setup.sh --help untuk petunjuk penggunaan yang terkait dengan skrip.

HTTP

Menyiapkan

Bagian berikut menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum mengotomatiskan konfigurasi notifikasi untuk notifier Anda.

Mengaktifkan API

Aktifkan Cloud Build, Cloud Run, dan Pub/Sub API, jika belum diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Menulis file konfigurasi notifier

Tulis file konfigurasi notifier untuk mengonfigurasi notifier HTTP dan memfilter peristiwa build:

Dalam contoh file konfigurasi notifier berikut, kolom filter menggunakan Common Expression Language dengan variabel yang tersedia, build, untuk memfilter peristiwa build dengan status SUCCESS:

    apiVersion: cloud-build-notifiers/v1
    kind: HTTPNotifier
    metadata:
      name: example-http-notifier
    spec:
      notification:
        filter: build.status == Build.Status.SUCCESS
        delivery:
          # The `http(s)://` protocol prefix is required.
          url: url
        template:
          type: golang
          uri: gs://bucket-name/http.json

Dengan:

  • url adalah variabel konfigurasi yang digunakan dalam contoh ini untuk menentukan URL permintaan Anda.
  • url adalah URL yang ingin Anda tentukan sebagai server penerima.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file template Anda. Jika bucket tidak ada, skrip penyiapan akan membuatnya di project Anda dan memverifikasi kepemilikan bucket sebelum mengupload file.
  • Kolom uri merujuk pada file http.json. File ini merujuk ke template JSON yang dihosting di Cloud Storage dan mewakili payload JSON ke endpoint webhook.

Untuk melihat contohnya, lihat file konfigurasi notifier untuk notifier HTTP.

Menjalankan skrip otomatisasi

Untuk mengotomatiskan konfigurasi notifikasi bagi notifier Anda:

  1. Buat clone repositori cloud-build-notifiers.

  2. Konfigurasikan Google Cloud CLI dengan project ID dan region Anda:

    gcloud config set project project-id
    gcloud config set run/region region
    

    Dengan:

    • project-id adalah project ID Google Cloud Anda.
    • region adalah region untuk men-deploy notifier.
  3. Jalankan perintah berikut di root repositori:

     ./setup.sh http config-path -b bucket-name
    

    Dengan:

    • config-path adalah jalur ke file konfigurasi notifikasi Anda.
    • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file konfigurasi Anda. Jika Anda menghilangkan -b, skrip akan membuat nama bucket dengan akhiran acak (notifiers-config-random-suffix).

Setelah menjalankan skrip, Anda akan melihat pesan berikut:

** NOTIFIER SETUP COMPLETE **

Notifikasi Anda sekarang sudah siap. Anda dapat melihat skrip lengkap di repositori cloud-build-notifiers atau menjalankan ./setup.sh --help untuk petunjuk penggunaan yang terkait dengan skrip.

Google Chat

Menyiapkan

Bagian berikut menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum mengotomatiskan konfigurasi notifikasi untuk notifier Anda.

Mengaktifkan API

Aktifkan Cloud Build, Compute Engine, Cloud Run, Pub/Sub, dan Secret Manager API, jika belum diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Mendapatkan dan menyimpan kredensial

  1. Buat ruang di Google Chat.

  2. Dalam ruang yang dibuat, buat webhook masuk untuk memposting pesan dari Cloud Build ke Google Chat. URL Anda akan terlihat seperti berikut:

    https://chat.googleapis.com/v1/spaces/...

  3. Simpan URL webhook masuk Anda di Secret Manager:

    1. Buka halaman Secret Manager di konsol Google Cloud :

      Buka halaman Secret Manager

    2. Klik Create secret.

    3. Masukkan nama untuk secret Anda.

    4. Di bagian Secret value, tambahkan URL webhook masuk untuk ruang Google Chat Anda.

    5. Untuk menyimpan secret, klik Create secret.

Menulis file konfigurasi notifier

Tulis file konfigurasi notifier untuk mengonfigurasi notifier Google Chat dan memfilter peristiwa build:

Dalam contoh file konfigurasi notifier berikut, kolom filter menggunakan Common Expression Language dengan variabel yang tersedia, build, untuk memfilter peristiwa build dengan status SUCCESS:

  apiVersion: cloud-build-notifiers/v1
  kind: GoogleChatNotifier
  metadata:
    name: example-googlechat-notifier
  spec:
    notification:
      filter: build.status == Build.Status.SUCCESS
      delivery:
        webhookUrl:
          secretRef: webhook-url
    secrets:
    - name: webhook-url
      value: projects/project-id/secrets/secret-name/versions/latest

Dengan:

  • webhook-url adalah variabel konfigurasi yang digunakan dalam contoh ini untuk mereferensikan jalur URL webhook Google Chat yang disimpan di Secret Manager. Nama variabel yang Anda tentukan di sini harus cocok dengan kolom name di bagian secrets.
  • project-id adalah ID project Google Cloud Anda.
  • secret-name adalah nama secret yang berisi URL webhook Google Chat Anda.

Untuk melihat contohnya, lihat file konfigurasi notifier untuk notifier Google Chat.

Menjalankan skrip otomatisasi

Untuk mengotomatiskan konfigurasi notifikasi bagi notifier Anda:

  1. Buat clone repositori cloud-build-notifiers.

  2. Konfigurasikan Google Cloud CLI dengan project ID dan region Anda:

    gcloud config set project project-id
    gcloud config set run/region region
    

    Dengan:

    • project-id adalah project ID Google Cloud Anda.
    • region adalah region untuk men-deploy notifier.
  3. Jalankan perintah berikut di root repositori:

./setup.sh googlechat config-path -b bucket-name -s secret-name

Dengan:

  • config-path adalah jalur ke file konfigurasi notifikasi Anda.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file konfigurasi Anda. Jika Anda menghilangkan -b, skrip akan membuat nama bucket dengan akhiran acak (notifiers-config-random-suffix).
  • secret-name adalah nama secret Anda yang disimpan di Secret Manager.

Setelah menjalankan skrip, Anda akan melihat pesan berikut:

** NOTIFIER SETUP COMPLETE **

Notifikasi Anda sekarang sudah siap. Anda dapat melihat skrip lengkap di repositori cloud-build-notifiers atau menjalankan ./setup.sh --help untuk petunjuk penggunaan yang terkait dengan skrip.

Masalah GitHub

Menyiapkan

Bagian berikut menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum mengotomatiskan konfigurasi notifikasi untuk notifier Anda.

Mengaktifkan API

Aktifkan Cloud Build, Compute Engine, Cloud Run, Pub/Sub, dan Secret Manager API, jika belum diaktifkan.

Peran yang diperlukan untuk mengaktifkan API

Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

Aktifkan API

Mendapatkan dan menyimpan kredensial

  1. Buat Token Akses Pribadi GitHub:

    1. Buka setelan GitHub untuk membuat token baru.
    2. Pilih cakupan repo.

    3. Klik Generate token

  2. Simpan token Anda di Secret Manager:

    1. Buka halaman Secret Manager di konsol Google Cloud :

      Buka halaman Secret Manager

    2. Klik Create secret.

    3. Masukkan nama untuk secret Anda.

    4. Di bagian Secret value, tambahkan token GitHub Anda.

    5. Untuk menyimpan secret, klik Create secret.

Menulis file konfigurasi template

Tulis file konfigurasi template untuk mendeskripsikan format yang harus diambil oleh GitHub Issues yang dibuat:

Dalam contoh file konfigurasi template berikut, kolom title dan body menggunakan variabel pengganti dari build:

{
    "title": "Build {{.Build.BuildTriggerId}}: {{.Build.Status}}",
    "body": "[{{.Build.ProjectId}}] {{.Build.BuildTriggerId}} status: **{{.Build.Status}}**\n\n[View Logs]({{.Build.LogUrl}})"
}

Untuk melihat contohnya, lihat file konfigurasi template untuk notifikasi GitHub Issues.

Kolom tambahan dapat ditetapkan dari parameter isi yang tersedia dari endpoint API GitHub untuk membuat masalah.

Menulis file konfigurasi notifier

Tulis file konfigurasi notifier untuk mengonfigurasi notifier Google Chat dan memfilter peristiwa build:

Dalam contoh file konfigurasi notifier berikut, kolom filter menggunakan Common Expression Language dengan variabel yang tersedia, build, untuk memfilter peristiwa build dengan status SUCCESS:

apiVersion: cloud-build-notifiers/v1
kind: GitHubIssuesNotifier
metadata:
  name: example-githubissues-notifier
spec:
  notification:
    filter: build.status == Build.Status.FAILURE
    template: 
      type: golang
      uri: gs://bucket-name/template-file-name
    delivery:
      githubToken:
        secretRef: github-token
      githubRepo: myuser/myrepo
  secrets:
  - name: github-token
    value: projects/project-id/secrets/secret-name/versions/latest

Dengan:

  • githubToken adalah variabel konfigurasi yang digunakan dalam contoh ini untuk mereferensikan token GitHub yang disimpan di Secret Manager. Nama variabel yang Anda tentukan di sini harus cocok dengan kolom name di bagian secrets.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file template Anda. Jika bucket tidak ada, skrip penyiapan akan membuatnya di project Anda dan memverifikasi kepemilikan bucket sebelum mengupload file.
  • template-file-name adalah nama file template Anda.
  • myuser/myrepo adalah nama repo tempat masalah akan dibuat.
  • project-id adalah ID project Google Cloud Anda.
  • secret-name adalah nama secret yang berisi token GitHub Anda.

Untuk melihat contohnya, lihat file konfigurasi notifier untuk notifier Google Chat.

Untuk kolom tambahan yang dapat Anda filter, lihat resource Build. Untuk contoh pemfilteran tambahan, lihat Menggunakan CEL untuk memfilter peristiwa build.

Menjalankan skrip otomatisasi

Untuk mengotomatiskan konfigurasi notifikasi bagi notifier Anda:

  1. Buat clone repositori cloud-build-notifiers.

  2. Konfigurasikan Google Cloud CLI dengan project ID dan region Anda:

    gcloud config set project project-id
    gcloud config set run/region region
    

    Dengan:

    • project-id adalah project ID Google Cloud Anda.
    • region adalah region untuk men-deploy notifier.
  3. Jalankan perintah berikut di root repositori:

    ./setup.sh githubissues config-path -b bucket-name -t template-path -s secret-name

Dengan:

  • config-path adalah jalur ke file konfigurasi notifikasi Anda.
  • bucket-name adalah nama bucket Cloud Storage tempat skrip penyiapan mengupload file konfigurasi dan template Anda. Jika Anda menghilangkan -b, skrip akan membuat nama bucket dengan akhiran acak (notifiers-config-random-suffix).
  • template-path adalah jalur ke file template notifikasi Anda. File template notifikasi Anda berisi template JSON yang dihosting di Cloud Storage dan mewakili pesan notifikasi Anda. Anda dapat menyertakan file template notifikasi sebagai jalur menggunakan variabel ini atau dalam kolom uri pada file konfigurasi notifikasi.
  • secret-name adalah nama secret Anda yang disimpan di Secret Manager.

Setelah menjalankan skrip, Anda akan melihat pesan berikut:

** NOTIFIER SETUP COMPLETE **

Notifikasi Anda sekarang sudah siap. Anda dapat melihat skrip lengkap di repositori cloud-build-notifiers atau menjalankan ./setup.sh --help untuk petunjuk penggunaan yang terkait dengan skrip.

Langkah berikutnya