Discord
Post en besked i en Discord-kanal, når en hændelse åbnes, så de, der følger kanalen, ved det med det samme. Status200s workflowtrin Send Message to Discord poster via kanalens webhook, og en færdig skabelon bygger hele workflowet for dig. Denne integration er udgående: Status200 poster i kanalen og læser ikke, hvad der bliver sagt der.
Sådan fungerer det
Fra hændelse til Discord-besked
Trinnet poster Message Text til kanalens webhook. Det tager sin udgang Success, når Discord tager imod beskeden, og sin udgang Error, med Discords begrundelse, når Discord afviser den. Skabelonen forbinder et trin Log til Error, så en kørsel, der ikke kunne poste, siger hvorfor.
Før du går i gang
- I Discord tilladelsen Manage Webhooks på kanalen.
- I Status200 retten til at oprette workflows og variabler. På Status200 Cloud kræver workflows planen Growth eller højere.
Opsæt integrationen
Opret en webhook i Discord
- Åbn kanalens indstillinger i Discord med Edit Channel, derefter Integrations → Webhooks, og vælg New Webhook.
- Giv den et navn, for eksempel
Status200, og kontrollér, at den poster i den rigtige kanal. - Vælg Copy Webhook URL.
Alle, der har URL'en, kan poste i kanalen, så pas lige så godt på den som på en adgangskode.
Byg workflowet
Start fra skabelonen, der bygger hele workflowet for dig, eller fra bunden.
Fra skabelonen
- Åbn Arbejdsgange, og klik på Opret arbejdsgang.
- Skriv
Discordi Søg i skabeloner…, klik på Tell Discord when an incident opens, og klik derefter på Brug denne skabelon. - Behold navnet Notify Discord on new incident, eller ændr det, og klik på Næste.
- Indsæt URL'en i Discord Webhook URL, og klik på Opret arbejdsgang.
Workflowet åbner i Bygger med tre trin: On Create Incident; Send Message to Discord, der poster hændelsens nummer, titel, alvorlighed og tilstand; og et trin Log på dets udgang Error. URL'en gemmes som workflowets hemmelige variabel
discordWebhookUrl.Fra bunden
- Gem URL'en som en hemmelig global variabel: gå til Arbejdsgange → Globale variabler, klik på Opret Workflow Variabel, giv den navnet
DISCORD_WEBHOOK_URL, og klik på Næste. Indsæt URL'en i Indhold, slå Hemmelighed til, og klik på Opret Workflow Variabel. - Gå til Arbejdsgange, klik på Opret arbejdsgang, vælg Start fra bunden, giv workflowet et navn, og klik på Opret arbejdsgang.
- Klik i Bygger på Choose what starts this workflow, og vælg On Create Incident under Popular. Klik på triggeren: dens Fields to pass on starter med Titel, så klik på Tilføj felt, og vælg de andre felter, din besked viser, for eksempel Incident Number With Prefix.
- Klik på Tilføj komponent, søg efter
discord, og klik på Send Message to Discord. Forbind triggerens udgang Success til den. - Klik på det nye trin. Klik i Discord Incoming Webhook URL på { }, og vælg
DISCORD_WEBHOOK_URLunder Global variables. Skriv beskeden i Message Text, og indsæt hændelsens felter med { }.
En besked bygget fra bunden læser hændelsens felter med referencer som disse:
🚨 **Incident {{local.components.incident-on-create-1.returnValues.model.incidentNumberWithPrefix}} declared** **Title:** {{local.components.incident-on-create-1.returnValues.model.title}}Slå det til, og test det
Slå Aktiveret til øverst i Bygger. Fra nu af postes hver ny hændelse i kanalen.
For at teste uden at åbne en hændelse klikker du på Kør arbejdsgang og vælger en hændelse, du allerede har, under Hændelse: de seneste er vist, og når du skriver dens nummer eller en del af dens titel, finder du en anden. Klik på Kør arbejdsgang manuelt, og bekræft med Kør. Panelet Arbejdsgangskørsel følger kørslen, og beskeden dukker op i kanalen. Tager trinnet i stedet Error, siger linjen fra trinnet Log hvorfor: se Fejlfinding.
Tips
- Formatér med Discords Markdown. Teksten sendes, som den er skrevet, så Discords Markdown virker i den: stjerner om et ord gør det fedt, og en URL vises som et link.
- Hold øje med grænsen på 2.000 tegn. Discord tager imod beskeder på op til 2.000 tegn. En længere bliver afkortet og slutter med "… (обрезано — полный текст в Status200)" i stedet for at blive afvist.
- Post mere end nye hændelser. Byg et andet workflow på On Update Incident til tilstandsændringer, eller på On Create Alert til advarsler, med det samme trin. For kun at poste nogle hændelser sætter du en blok If / Else før trinnet.
- Kun Discords egne adresser. Trinnet poster til en
https-URL pådiscord.comellerdiscordapp.comog følger ikke omdirigeringer, så en URL, der peger andre steder hen, stopper kørslen.
Fejlfinding
Når trinnet tager Error, siger kørslen hvorfor: skabelonens trin Log skriver ❌ Discord could not deliver the incident notification: og Discords begrundelse.
Discord svarer "Unknown Webhook" eller "Invalid Webhook Token"
Webhooken er slettet, eller URL'en er kopieret forkert. Opret en ny webhook, og erstat URL'en: i skabelonens workflow variablen discordWebhookUrl, i dit eget workflow indholdet af DISCORD_WEBHOOK_URL.
Discord svarer "You are being rate limited"
Discord begrænser, hvor ofte én webhook kan poste. En byge af hændelser kan ramme grænsen: post færre beskeder, for eksempel kun for nogle alvorligheder.
Kørslen stopper med "Discord Webhook URL must be an https URL on discord.com or discordapp.com"
Discord Incoming Webhook URL indeholder noget andet end en Discord-webhook, eller den variabel, den læser, er tom. Indsæt URL'en fra Copy Webhook URL igen.