Membuat hook layanan untuk Azure DevOps Services dan TFS dengan Trello
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Buat kartu dan daftar di Trello sebagai respons terhadap peristiwa dari Azure DevOps. Misalnya, ketika kode dikirim, atau build dilakukan.
Prasyarat
Kategori | Persyaratan |
---|---|
Izin | - Anggota dari grup Administrator Koleksi Proyek . Pemilik organisasi adalah anggota grup ini secara otomatis. - Edit langganan dan Lihat langganan izin ditetapkan ke Izinkan. Secara default, hanya administrator proyek yang memiliki izin ini. Untuk memberikan izin kepada pengguna lain, Anda dapat menggunakan alat baris perintah atau Security REST API. |
Alat | Trello |
Mendapatkan token otorisasi Trello
Jika Anda tidak memiliki akun Trello, daftar di Trello.
Buka halaman Otorisasi Azure DevOps Services untuk Trello, dan masuk dengan kredensial Trello Anda.
Izinkan Azure DevOps menggunakan akun Trello Anda.
Salin token otorisasi.
token otorisasi Trello
Buat kartu Trello atau daftar dari peristiwa Azure DevOps Services.
Buka halaman Service Hooks proyek Anda:
https://{orgName}/{project_name}/_settings/serviceHooks
Pilih Buat Langganan.
Pilih layanan Trello.
Halaman Layanan
Konfigurasikan peristiwa yang memicu di Visual Studio. Dalam hal ini, kami akan meminta langganan merespons saat item kerja dibuat.
Siapkan tindakan yang akan diambil Trello sebagai respons terhadap pemicu - baik membuat kartu atau daftar.
Anda dapat menggunakan placeholder untuk menyisipkan konten dari acara ke dalam nama dan deskripsi kartu atau daftar yang dibuat langganan. Misalnya, ketika kita menjalankan pemberitahuan pengujian, kartu yang dibuat diberi nama "Bug #5: Beberapa ide baru yang bagus!" karena item kerja pengujian adalah bug (ID=5) dengan judul "Beberapa ide baru yang bagus!".
Uji langganan kait layanan dan selesaikan panduan.
Test
Sekarang sudah disiapkan. Buka Trello dan lihat kartu muncul.
Placeholder
Anda dapat menyisipkan penanda dalam nama daftar atau nama atau deskripsi kartu yang akan dibuat oleh langganan Anda. Saat daftar atau kartu dibuat, pengganti akan digantikan oleh nilai dari peristiwa yang dihasilkan. Contoh yang kami gunakan untuk nama kartu di halaman ini menggunakan:
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Jadi ketika bug dibuat dengan ID 5 dan judul "Beberapa ide baru yang bagus!", nama kartunya adalah "Bug #5: Beberapa ide baru yang bagus!".
Bentuk dasar tempat penampung adalah {{resource.field}}
di mana sumber daya adalah nama dari sumber yang memicu peristiwa (item kerja, penyusunan, dan sebagainya) dan bidang adalah bagian bidang dari sumber daya peristiwa tersebut, seperti ID.
Jadi, jika langganannya adalah untuk sebuah build yang sudah selesai, mungkin seperti
Build {{build.id}} completed at {{build.finishTime}}
Di mana build adalah nama sumber daya dan ID, finishTime adalah bidang yang tersedia dalam sumber daya ini. Untuk memahami jenis peristiwa, bidang, dan sumber daya yang tersedia untuk digunakan, lihat referensi peristiwa .
Bidang item kerja
Bidang item kerja muncul dalam peristiwa di array bidang, seperti contoh ini:
" fields": {
" System.AreaPath": "Fabrikam-Fiber-Git",
" System.TeamProject": "Fabrikam-Fiber-Git",
" System.IterationPath": "Fabrikam-Fiber-Git",
" System.WorkItemType": "Product Backlog Item",
" System.State": "New",
" System.Reason": "New backlog item",
" System.CreatedDate": "2014-11-05T21:11:28.85Z",
" System.CreatedBy": "Normal Paulk",
" System.ChangedDate": "2014-11-05T21:11:29.23Z",
" System.ChangedBy": "Normal Paulk",
" System.Title": "Test PBI",
" Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999,
" WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
},
Bekerja langsung dari definisi peristiwa, kami akan membuat nama kartu kami seperti contoh ini:
{{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}
Sebagai pintasan, Anda dapat mereferensikan bidang apa pun di namespace System atau Microsoft.Azure DevOps Services.Common seolah-olah bidang tersebut adalah bagian dari sumber daya.
Jadi {{workitem.fields["System.workItemType"]}}
menjadi {{workitem.workItemType}}
.
Ekspresi tempat penampung
Tempat penampung ini menggunakan implementasi templat handlebars yang umumnya kompatibel dengan Mustache. Beberapa ekspresi yang berguna meliputi
Jenis ekspresi | Contoh |
---|---|
ekspresi dasar | {{workitem.name}} |
ekspresi array | {{pullRequest.reviewers.[0].displayName}} |
Bagian kumis |
{{#workitem.assignedTo}} WI ini ditetapkan {{/workitem.assignedTo}} |
Bagian Terbalik Kumis |
{{^workitem.assignedTo}} WI ini tidak ditetapkan {{/workitem.assignedTo}} |
Pembantu blok Handlebars | dengan jika/sebaliknya kecuali setiap |
Jalur Handlebars | ... ini Misalnya, {{../comment/id}} atau {{this/title}} |
Komentar templat | {{!-- this is a handlebar comment --}} |
Harga
Azure DevOps tidak mengenakan biaya untuk kerangka kerja untuk diintegrasikan dengan layanan eksternal. Lihat situs layanan tertentu untuk harga yang terkait dengan layanan mereka.
T & A
T: Bisakah saya membuat langganan secara terprogram?
A: Ya, lihat detail di sini.
T: Bisakah saya mendapatkan informasi selengkapnya tentang Trello?
A: Ya, trello.com.