Usare Azure Pipelines con Slack

Servizi di Azure DevOps

Con l'app Azure Pipelines per Slack, gli utenti di Slack possono tenere traccia facilmente degli eventi che si verificano all'interno delle pipeline. L'app consente agli utenti di stabilire e supervisionare sottoscrizioni per vari eventi della pipeline, ad esempio compilazioni, versioni, approvazioni in sospeso e altro ancora. Le notifiche per questi eventi vengono quindi recapitate direttamente ai canali Slack degli utenti

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

  • In Slack è necessario disporre dell'autorizzazione per installare un'app nell'area di lavoro slack.
  • Per Azure DevOps, è necessario trovarsi nel gruppo Project Collection Amministrazione istrators o Project Amministrazione istrators per configurare una sottoscrizione slack.

Installare l'app Azure Pipelines

Passare all'app Slack di Azure Pipelines per installare l'app Azure Pipelines nell'area di lavoro Slack. Dopo l'aggiunta, verrà visualizzato un messaggio di benvenuto dall'app come indicato di seguito. Usare l'handle /azpipelines per iniziare a interagire con l'app.

A screenshot showing the Azure Pipelines app welcome message.

Connettersi alla pipeline

Dopo aver installato l'app nell'area di lavoro slack, è possibile connettere l'app a qualsiasi pipeline da monitorare. Prima di eseguire qualsiasi comando, verrà chiesto di eseguire l'autenticazione in Azure Pipelines.

A screenshot showing the sign-in prompt message.

Per avviare il monitoraggio di tutte le pipeline in un progetto, usare il comando barra seguente all'interno di un canale:

/azpipelines subscribe [project url]

L'URL del progetto può essere collegato a qualsiasi pagina all'interno del progetto (ad eccezione degli URL alle pipeline). Ad esempio: /azpipelines subscribe https://dev.azure.com/myorg/myproject/

È anche possibile monitorare una pipeline specifica usando il comando seguente:

/azpipelines subscribe [pipeline url]

L'URL della pipeline può essere collegato a qualsiasi pagina all'interno della pipeline con o definitionIdbuildId/releaseId nell'URL. Ad esempio: /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123o: /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123& view=mine&_a=releases

Il comando subscribe consente di iniziare con alcune sottoscrizioni per impostazione predefinita. Ecco le notifiche predefinite abilitate per il tipo di pipeline seguente:

Pipeline di compilazione Pipeline di versione Pipeline YAML
Notifica di compilazione completata Distribuzione del rilascio avviata, Distribuzione del rilascio completata e Approvazione della distribuzione del rilascio in sospeso Stato della fase di esecuzione modificato e Fase di esecuzione in attesa di notifiche di approvazione

A screenshot showing notification example.

Gestire le sottoscrizioni

Per gestire le sottoscrizioni per un canale, usare il comando seguente: /azpipelines subscriptions

Questo comando elenca tutte le sottoscrizioni correnti per il canale e consente di aggiungere o rimuovere sottoscrizioni.

Nota

Gli amministratori del team non sono in grado di rimuovere o modificare le sottoscrizioni create dagli amministratori di Project.

A screenshot showing a list of subscriptions.

Personalizzare le sottoscrizioni

Per impostazione predefinita, quando si sottoscrive una pipeline, vengono generate diverse sottoscrizioni che non dispongono di filtri applicati. Tuttavia, è comune che gli utenti vogliano personalizzare queste sottoscrizioni in base alle proprie preferenze. Ad esempio, gli utenti potrebbero voler ricevere notifiche solo per le compilazioni non riuscite o quando le distribuzioni vengono eseguite nell'ambiente di produzione. L'app Azure Pipelines offre la possibilità di applicare filtri, consentendo agli utenti di personalizzare i messaggi ricevuti nel proprio 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. Al termine, seleziona Salva.

Esempio: Ottenere notifiche solo per le compilazioni non riuscite

A screenshot showing a list how to add a custom new subscription.

Approvare le distribuzioni

È possibile approvare le distribuzioni dal canale Slack senza passare al portale di Azure Pipelines sottoscrivendo le notifiche di approvazione della distribuzione di rilascio in sospeso (versioni classiche) o la fase Esegui in attesa di notifiche di approvazione (pipeline YAML). Entrambe le sottoscrizioni vengono create per impostazione predefinita quando si sottoscrive una pipeline.

A screenshot showing pipeline approval 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 includono un singolo responsabile approvazione, più responsabili approvazione e approvazione basata su team. È possibile approvare le richieste singolarmente o per conto di un team.

A screenshot showing a predeployment pipeline approved in Slack.

Rimuovere tutte le sottoscrizioni

Per includare il canale, è possibile usare i comandi seguenti per annullare la sottoscrizione a tutte le pipeline all'interno di un progetto. Ad esempio: /azpipelines annullare la sottoscrizione a tutti https://dev.azure.com/myorg/myproject.

/azpipelines unsubscribe all [project url]

Importante

Questo comando può essere eseguito solo dagli amministratori del progetto.

Informazioni di riferimento su comandi

Ecco tutti i comandi supportati dall'app Azure Pipelines per Slack:

Comando barra Funzionalità
/azpipelines subscribe [pipeline url/ project url] Sottoscrivere una pipeline o tutte le pipeline in un progetto per ricevere notifiche
/azpipelines subscriptions Aggiungere o rimuovere sottoscrizioni per questo canale
/azpipelines feedback Segnalare un problema o suggerire una funzionalità
/azpipelines help Ottenere informazioni sui comandi della barra
/azpipelines signin Accedere all'account Azure Pipelines
/azpipelines signout Disconnettersi dall'account Azure Pipelines
/azpipelines annullare la sottoscrizione a tutti [url progetto] Rimuovere tutte le pipeline (appartenenti a un progetto) e le relative sottoscrizioni associate da un canale

Notifiche nei canali privati

L'app Azure Pipelines consente di monitorare anche 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 nello stesso modo in cui si farebbe per un canale pubblico.

Nota

  • È possibile usare l'app Azure Pipelines per Slack solo con un progetto ospitato in Azure DevOps Services in questo momento.
  • L'utente deve essere un amministratore del progetto contenente la pipeline per configurare le sottoscrizioni
  • Le notifiche non sono attualmente supportate all'interno dei messaggi diretti
  • Le approvazioni della distribuzione con 'Revalidate identity of approver before complete the approval' policy applied, non sono supportate
  • L'accesso alle applicazioni di terze parti tramite OAuth deve essere abilitato per ricevere notifiche per l'organizzazione in Azure DevOps (organizzazione Impostazioni - Sicurezza ->> Criteri)

Risoluzione dei problemi

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

Si è verificato un errore. Riprovare

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 Organization Impostazioni> Security Policies (Criteri di sicurezza>) e attivare l'accesso dell'applicazione di terze parti tramite OAuth per l'organizzazione.

A screenshot showing how to enable third party access via OAuth.

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

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

Aprire una finestra del browser privato/in incognito e passare a https://aex.dev.azure.com/me e accedere. Selezionare la directory che contiene l'organizzazione in cui si trova la pipeline a cui si vuole eseguire la sottoscrizione.

A screenshot showing how to select your pipeline directory.

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

Selezionare il Sign in pulsante e si verrà reindirizzati a una pagina di consenso, come illustrato nell'esempio seguente. Verificare che la directory visualizzata accanto all'indirizzo di posta elettronica corrisponda a quella selezionata nel passaggio precedente. Selezionare Accetta per completare il processo di accesso.

A screenshot showing how to allow pipelines slack integration.