Usare Azure Pipelines con Slack

Servizi di Azure DevOps

Questo articolo illustra come usare l'app Azure Pipelines per Slack per monitorare gli eventi della pipeline. È possibile stabilire e gestire sottoscrizioni per eventi della pipeline, ad esempio compilazioni, versioni e approvazioni in sospeso. Le notifiche per questi eventi vengono recapitate direttamente ai canali Slack.

Nota

Questa funzionalità è disponibile solo in Azure DevOps Services. In genere, le nuove funzionalità vengono introdotte prima nel servizio cloud e quindi rese disponibili in locale nella versione principale successiva o nell'aggiornamento di Azure DevOps Server. Per altre informazioni, vedere Sequenza temporale delle funzionalità di Azure DevOps.

Prerequisiti

  • Un account Slack con l'autorizzazione per installare un'app nell'area di lavoro Slack.
  • Un progetto Azure DevOps con autorizzazioni Amministratori raccolta progetti o Amministratori progetto.

Installare l'app Azure Pipelines

Installare l'app Slack di Azure Pipelines nell'area di lavoro slack. Dopo l'installazione dell'app, viene visualizzato il messaggio di benvenuto seguente. Immettere /azpipelines per iniziare a interagire con l'app.

Screenshot che mostra il messaggio di benvenuto dell'app Azure Pipelines.

Connettersi alla pipeline

Dopo aver installato l'app nell'area di lavoro slack, è possibile connettere l'app a qualsiasi pipeline da monitorare. È necessario eseguire l'autenticazione in Azure Pipelines prima di eseguire qualsiasi comando.

Screenshot che mostra il messaggio di richiesta di accesso.

Sottoscrivere le pipeline

Per avviare il monitoraggio di tutte le pipeline in un progetto, immettere /azpipelines subscribe <project url> in un canale, sostituendo <project url> con l'URL del progetto Azure DevOps. L'URL del progetto può essere collegato a qualsiasi pagina all'interno del progetto, ad eccezione delle pagine della pipeline, ad esempio /azpipelines subscribe https://dev.azure.com/myorg/myproject/.

È possibile monitorare una pipeline specifica usando /azpipelines subscribe <pipeline url>. L'URL della pipeline può essere collegato a qualsiasi pagina all'interno della pipeline con o definitionId buildId/releaseId nell'URL. Ad esempio:

  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123
  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

Il subscribe comando sottoscrive le notifiche seguenti per impostazione predefinita:

  • Per le pipeline YAML:
    • Stato della fase di esecuzione modificato
    • Fase di esecuzione in attesa dell'approvazione
  • Per le pipeline di compilazione classiche, compilazioni completate
  • Per le pipeline di versione classica:
    • Distribuzione del rilascio avviata
    • Distribuzione del rilascio completata
    • Approvazione della distribuzione del rilascio in sospeso

Screenshot che mostra un esempio di notifica.

Gestire le sottoscrizioni

Per gestire le sottoscrizioni per un canale, immettere /azpipelines subscriptions. Questo comando elenca tutte le sottoscrizioni correnti per il canale e consente di aggiungere o rimuovere sottoscrizioni.

Screenshot che mostra un elenco di sottoscrizioni.

Nota

Gli amministratori del team non possono rimuovere o modificare le sottoscrizioni create dagli amministratori del progetto.

Personalizzare le sottoscrizioni

Le sottoscrizioni predefinite non hanno alcun filtro applicato, ma è possibile personalizzare queste sottoscrizioni in base alle preferenze. Ad esempio, potrebbe essere necessario ricevere notifiche solo per le compilazioni o le distribuzioni non riuscite nell'ambiente di produzione. È possibile applicare filtri per personalizzare i messaggi ricevuti nel canale.

Per personalizzare una sottoscrizione:

  1. Eseguire il /azpipelines subscriptions comando per elencare tutte le sottoscrizioni.
  2. Selezionare Aggiungi sottoscrizione.
  3. Selezionare l'evento a cui si vuole sottoscrivere e quindi selezionare la configurazione desiderata.
  4. Seleziona Salva.

Ad esempio, per ottenere notifiche solo per le compilazioni non riuscite, selezionare Non riuscito in Stato di compilazione.

Screenshot che mostra come personalizzare una sottoscrizione.

Approvare le distribuzioni

