Spåra GitHub-förvarsaktivitet i realtid på Slack med detta API.

Att integrera GitHub med Slack hjälper dig att effektivisera ditt teams kommunikation genom att informera dem om händelser i realtidsförvar. Denna integrering hjälper till att samarbeta mer effektivt, diskutera förändringar i kodbasens sammanhang och snabbt ta itu med eventuella problem som kan uppstå under utvecklingen.

Genom att integrera GitHub med Slack kan du dessutom anpassa aviseringar för att passa ditt teams unika arbetsflöde. Detta minimerar distraktioner och fokuserar på det som verkligen betyder något. Detta skräddarsydda tillvägagångssätt för kommunikation ger ditt team möjlighet att fatta välgrundade beslut och vidta åtgärder i rätt tid, vilket säkerställer högsta kvalitet.

Steg 1: Skapa en ny Slack-app

För att gå igenom måste du vara bekväm använder Slack-plattformen. Du bör också vara bekant med GitHub.

Det första steget i integrationen är att skapa en ny Slack-app. Den här appen kommer att ansvara för att posta meddelanden på den valda Slack-kanalen när en repository-händelse inträffar. För att skapa en ny app, navigera till

instagram viewer
Slack hemsida och logga in på ditt konto. Skapa sedan en ny arbetsyta. Du kommer att använda den här arbetsytan för att testa din app innan du installerar den i ditt teams arbetsyta.

Navigera till Slack API-webbplats i en ny webbläsarflik.

Klicka på Dina appar knapp. På sidan som visas klickar du på Skapa ny app knapp.

Välj alternativet för att skapa appen från början. Namnge sedan din app och välj den arbetsyta du vill installera den på.

Klicka på Skapa app knapp. Den här åtgärden skapar din nya Slack-app och omdirigerar dig till dess instrumentpanel.

Steg 2: Konfigurera en Slack Incoming Webhook

En Slack Incoming Webhook låter dig skicka meddelanden från externa källor till din Slack-arbetsyta. För att ställa in webhook, välj Inkommande Webhooks funktion. Se till att du slår på Aktivera Inkommande Webhooks knapp.

Scrolla ner till Webhook-URL: er för din arbetsyta sektion. Klicka på Lägg till ny webbhook till arbetsytan knapp.

Slack kommer att begära att du väljer i vilken kanal din app kommer att publicera meddelanden. Välj kanal och klicka på Tillåta knapp.

Detta kommer att lägga till din app till den valda kanalen. Gå tillbaka till Webhook-URL: er för din arbetsyta sektion. Kopiera det genererade Webhook URL. Det här är webbadressen som GitHub skickar meddelanden om förvarshändelser till.

Du är nu klar med att konfigurera Slack-sidan.

Steg 3: Konfigurera GitHub Repo

Navigera till GitHub webbplats och logga in på ditt konto. Gå till arkivet du vill ta emot händelseaviseringar från. Du kan också skapa ett nytt arkiv. Klicka på Handlingar fliken under förvarets namn.

Klicka sedan på skapa ett arbetsflöde själv länk. Nästa sida som visas kräver att du skapar en YAML-fil i GitHubs arbetsflödeskatalog. Den här filen definierar GitHub Actions-arbetsflödet som ansvarar för att skicka meddelanden till din Slack-arbetsyta.

Du kommer att skriva YAML-koden i den integrerade editorn. Denna kod kommer att integrera GitHub med Slack genom att skicka meddelanden till en Slack-kanal när specifika händelser inträffar i förvaret.

Den fullständiga källkoden som används i den här artikeln finns tillgänglig i en GitHub-förråd.

Steg 4: Skriv YAML-koden för att integrera GitHub med Slack

Namnge ditt arbetsflöde. Välj gärna namn efter eget tycke.

namn:SlakUnderrättelse

Ange de händelser som ska utlösa arbetsflödet. Det är här du väljer de händelser som du vill att ditt lag ska få besked om. Lägg till eller ta bort händelserna för att passa dina krav.

på:
skjuta på:
pull_request:
problem:
typer:
-öppnad
-stängd
-öppnade igen
-redigerade
-raderade
-fäst
-lossade
-tilldelas
-otilldelad
-märkt
-omärkt
-milstolpar
-demilstone
issue_comment:
typer:[skapat,redigerade,raderade]
skapa:
radera:

