Spor GitHub-depotaktivitet i sanntid på Slack ved å bruke denne APIen.

Å integrere GitHub med Slack vil hjelpe deg å strømlinjeforme teamets kommunikasjon ved å informere dem om sanntidsdepothendelser. Denne integrasjonen hjelper til med å samarbeide mer effektivt, diskutere endringer i konteksten til kodebasen og raskt løse eventuelle bekymringer som kan oppstå under utviklingen.

Dessuten lar integrering av GitHub med Slack deg tilpasse varsler for å passe teamets unike arbeidsflyt. Dette minimerer distraksjoner og fokuserer på det som virkelig betyr noe. Denne skreddersydde tilnærmingen til kommunikasjon gir teamet ditt mulighet til å ta informerte beslutninger og iverksette handlinger i tide, for å sikre den høyeste kvaliteten på resultatet.

Trinn 1: Lag en ny Slack-app

For å følge opp, bør du være komfortabel ved å bruke Slack-plattformen. Du bør også være kjent med GitHub.

Det første trinnet i integreringen er å lage en ny Slack-app. Denne appen vil være ansvarlig for å legge ut meldinger på den valgte Slack-kanalen når en repository-hendelse oppstår. For å opprette en ny app, naviger til

instagram viewer
Slakk nettside og logg på kontoen din. Deretter oppretter du et nytt arbeidsområde. Du vil bruke dette arbeidsområdet til å teste appen din før du installerer den i teamets arbeidsområde.

Naviger til Slack API-nettsted i en ny nettleserfane.

Klikk på Appene dine knapp. På siden som vises, klikk på Opprett ny app knapp.

Velg alternativet for å lage appen fra bunnen av. Gi deretter appen et navn og velg arbeidsområdet du vil installere den på.

Klikk på Lag app knapp. Denne handlingen vil opprette den nye Slack-appen din og omdirigere deg til dashbordet.

Trinn 2: Sett opp en Slack Incoming Webhook

En Slack Incoming Webhook lar deg sende meldinger fra eksterne kilder til Slack-arbeidsområdet ditt. For å sette opp webhook, velg Innkommende Webhooks trekk. Pass på at du slår på Aktiver innkommende webhooks knapp.

Rull ned til Webhook-URL-er for arbeidsområdet ditt seksjon. Klikk på Legg til ny webhook i arbeidsområdet knapp.

Slack vil be deg velge kanalen der appen din skal legge ut meldinger. Velg kanalen og klikk på Tillate knapp.

Dette vil legge til appen din til den valgte kanalen. Gå tilbake til Webhook-URL-er for arbeidsområdet ditt seksjon. Kopier den genererte Webhook URL. Dette er nettadressen som GitHub vil sende varslene om depothendelser til.

Du er nå ferdig med å konfigurere Slack-siden.

Trinn 3: Konfigurer GitHub Repo

Naviger til GitHub nettsted og logg på kontoen din. Gå til depotet du vil motta hendelsesvarslene fra. Du kan også opprette et nytt depot. Klikk på Handlinger fanen under depotnavnet.

Klikk deretter på sette opp en arbeidsflyt selv link. Den neste siden som vises krever at du oppretter en YAML-fil i GitHub-arbeidsflytkatalogen. Denne filen definerer GitHub Actions-arbeidsflyten som er ansvarlig for å sende varsler til Slack-arbeidsområdet ditt.

Du vil skrive YAML-koden i den integrerte editoren. Denne koden vil integrere GitHub med Slack ved å sende varsler til en Slack-kanal når spesifikke hendelser oppstår i depotet.

Den fullstendige kildekoden som brukes i denne artikkelen er tilgjengelig i en GitHub-depot.

Trinn 4: Skriv YAML-koden for å integrere GitHub med Slack

Gi arbeidsflyten et navn. Velg gjerne navnet du liker.

Navn:SlakkMelding

Spesifiser hendelsene som skal utløse arbeidsflyten. Det er her du velger hendelsene du vil at teamet ditt skal varsles om. Legg til eller fjern hendelsene for å passe dine behov.

på:
trykk:
pull_request:
problemer:
typer:
-åpnet
-lukket
-gjenåpnet
-redigert
-slettet
-festet
-løsnet
-tildelt
-ikke tilordnet
-merket
-umerket
-milepæl
-demilestone
issue_comment:
typer:[opprettet,redigert,slettet]
skape:
slett:

