Langkau ke kandungan

Sediakan pencetus pipeline

Pencetus ialah apa yang memulakan sesuatu pipeline. Setiap satu ialah nod pada kanvas, yang dijatuhkan daripada bahagian Pencetus dalam pustaka nod. Memilih nod itu membuka pemeriksanya di sebelah kanan — tiada senarai pencetus yang sentiasa wujud, tiada tab pencetus, dan tiada skrin pencetus.

  1. Pergi ke Tetapan → Ruang kerja → Templat pipeline.
  2. Tekan ikon pensel pada baris templat itu untuk membuka editor.
  3. Pilih nod pencetus pada kanvas. Panel kanan muncul dengan tetapan pencetus itu. Apabila tiada apa yang dipilih, panel itu tersembunyi.

Bahagian Pencetus dalam pustaka nod menyenaraikan setiap jenis permulaan sebagai nod tersendiri: manual, jadual, webhook, dan satu kad bagi setiap acara domain. Cari merged, ticket, atau nama jenisnya (PrMerged) dan seret kad itu ke atas kanvas. Templat baharu juga menunjukkan jubin hantu Tambah pencetus pada sauh kemasukan — pilih daripada senarai boleh cari yang sama.

Pencetus itu dimasukkan serta-merta. Pencetus automatik baharu bermula dalam keadaan dilumpuhkan supaya perbuatan menjatuhkan kad itu tidak memicu sesuatu larian sebelum anda mengkonfigurasinya. Gunakan suis Didayakan dalam pemeriksa untuk menghidupkannya, atau ikon tong sampah untuk memadamkannya.

Jatuhkan Larian manual (atau pilihnya daripada jubin hantu) dan hidupkan Didayakan dalam pemeriksanya. Itulah yang menjadikan templat itu muncul dalam pelancar larian. Ia bukan kes khas — suis itu menulis baris pencetus biasa yang jenis peristiwanya ialah manual. Ia kekal serta-merta; tiada apa yang perlu disimpan.

Suis yang sama berada di sebalik Larian manual dalam pengepala editor, tempat ia duduk bersebelahan input yang diisytiharkan oleh templat.

Peristiwa ini memulakan satu larian:

Label pemilih Peristiwa
PR luaran dibuka ExternalPrDetected
PR diterbitkan PullRequestPublished
Status PR berubah PullRequestStatusChanged
PR dicantum PrMerged
Mesej diterima MessageReceived
Tiket dicipta TicketCreated
Status tiket berubah TicketStatusChanged
Tiket ditugaskan TicketAssigned
Tiket selesai TicketCompleted
Tiket gagal TicketFailed
Tiket dibatalkan TicketCancelled
Ambang bajet dilampaui BudgetThresholdCrossed
Repositori ditambah RepoAdded
Rakaman mesyuarat dihentikan MeetingRecordingStopped
Kemahiran dikemas kini SkillUpdated
Ruang dipadam SpaceDeleted

SpaceDeleted ialah peristiwa yang didengari oleh pipeline pembersihan worktree terbina dalam: ia membawa id ruang yang dipadam itu, jadi larian tersebut menuntut semula worktree ruang itu sahaja dan bukan menyapu seluruh ruang kerja.

Untuk kunci muatan yang dibawa oleh setiap peristiwa, lihat rujukan acara domain.

Pilih nod Status PR berubah. Cip status dalam pemeriksa ialah satu-satunya penapis yang boleh dihasilkan oleh UI. Ketik mana-mana antara merged, closed, approved, opened, reopened; pencetus itu kemudian terpicu hanya apabila status peristiwa sepadan dengan salah satu daripadanya. Membiarkan setiap cip tidak dipilih bermakna tiada penapis.

Tiada medan penapis JSON bebas. Kunci penapis yang tidak dibawa oleh muatan peristiwa itu tidak akan pernah sepadan, jadi jangan tulis sendiri satu terhadap kunci yang belum anda sahkan dalam rujukan acara domain.

Pilih nod Jadual untuk menyunting bila ia terpicu. Medan pemeriksa kekal seperti yang anda tinggalkan:

Medan Keterangan
Jadual (cron atau every:seconds) Ungkapan cron lima medan seperti 0 9 * * 1, atau selang seperti every:86400. Nombor kosong dipaksa menjadi every:<n>.
Zon waktu (pilihan) Zon IANA seperti Europe/Paris. Lalai kepada UTC.
Pada larian terlepas Apa yang perlu dilakukan dengan picuan yang terlepas semasa pelayan tidak berjalan: Jalankan sekali menggabungkan setiap slot yang terlepas menjadi satu picuan semasa mula semula (lalai), Langkau menyambung semula pada slot masa hadapan yang berikutnya.

Baris ringkasan jubin kanvas hanya menyatakan selang bagi bentuk every:<seconds>; ungkapan cron dipaparkan sebagai “Jadual” sahaja.

Menjatuhkan Webhook menghasilkan token rawak. Pilih nod itu untuk menyalin laluan POST /webhooks/<token> daripada pemeriksa.

Token itu juga ialah rahsia HMAC: permintaan mesti membawa X-Hub-Signature-256: sha256=<hex>, dengan hex itu ialah HMAC-SHA256(body, token). Penghantaran yang gagal pengesahan akan ditolak dan direkodkan serta tidak boleh dimainkan semula. Pendua diabaikan melalui kunci nyahpenduanya.

Setiap permulaan ialah nod graf tersendiri. Menarik wayar daripada Jadual hanya menyambungkan Jadual; Larian manual boleh melalui laluan berbeza (contohnya nod syarat) sebelum ia menyertai kerja yang sama. Sesuatu larian memasuki permulaan yang sepadan dengan jenis peristiwanya dan melangkau subgraf yang dimiliki oleh permulaan lain.

Pencetus yang didayakan dan yang jenis peristiwa serta penapisnya kedua-duanya sepadan akan memulakan satu larian dengan muatan peristiwa itu sebagai muatan pencetus larian tersebut — itulah yang diselesaikan oleh {{key}} dalam prompt atau skrip sesuatu langkah. Peristiwa yang membawa kunci semula jadi dinyahpendua, jadi peristiwa yang sama terpicu dua kali tidak memulakan dua larian.

Sesuatu templat yang dilumpuhkan akan ditolak walaupun pencetusnya sepadan. Lapan daripada tiga belas templat terbina dalam disertakan dalam keadaan dilumpuhkan, jadi pencetus yang disemai bagi templat itu tidak memicu apa-apa sehingga anda menghidupkan templat tersebut.

  • Pintukan laluan manual sahaja — salurkan Larian manual melalui nod syarat, dan Jadual terus ke kerja itu. Setiap permulaan memiliki wayarnya sendiri.
  • Semak setiap PR baharu — peristiwa PR diterbitkan pada templat pr_review.
  • Bersihkan selepas cantuman — peristiwa Status PR berubah, ditapis kepada merged / closed / approved. Templat terbina dalam pr_merged_cleanup sudah mendengar dengan cara ini, tambah tiket selesai/dibatalkan, SpaceDeleted, dan jadual harian yang dipaksa didayakan pada setiap penyemaian semula kerana ia ialah pengumpulan sampah.
  • Sapuan malam — jadual 0 2 * * * dengan zon waktu, pada templat yang nod pertamanya ialah skrip bash.
  • Bertindak balas terhadap sistem luar — pencetus webhook, dengan sistem pemanggil menandatangani badan permintaannya seperti di atas.