Passa al contenuto principale

Slack

Le notifiche Slack permettono di ricevere aggiornamenti in tempo reale sui workflow di Semaphore direttamente nei canali Slack. Questa integrazione aiuta i team a rimanere informati sullo stato delle build, sui risultati dei deployment e su altri eventi importanti senza dover controllare continuamente la dashboard di Semaphore.

Per configurare le notifiche Slack, è necessario creare un URL webhook che colleghi Semaphore al canale Slack desiderato. Questo webhook funge da ponte di comunicazione sicuro tra le due piattaforme.

Creazione del webhook Slack​

Passo 1. Aprire le impostazioni API di Slack​

  1. Andare su https://api.slack.com/apps.
  2. Fare clic su Create New App → scegliere From Scratch.
  3. Assegnare un nome all'app (ad es. Semaphore Bot) e selezionare il proprio workspace Slack.

Passo 2. Abilitare gli Incoming Webhooks​

  1. Nelle impostazioni dell'app, andare su Features → Incoming Webhooks.
  2. Impostare Activate Incoming Webhooks su On.

Passo 3. Creare un URL webhook​

  1. Fare clic su Add New Webhook to Workspace.

  2. Selezionare il canale a cui devono essere inviati i messaggi.

  3. Fare clic su Allow.

  4. Verrà mostrato un Webhook URL simile a:

    https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx

Passo 4. Testare il webhook​

Utilizzare curl per il test:

curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Hello from Semaphore UI 🚀"}' \
https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx

Se tutto è configurato correttamente, il messaggio comparirà nel canale Slack selezionato.

Configurazione di Semaphore​

Una volta ottenuto l'URL webhook di Slack, è possibile configurare Semaphore per l'invio delle notifiche in diversi modi:

Le notifiche Slack possono essere abilitate tramite file di configurazione o variabili d'ambiente.

Metodo 1: file di configurazione​

Aggiungere le seguenti impostazioni al file di configurazione di Semaphore:

  • slack_alert: impostare a true per abilitare le notifiche Slack
  • slack_url: l'URL webhook ottenuto nel passo precedente

Esempio di config.json:

{
"slack_alert": true,
"slack_url": "https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx",
}

Metodo 2: variabili d'ambiente​

In alternativa, è possibile utilizzare le variabili d'ambiente per configurare le notifiche Slack. Questo metodo è particolarmente utile per i deployment containerizzati o quando si desidera mantenere le informazioni sensibili separate dai file di configurazione.

SEMAPHORE_SLACK_ALERT=True
SEMAPHORE_SLACK_URL=https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx