Tieni traccia dell'attività del repository GitHub in tempo reale su Slack utilizzando questa API.
L'integrazione di GitHub con Slack ti aiuterà a semplificare la comunicazione del tuo team informandolo sugli eventi del repository in tempo reale. Questa integrazione aiuta a collaborare in modo più efficiente, discutere le modifiche nel contesto della base di codice e risolvere rapidamente eventuali problemi che possono sorgere durante lo sviluppo.
Inoltre, l'integrazione di GitHub con Slack ti consente di personalizzare le notifiche per adattarle al flusso di lavoro unico del tuo team. Questo riduce al minimo le distrazioni e si concentra su ciò che conta davvero. Questo approccio su misura alla comunicazione consente al tuo team di prendere decisioni informate e intraprendere azioni tempestive, garantendo risultati della massima qualità.
Passaggio 1: crea una nuova app Slack
Per proseguire, dovresti sentirti a tuo agio utilizzando la piattaforma Slack. Dovresti anche avere familiarità con GitHub.
Il primo passaggio dell'integrazione è la creazione di una nuova app Slack. Questa app sarà responsabile della pubblicazione dei messaggi sul canale Slack selezionato quando si verifica un evento del repository. Per creare una nuova app, vai al file Sito Web debole e accedi al tuo account. Quindi, crea un nuovo spazio di lavoro. Utilizzerai questo spazio di lavoro per testare la tua app prima di installarla nell'area di lavoro del tuo team.
Naviga verso il Sito web dell'API Slack in una nuova scheda del browser.
Clicca su Le tue app pulsante. Nella pagina visualizzata, fare clic su Crea nuova app pulsante.
Scegli l'opzione per creare l'app da zero. Quindi assegna un nome alla tua app e scegli l'area di lavoro in cui desideri installarla.
Clicca sul Crea app pulsante. Questa azione creerà la tua nuova app Slack e ti reindirizzerà alla sua dashboard.
Passaggio 2: impostare un webhook in entrata lento
Un webhook in entrata di Slack ti consente di inviare messaggi da fonti esterne nell'area di lavoro di Slack. Per impostare il webhook, scegli il file Webhook in arrivo caratteristica. Assicurati di accendere il Attiva webhook in entrata pulsante.
Scorri verso il basso fino a URL webhook per il tuo spazio di lavoro sezione. Clicca sul Aggiungi nuovo webhook all'area di lavoro pulsante.
Slack ti chiederà di scegliere il canale in cui la tua app pubblicherà i messaggi. Scegli il canale e clicca sul Permettere pulsante.
Questo aggiungerà la tua app al canale selezionato. Torna al URL webhook per il tuo spazio di lavoro sezione. Copia il file generato URL webhook. Questo è l'URL a cui GitHub invierà le notifiche degli eventi del repository.
Ora hai finito di configurare il lato Slack.
Passaggio 3: configurare il repository GitHub
Naviga verso il Sito web GitHub e accedi al tuo account. Vai al repository da cui desideri ricevere le notifiche degli eventi. Puoi anche creare un nuovo archivio. Clicca sul Azioni scheda sotto il nome del repository.
Quindi fare clic sul imposta tu stesso un flusso di lavoro collegamento. La pagina successiva visualizzata richiede la creazione di un file YAML nella directory dei flussi di lavoro di GitHub. Questo file definisce il flusso di lavoro GitHub Actions responsabile dell'invio di notifiche all'area di lavoro Slack.
Scriverai il codice YAML nell'editor integrato. Questo codice integrerà GitHub con Slack inviando notifiche a un canale Slack quando si verificano eventi specifici nel repository.
Il codice sorgente completo utilizzato in questo articolo è disponibile in a Deposito GitHub.
Passaggio 4: scrivere il codice YAML per l'integrazione di GitHub con Slack
Dai un nome al tuo flusso di lavoro. Sentiti libero di scegliere il nome che preferisci.
nome:AllentatoNotifica
Specificare gli eventi che attiveranno il flusso di lavoro. Qui è dove scegli gli eventi di cui desideri che il tuo team venga informato. Aggiungi o rimuovi gli eventi in base alle tue esigenze.
SU:
spingere:
pull_request:
problemi:
tipi:
-ha aperto
-Chiuso
-riaperto
-modificato
-cancellato
-appuntato
-sbloccato
-assegnato
-non assegnato
-etichettato
-senza etichetta
-pietra miliare
-decalcificato
problema_commento:
tipi:[creato,modificato,cancellato]
creare:
eliminare:
Configura il tuo lavoro e scegli l'ambiente virtuale su cui verrà eseguito. notify_slack è il nome del lavoro. Puoi cambiarlo a tuo piacimento.
lavori:
notify_slack:
gira su:ubuntu-più recente
Imposta un passaggio che sarà responsabile dell'invio di una notifica a Slack.
passi:
-nome:InviareAllentatonotifica
Definire una variabile di ambiente denominata SLACK_WEBHOOK_URL. Memorizzerà l'URL del webhook Slack. Successivamente aggiungerai l'URL ai segreti del repository di GitHub.
env:
SLACK_WEBHOOK_URL:${{segreti. SLACK_WEBHOOK_URL}}
Configura il allentamento dell'azione Azione GitHub. Che è un'azione di terze parti che gestisce la logica sottostante dell'interazione con l'API Slack. Ti consente di concentrarti sulla configurazione dei messaggi e degli eventi che attivano le notifiche. Ciò semplifica notevolmente il processo di invio delle notifiche a Slack.
utilizza:8398a7/azione-slack@v3
Questo codice utilizza il 8398a7/azione-slack@v3azione.
Configura il 8398a7/azione-slack@v3 azione con parametri personalizzati. IL stato parametro imposta lo stato del messaggio a costume. Ti consentirà di definire il contenuto del messaggio Slack utilizzando un payload personalizzato. IL campi Il parametro elenca i campi da includere nel messaggio Slack.
con:
stato:costume
campi:repository, commit, evento, azione, flusso di lavoro, riferimento, URL
Creare un custom_payload che personalizzerà l'aspetto del messaggio Slack in base alle tue preferenze.
custom_payload:|
{
"allegati":[
{
"colore":"${{ job.status }}",
"titolo":>-
${{github.attore}}${{github.event.pull_request&&github.event.pull_request.merged==VERO&&'ha unito una richiesta pull'||github.event.pull_request&&'ha aperto una richiesta pull'||github.nome_evento=='spingere'&&'ha spinto nuove modifiche'||github.nome_evento=='creare'&&'ha creato un nuovo ramo o tag'||github.nome_evento=='eliminare'&&'eliminato un ramo o un tag'||github.nome_evento=='problemi'&&github.evento.azione||'ha attivato un evento'}},
"testo":>-
:tada:Dettagli dell'evento:
-Deposito:${{github.repository}}
-Ramo:${{github.ref}}
-Messaggio:${{github.nome_evento=='spingere'&&github.event.head_commit.message||github.nome_evento=='problemi'&&github.event.issue.title||github.nome_evento=='pull_richiesta'&&github.event.pull_request.title||''}}
-:globe_with_meridians:Collegamento:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}
]
}
Puoi fare riferimento al Caso d'uso personalizzato 8398a7/action-slack@v3 per trovare tutte le personalizzazioni supportate. Esegui il commit del file YAML per creare il nuovo flusso di lavoro.
L'ultimo passaggio dell'integrazione di GitHub con Slack è l'aggiunta di un nuovo segreto del repository. Il segreto in questo caso è il URL webhook lento hai copiato da Slack. Mantieni questo URL segreto poiché chiunque abbia accesso ad esso può inviare messaggi al tuo spazio di lavoro.
Passa alle impostazioni del tuo repository. Clicca sul segreti e variabili sotto il sicurezza caratteristica. Seleziona il Azioni opzione.
Clicca su Nuovo segreto del repository. Aggiungi il nome del segreto come SLACK_WEBHOOK_URL. Quindi incolla il file URL lento nel campo segreto. Infine, fai clic sul Aggiungi Segreto pulsante per salvare il nuovo segreto.
Ora hai finito di integrare GitHub con Slack. Ogni volta che si verifica un evento nel tuo repository, verrà visualizzato un messaggio nel tuo canale. Tentativo creando una nuova richiesta pull. Ciò attiverà un evento push.
Lo screenshot qui sotto mostra messaggi di esempio su Slack che mostrano eventi che hanno avuto luogo in un repository.
Puoi personalizzare il payload del messaggio per includere altri campi che potresti ritenere necessari.
Migliora la tua produttività con le integrazioni Slack
GitHub non è l'unica integrazione Slack che puoi aggiungere al tuo spazio di lavoro. Esistono numerose integrazioni che puoi utilizzare per migliorare la produttività del tuo team e migliorare la loro comunicazione. Acquisire familiarità con queste integrazioni ti aiuterà a semplificare il flusso di lavoro del tuo team e a mantenere tutti sulla stessa pagina.