Konfigurera ditt jobb och välj den virtuella miljö det ska köras på. notify_slack är namnet på jobbet. Du kan ändra det efter eget tycke.

jobb:
notify_slack:
går på:ubuntu-senaste

Ställ in ett steg som ansvarar för att skicka ett meddelande till Slack.

steg:
-namn:SkickaSlakunderrättelse

Definiera en miljövariabel med namnet SLACK_WEBHOOK_URL. Det kommer att lagra Slack webhook-URL. Du kommer senare att lägga till URL: en till GitHubs arkivhemligheter.

env:
SLACK_WEBHOOK_URL:${{hemligheter. SLACK_WEBHOOK_URL}}

Konfigurera action-slack GitHub Action. Vilket är en tredjepartsåtgärd som hanterar den underliggande logiken för att interagera med Slack API. Det låter dig fokusera på att konfigurera meddelanden och händelser som utlöser aviseringarna. Detta gör processen att skicka aviseringar till Slack mycket enklare.

använder:8398a7/action-slack@v3

Denna kod använder 8398a7/action-slack@v3handling.

Konfigurera 8398a7/action-slack@v3 åtgärd med anpassade parametrar. De status parametern ställer in meddelandestatus till beställnings-. Det låter dig definiera innehållet i Slack-meddelandet med hjälp av en anpassad nyttolast. De fält parametern listar fälten som ska inkluderas i Slack-meddelandet.

med:
status:beställnings-
fält:repo, commit, händelse, åtgärd, arbetsflöde, ref, URL

Skapa en custom_payload som kommer att anpassa utseendet på Slack-meddelandet för att passa dina preferenser.

custom_payload:|
{
"bilagor":[
{
"Färg":"${{ Jobbstatus }}",
"titel":>-
${{github.actor}}${{github.event.pull_request&&github.event.pull_request.merged==Sann&&"slog samman en pull-begäran"||github.event.pull_request&&"öppnade en pull-begäran"||github.event_name=='skjuta på'&&"drivit nya förändringar"||github.event_name=='skapa'&&"skapade en ny gren eller tagg"||github.event_name=='radera'&&"raderat en gren eller tagg"||github.event_name=="problem"&&github.event.action||"utlöste en händelse"}},
"text":>-
:tada:Evenemangsdetaljer:

-Förvar:${{github.repository}}
-Gren:${{github.ref}}
-Meddelande:${{github.event_name=='skjuta på'&&github.event.head_commit.message||github.event_name=="problem"&&github.event.issue.title||github.event_name=='pull_request'&&github.event.pull_request.title||''}}
-:globe_with_meridianer:Länk:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

Du kan hänvisa till 8398a7/action-slack@v3 anpassat användningsfall för att hitta alla anpassningar som stöds. Bekräfta YAML-filen för att skapa det nya arbetsflödet.

Det sista steget för att integrera GitHub med Slack är att lägga till en ny förvarshemlighet. Hemligheten i det här fallet är Slack Webhook URL du kopierade från Slack. Håll den här webbadressen hemlig eftersom alla som har tillgång till den kan skicka meddelanden till din arbetsyta.

Navigera till dina förvarsinställningar. Klicka på hemligheter och variabler under säkerhet funktion. Välj Handlingar alternativ.

Klicka på Ny förvarshemlighet. Lägg till namnet på hemligheten som SLACK_WEBHOOK_URL. Klistra sedan in Slack URL in i det hemliga fältet. Slutligen klickar du på Lägg till hemlighet knappen för att spara den nya hemligheten.

Du har nu slutfört att integrera GitHub med Slack. Varje gång en händelse inträffar i ditt arkiv kommer ett meddelande att visas i din kanal. Prova skapa en ny pull-begäran. Detta kommer att utlösa en push-händelse.

Skärmdumpen nedan visar exempelmeddelanden på Slack som visar händelser som ägde rum i ett arkiv.

Du kan anpassa meddelandenyttolasten så att den inkluderar andra fält som du kan tycka är nödvändiga.

Förbättra din produktivitet med slaka integrationer

GitHub är inte den enda Slack-integrationen som du kan lägga till i din arbetsyta. Det finns många integrationer som du kan använda för att förbättra ditt teams produktivitet och förbättra deras kommunikation. Att bli bekant med dessa integrationer hjälper dig att effektivisera ditt teams arbetsflöde och hålla alla på samma sida.