Condividi tramite


Creare un hook del servizio per Azure DevOps Services e TFS con Trello

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Creare schede ed elenchi in Trello in risposta agli eventi di Azure DevOps. Ad esempio, quando viene eseguito il push del codice o si verifica una compilazione.

Prerequisiti

Categoria Requisiti
autorizzazioni - Membro del gruppo Amministratori raccolta progetti . I proprietari dell'organizzazione sono automaticamente membri di questo gruppo.
- Modifica sottoscrizioni e Visualizza sottoscrizioni autorizzazioni impostate su Consenti. Per impostazione predefinita, solo gli amministratori del progetto dispongono di queste autorizzazioni. Per concedere le autorizzazioni ad altri utenti, è possibile usare lo strumento da riga di comando o l'API REST Security.
Strumenti Trello

Ottenere un token di autorizzazione Trello

  1. Se non si ha un account Trello, iscriversi all'indirizzo Trello.

  2. Passare alla pagina Autorizzare Azure DevOps Services per Trelloe accedere con le credenziali di Trello.

  3. Consentire ad Azure DevOps di usare l'account Trello.

    Consenti Azure DevOps Services

  4. Copiare il token di autorizzazione.

    token di autorizzazione Trello

Creare una scheda o un elenco Trello da un evento di Azure DevOps Services.

  1. Passare alla pagina Service Hooks (Hook del servizio) del progetto:

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

    Pagina amministrazione progetto

    Selezionare Crea sottoscrizione.

  2. Selezionare il servizio Trello.

    la pagina Servizio, Trello selezionato

  3. Configurare l'evento di attivazione di Visual Studio. In questo caso, l'abbonamento risponderà quando verrà creato un elemento di lavoro.

    pagina di configurazione trigger

  4. Configurare l'azione che Trello eseguirà in risposta al trigger, ovvero creare una scheda o un elenco.

    Pagina di configurazione dell'azione

    È possibile usare i segnaposto per inserire contenuti dell'evento nei nomi e nelle descrizioni delle schede o degli elenchi creati dalla sottoscrizione. Ad esempio, quando si esegue la notifica di test, la scheda creata è denominata "Bug #5: Alcune nuove idee!" perché l'elemento di lavoro del test è un bug (ID=5) con il titolo "Alcune nuove idee!".

  5. Testare la sottoscrizione dell'hook del servizio e completare la procedura guidata.

    notifica di test

Ora è configurato. Vai a Trello e vedi le schede visualizzate.

Tabellone di benvenuto con una scheda per il Bug n. 5

Segnaposto

È possibile inserire segnaposto nel nome di un elenco o nel nome o nella descrizione di una carta da creare dalla sottoscrizione. Quando viene creato un elenco o una scheda, i segnaposto verranno sostituiti da valori dell'evento generato. L'esempio usato per il nome della scheda in questa pagina usa:

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

Quindi, quando viene creato un bug con l'ID 5 e il titolo "Alcune nuove idee!", il nome della scheda è "Bug #5: Alcune nuove idee!".

Il formato di base del segnaposto è {{resource.field}} dove la risorsa è il nome della risorsa che genera l'evento (elemento di lavoro, compilazione e così via) e il campo è un campo all'interno della sezione della risorsa dell'evento, ad esempio ID. Quindi, se la sottoscrizione è per una build completata, potrebbe essere simile a

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

Dove build è il nome della risorsa e dell'ID, finishTime sono i campi disponibili in questa risorsa. Per comprendere i tipi di evento, i campi e le risorse disponibili per l'uso, esaminare il riferimento agli eventi .

Campi degli elementi di lavoro

I campi dell'elemento di lavoro vengono visualizzati nell'evento nella matrice di campi, come nell'esempio seguente:

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

Lavorando direttamente dalla definizione dell'evento, è stato creato il nome della scheda come nell'esempio seguente:

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

Come scorciatoia, è possibile fare riferimento a qualsiasi campo nello spazio dei nomi System o Microsoft.Azure DevOps Services.Common come se fossero campi della risorsa. Quindi {{workitem.fields["System.workItemType"]}} diventa {{workitem.workItemType}}.

Espressioni segnaposto

Questi segnaposto usano modelli di handlebar 'implementazione che è ampiamente compatibile con Mustache. Alcune espressioni utili includono

Tipo di espressione Esempi
espressioni di base {{workitem.name}}
espressioni di array {{pullRequest.reviewers.[0].displayName}}
Sezioni mustache {{#workitem.assignedTo}} Questo WI viene assegnato {{/workitem.assignedTo}}
Sezioni invertite di Mustache {{^workitem.assignedTo}} Questo wi-wi non è assegnato {{/workitem.assignedTo}}
Helper di blocco delle barre dei gestori con
se/altro
a meno che
ogni
Percorsi delle barre di gestione ...
questo
Ad esempio, {{../comment/id}} o {{this/title}}
Commenti modello {{!-- this is a handlebar comment --}}

Prezzi

Azure DevOps non addebita alcun costo per il framework per l'integrazione con i servizi esterni. Per informazioni sui prezzi relativi ai servizi, vedere il sito del servizio specifico.

Q & A

D: È possibile creare sottoscrizioni a livello di codice?

Sì, vedi i dettagli qui.

D: Posso ottenere altre informazioni su Trello?

R: Sì, trello.com.