È possibile approvare le distribuzioni dal canale Slack senza passare ad Azure Pipelines. Sottoscrivere la fase Di esecuzione in attesa di notifiche di approvazione per le pipeline YAML o le notifiche di approvazione della distribuzione di rilascio in sospeso per le versioni classiche. Entrambe queste sottoscrizioni vengono create per impostazione predefinita quando si sottoscrive una pipeline.

Screenshot che mostra l'approvazione della pipeline in Slack.

L'app Azure Pipelines per Slack consente di gestire tutti gli scenari di controllo e approvazione disponibili nel portale di Azure Pipelines. Questi scenari includono un singolo responsabile approvazione, più responsabili approvazione e approvazione basata sul team. È possibile approvare le richieste singolarmente o per conto di un team.

Screenshot che mostra una pipeline di pre-distribuzione approvata in Slack.

Rimuovere tutte le sottoscrizioni

Per complicare il canale, è possibile usare il comando per annullare la /azpipelines unsubscribe all <project url> sottoscrizione a tutte le pipeline in un progetto. Ad esempio: /azpipelines unsubscribe all https://dev.azure.com/myorg/myproject.

Importante

Solo gli amministratori del progetto possono eseguire questo comando.

Informazioni di riferimento sui comandi

L'app Azure Pipelines per Slack supporta i comandi seguenti:

Comando Descrizione
/azpipelines subscribe <pipeline url or project url> Sottoscrivere una pipeline o tutte le pipeline in un progetto e ricevere notifiche.
/azpipelines subscriptions Aggiungere o rimuovere sottoscrizioni per questo canale.
/azpipelines feedback Segnalare un problema o suggerire una funzionalità.
/azpipelines help Ottenere assistenza sui comandi.
/azpipelines signin Accedere all'account Azure Pipelines.
/azpipelines signout Disconnettersi dall'account Azure Pipelines.
/azpipelines unsubscribe all <project url> Rimuovere tutte le pipeline di progetto e le sottoscrizioni associate da un canale.

Notifiche nei canali privati

L'app Azure Pipelines consente anche di monitorare l'attività delle pipeline nei canali privati. È necessario invitare il bot al canale privato usando /invite @azpipelines. Dopo aver aggiunto il bot, è possibile configurare e controllare le notifiche come per un canale pubblico.

Condizioni e limitazioni

  • È possibile usare l'app Azure Pipelines solo per Slack con Azure DevOps Services.
  • Per configurare le sottoscrizioni, è necessario essere un amministratore del progetto contenente la pipeline.
  • Le notifiche non sono supportate all'interno di messaggi diretti.
  • Le approvazioni di distribuzione con l'identità riconvalida del responsabile approvazione prima di completare i criteri di approvazione applicati non sono supportate.
  • Per usare l'app, l'accesso alle applicazioni di terze parti tramite OAuth deve essere abilitato nelle impostazioni>dell'organizzazione di Azure DevOps Criteri di sicurezza.>

Risoluzione dei problemi

Se si verificano gli errori seguenti quando si usa l'app Azure Pipelines per Slack, provare le procedure descritte in questa sezione.

Si è verificato un errore. Riprova.

L'app Azure Pipelines usa il protocollo di autenticazione OAuth e richiede l'abilitazione dell'accesso alle applicazioni di terze parti tramite OAuth . Per abilitare questa impostazione, passare a Impostazioni organizzazione Criteri> di sicurezza>e abilitare l'accesso alle applicazioni di terze parti tramite OAuth.

Screenshot che mostra come abilitare l'accesso di terze parti tramite OAuth.

Configurazione non riuscita. Assicurarsi che l'organizzazione esista e che si disponga di autorizzazioni sufficienti.

  1. Disconnettersi da Azure DevOps passando a https://aka.ms/VsSignout.

  2. In una finestra del browser privato/in incognito passare a https://aex.dev.azure.com/me e accedere. Assicurarsi di selezionare la directory contenente l'organizzazione con la pipeline.

    Screenshot che mostra come selezionare la directory della pipeline.

  3. Nello stesso browser aprire una nuova scheda e passare a https://slack.com. Accedere all'area di lavoro usando il client Web e quindi eseguire seguito /azpipelines signout da /azpipelines signin.

  4. Seleziona il pulsante Sign in. Se si viene reindirizzati a una pagina di consenso, verificare che la directory visualizzata accanto all'indirizzo di posta elettronica corrisponda a quella a cui è stato eseguito l'accesso.