3. Send en beskjed til slack
Nå skal vi lage en funksjon i vår app som kan sende en beskjed til en kanal i slack.
Opprett en webhook i slack:

I Visual Studio Code - klikk for å lage ny funksjon:
Gi funksjonen et navn: f.eks
PostMessageToSlackOppgi et namespace: f.eks
Slack.FunctionFunksjonen kan være
AnonymousSom standard vil funksjonen akseptere både
GETogPOST. Vi skal bare sende inn en melding så vi kan endre den til kun å trigge påPOST:
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,ILogger log)Ta bort det autogenererte innholdet i funksjonen
Vi ønsker å ta imot en melding i payload sendt inn til funksjonen på
POST. Egenskapen i payloaden gir vi navnetmessage. For å hente ut dette legger du inn følgende i din funksjon:
//read out the message from the body sent in by POST
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
var message = data?.message;Videre lager vi payload for å sende til slack
//create slack payload and serialize
var payloadToSlack = new{ text = message};
var jsonPayLoad = JsonConvert.SerializeObject(payloadToSlack);Send den serialiserte meldingen til slack ved å benytte webhook'en som du har laget tidligere
//post message to slack
var webhook = "https://replace.with.your.webhook.url";
using(var client = new HttpClient())
{
var result = await client.PostAsync(webhook, new StringContent(jsonPayLoad, Encoding.UTF8, "application/json"));
}Da gjenstår det bare å returnere statuskode før vi kan teste funksjonen
return new AcceptedResult();Nå kan du teste funksjonen lokalt ved å trykke F5 i Visual Studio Code. Se etter din lokale URL i output vinduet. Benytt f.eks Postman for å lage en request mot den nye funksjonen din. Payload bør se slik ut:
{
'message':'this is the message to send to slack'
}Dersom det fungerer som du ønsker er det på tide å deploye til Azure
Når du har klikket deploy er det viktig at du velger din funksjonsapp i listen som vises. Etter du har valgt den, vil funksjonen publiseres.
Last updated
Was this helpful?