Konfigurer jobben din og velg det virtuelle miljøet den skal kjøre på. varsle_slakk er navnet på jobben. Du kan endre det til din smak.

arbeidsplasser:
varsle_slakk:
kjører på:ubuntu-siste

Sett opp et trinn som vil være ansvarlig for å sende et varsel til Slack.

trinn:
-Navn:SendeSlakkmelding

Definer en miljøvariabel med navn SLACK_WEBHOOK_URL. Den vil lagre Slack webhook-URLen. Du vil senere legge til URL-en til GitHubs depothemmeligheter.

env:
SLACK_WEBHOOK_URL:${{hemmeligheter. SLACK_WEBHOOK_URL}}

Konfigurer action-slakk GitHub-handling. Som er en tredjepartshandling som håndterer den underliggende logikken for å samhandle med Slack API. Den lar deg fokusere på å konfigurere meldingene og hendelsene som utløser varslene. Dette gjør prosessen med å sende varsler til Slack mye enklere.

bruker:8398a7/action-slack@v3

Denne koden bruker 8398a7/action-slack@v3handling.

Konfigurer 8398a7/action-slack@v3 handling med egendefinerte parametere. De status parameter setter meldingsstatusen til tilpasset. Det vil tillate deg å definere innholdet i Slack-meldingen ved å bruke en tilpasset nyttelast. De Enger parameter viser feltene som skal inkluderes i Slack-meldingen.

med:
status:tilpasset
Enger:repo, forplikte, hendelse, handling, arbeidsflyt, ref, URL

Lage en custom_payload som vil tilpasse utseendet til Slack-meldingen for å passe dine preferanser.

custom_payload:|
{
"vedlegg":[
{
"farge":"${{ jobb status }}",
"tittel":>-
${{github.actor}}${{github.event.pull_request&&github.event.pull_request.merged==ekte&&'slått sammen en pull request'||github.event.pull_request&&"åpnet en pull-forespørsel"||github.event_name=='trykk'&&"presset nye endringer"||github.event_name=='skape'&&"opprettet en ny gren eller tag"||github.event_name=='slett'&&"slettet en gren eller tag"||github.event_name=='problemer'&&github.event.action||"utløste en hendelse"}},
"tekst":>-
:tada:Eventdetaljer:

-Oppbevaringssted:${{github.repository}}
-Filial:${{github.ref}}
-Beskjed:${{github.event_name=='trykk'&&github.event.head_commit.message||github.event_name=='problemer'&&github.event.issue.title||github.event_name=='pull_request'&&github.event.pull_request.title||''}}
-:globe_with_meridians:Link:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

Du kan referere til 8398a7/action-slack@v3 tilpasset brukstilfelle for å finne alle støttede tilpasninger. Overfør YAML-filen for å opprette den nye arbeidsflyten.

Det siste trinnet med å integrere GitHub med Slack er å legge til en ny depothemmelighet. Hemmeligheten i dette tilfellet er Slack Webhook URL du kopierte fra Slack. Hold denne nettadressen hemmelig, siden alle som har tilgang til den kan sende meldinger til arbeidsområdet ditt.

Naviger til depotinnstillingene dine. Klikk på hemmeligheter og variabler under sikkerhet trekk. Velg Handlinger alternativ.

Klikk på Ny depothemmelighet. Legg til navnet på hemmeligheten som SLACK_WEBHOOK_URL. Deretter limer du inn Slakk URL inn i hemmelighetsfeltet. Til slutt klikker du på Legg til hemmelig for å lagre den nye hemmeligheten.

Du er nå ferdig med å integrere GitHub med Slack. Hver gang en hendelse skjer i depotet ditt, vil en melding vises i kanalen din. Prøve opprette en ny pull-forespørsel. Dette vil utløse en push-hendelse.

Skjermbildet nedenfor viser eksempelmeldinger på Slack som viser hendelser som fant sted i et depot.

Du kan tilpasse meldingsnyttelasten til å inkludere andre felt som du kan finne nødvendige.

Forbedre produktiviteten med slakke integrasjoner

GitHub er ikke den eneste Slack-integrasjonen du kan legge til arbeidsområdet ditt. Det er mange integrasjoner du kan bruke for å forbedre teamets produktivitet og forbedre kommunikasjonen deres. Å bli kjent med disse integrasjonene vil hjelpe deg å strømlinjeforme teamets arbeidsflyt og holde alle på samme side.