Trello ile Azure DevOps Services ve TFS için hizmet kancası oluşturma

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Azure DevOps gelen olaylara yanıt olarak Trello'da kartlar ve listeler oluşturun. Örneğin, kod gönderildiğinde veya bir derleme gerçekleştiğinde.

Trello yetkilendirme belirteci alma

  1. Trello hesabınız yoksa Trello'ya kaydolun.

  2. Trello için yetki Azure DevOps Services sayfasına gidin ve Trello kimlik bilgilerinizle oturum açın.

  3. Azure DevOps Trello hesabınızı kullanmasına izin verin.

    Allow Azure DevOps Services

  4. Yetkilendirme belirtecini kopyalayın.

    Trello authorization token

Azure DevOps Services etkinliğinden bir Trello kartı veya listesi oluşturun.

  1. Projenizin Hizmet Kancaları sayfasına gidin:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Project administration page

    Abonelik Oluştur'u seçin.

  2. Trello hizmetini seçin.

    Service page, Trello selected

  3. Tetikleyici Visual Studio olayını yapılandırın. Bu durumda, bir iş öğesi oluşturulduğunda aboneliğin yanıt vermesini istiyoruz.

    Trigger configuration page

  4. Trello'nın tetikleyiciye yanıt olarak gerçekleştireceği eylemi ayarlayın; bir kart veya liste oluşturun.

    Action configuration page

    Yer tutucuları kullanarak etkinlikten aboneliğin oluşturduğu kartların veya listelerin adına ve açıklamasına içerik ekleyebilirsiniz. Örneğin, test bildirimini çalıştırdığımızda, oluşturulan kart "Hata #5: Bazı harika yeni fikir!" olarak adlandırılır çünkü test çalışma öğesi "Bazı harika yeni fikir!" başlığına sahip bir hatadır (ID=5).

  5. Hizmet kancası aboneliğini test edin ve sihirbazı tamamlayın.

    Test notification

  1. Projenizin Hizmet Kancaları sayfasına gidin:

    https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project

    Project administration page

    Abonelik Oluştur'u seçin.

  2. Trello hizmetini seçin.

    Service page, Trello selected

  3. Tetikleyici Visual Studio olayını yapılandırın. Bu durumda, bir iş öğesi oluşturulduğunda aboneliğin yanıt vermesini istiyoruz.

    Trigger configuration page

  4. Trello'nın tetikleyiciye yanıt olarak gerçekleştireceği eylemi ayarlayın; bir kart veya liste oluşturun.

    Action configuration page

    Yer tutucuları kullanarak etkinlikten aboneliğin oluşturduğu kartların veya listelerin adına ve açıklamasına içerik ekleyebilirsiniz. Örneğin, test bildirimini çalıştırdığımızda, oluşturulan kart "Hata #5: Bazı harika yeni fikir!" olarak adlandırılır çünkü test çalışma öğesi "Bazı harika yeni fikir!" başlığına sahip bir hatadır (ID=5).

  5. Hizmet kancası aboneliğini test edin ve sihirbazı tamamlayın.

Test notification

Şimdi ayarlandı. Trello'ya gidin ve kartların göründüğüne bakın.

Welcome board with a card for Bug #5

Yer tutucular

Bir listenin adına veya aboneliğiniz tarafından oluşturulacak kartın adına veya açıklamasına yer tutucular ekleyebilirsiniz. Bir liste veya kart oluşturulduğunda, yer tutucular oluşturulan olaydaki değerlerle değiştirilir. Bu sayfadaki kart adı için kullandığımız örnek şu şekildedir:

    {{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}

5. kimlik ve "Bazı harika yeni fikir!" başlığıyla bir hata oluşturulduğunda kart adı "Hata #5: Bazı harika yeni fikir!" olur.

Yer tutucunun temel biçimi, {{resource.field}} kaynağın olayı oluşturan kaynağın adıdır (iş öğesi, derleme vb.), alan ise olayın kaynak bölümünde yer alan id gibi bir alandır. Bu nedenle, abonelik tamamlanmış bir derlemeye yönelikse şuna benzer bir şey olabilir:

    Build {{build.id}} completed at {{build.finishTime}}

Derleme, kaynağın adı ve kimliği olduğunda finishTime, bu kaynaktaki kullanılabilir alanlardır. Kullanılabilir olay türlerini, alanları ve kaynakları anlamak için olay başvurusuna bakın.

İş öğesi alanları

İş öğesi alanları olayda fields dizisinde görüntülenir, örneğin:

    " 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"
           },

Doğrudan olay tanımından çalışarak kart adımızı şu örnekteki gibi oluşturmuş olurduk:

    {{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}

Kısayol olarak, Sistem veya Microsoft'taki tüm alanlara başvurabilirsiniz. Azure DevOps Services. Ortak ad alanları, kaynağın alanlarıymış gibi. Dolayısıyla {{workitem.fields["System.workItemType"]}} adresi {{workitem.workItemType}} olur.

Yer tutucu ifadeleri

Bu yer tutucular, Mustache ile büyük ölçüde uyumlu bir handlebars şablonları uygulaması kullanır. Bazı yararlı ifadeler şunlardır:

İfade türü örnekler
temel ifadeler {{workitem.name}}
dizi ifadeleri {{pullRequest.reviewers.[0].displayName}}
Bıyık bölümleri {{#workitem.assignedTo}} Bu WI atanır {{/workitem.assignedTo}}
Bıyığı Ters Çevrilmiş Bölümler {{^workitem.assignedTo}} Bu WI atanmadı {{/workitem.assignedTo}}
Handlebars block helpers örneklerini şununla değiştirin:
if/else
Süre -ce
Her
Handlebars yolları ...
this
Örneğin {{../comment/id}} veya {{this/title}} olabilir.
Şablon açıklamaları {{!-- this is a handlebar comment --}}

Fiyatlandırma

Azure DevOps, dış hizmetlerle tümleştirme çerçevesi için ücret ödemez. Hizmetleriyle ilgili fiyatlandırma için belirli bir hizmetin sitesine göz atın.

Q & A

S: Program aracılığıyla abonelik oluşturabilir miyim?

Y: Evet, ayrıntılara buradan bakın.

S: Trello hakkında daha fazla bilgi edinebilir miyim?

Y: Evet, trello.com.