HansaChat

Documentation

Gaunamieji webhookai

Sukurkite webhookų URL ir skelbkite Slack suderinamas JSON žinutes kanaluose.

Gaunamieji webhookai leidžia išoriniams įrankiams skelbti automatines žinutes HansaChat kanale. Naudokite juos diegimo atnaujinimams, stebėjimo įspėjimams, bilietų pranešimams, formų pateikimams ir kitiems įvykiams, kurie turėtų atsirasti komandos pokalbiuose.

Gaunamus webhookus kurti ir tvarkyti gali tik darbo erdvės administratoriai.

Atidarykite Webhookus iš Nustatymų

Sukurkite webhooką

  1. Atidarykite Nustatymus šoninės juostos apatiniame kairiajame kampe.
  2. Pasirinkite Webhookai.
  3. Pasirinkite Kurti webhooką.
  4. Įveskite aiškų webhooko pavadinimą, pavyzdžiui, CI Deployments.
  5. Pasirinkite kanalą, kuriame žinutės turėtų būti skelbiamos.
  6. Jei norite, įveskite piktogramos URL.
  7. Pasirinkite Kurti webhooką.

Tuščias webhookų puslapis

Webhooko kūrimo forma

Nukopijuokite webhooko URL

Sukūrus HansaChat webhooko URL rodo vieną kartą. Nukopijuokite jį ir saugiai išsaugokite išoriniame įrankyje, kuris siųs įvykius.

Webhooko URL rodomas vieną kartą

Jei uždarysite šį ekraną neįrašę URL, sukurkite naują URL, kad gautumėte naują paslaptį. Ankstesnis URL nustoja veikti iš karto po pakeitimo.

Tvarkykite webhookus

Iš Webhookų puslapio administratoriai gali:

  • Redaguoti webhooko pavadinimą, kanalą, piktogramos URL arba aktyvumo būseną.
  • Išjungti webhooką, kad jis atmestų naujas žinutes, bet nebūtų ištrintas.
  • Sukurti naują URL, kad sena paslaptis taptų negaliojanti ir būtų sugeneruotas naujas URL.
  • Ištrinti webhooką. Jau esančios pokalbių žinutės nepašalinamos.

Techninė nuoroda

Siųskite POST užklausą į webhooko URL:

https://{workspace-domain}/api/webhooks/{publicID}/{secret}

URL savyje turi webhooko prieigos duomenis. Nereikia jokios papildomos autentifikavimo antraštės. Laikykite visą URL paslaptyje.

Minimali užklausa

curl -X POST 'https://{workspace-domain}/api/webhooks/{publicID}/{secret}' \
  -H 'Content-Type: application/json' \
  -d '{"text":"Deployment completed successfully"}'

Kai HansaChat grąžina ok, žinutė atsiranda pasirinktame kanale.

Bandomoji webhooko žinutė kanale

Slack suderinamas duomenų paketas

Galinis taškas priima Slack suderinamus JSON duomenų paketus su text, blocks ir attachments.

{
  "text": "Deployment completed successfully",
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "Deployment completed"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Branch `main` is now live."
      }
    }
  ]
}

Bent vienas iš text, blocks arba attachments turi turėti skaitomą tekstą.

Palaikomi laukai

Laukas Būtinas Pastabos
text Ne Paprasto teksto žinutės turinys.
blocks Ne Slack Block Kit stiliaus blokai. Iki 50 blokų. Palaikomi blokų tipai: section, header, context, image.
attachments Ne Slack stiliaus priedai. Iki 100 priedų.

Didžiausias duomenų paketo dydis — 1 MB.

Užklausų ribos

Gaunamų webhookų priėmimas ribojamas pagal užklausų dažnį kiekvienam webhooko URL atskirai.

Kiekvienas webhookas gali priimti iki 10 autentifikuotų užklausų per minutę ir iki 100 autentifikuotų užklausų per valandą. Kai pasiekiama bet kuri iš šių ribų, HansaChat grąžina 429 resource_exhausted.

Jei norite padidinti užklausų ribą, susisiekite su mumis.

Duomenų paketų ribos taikomos atskirai: didžiausias užklausos dydis — 1 MB, blocks priima iki 50 elementų, attachments — iki 100 elementų, o duomenų pakete turi būti skaitomo teksto.

Idempotencija

Pridėkite antraštę Idempotency-Key, kai Jūsų sistema gali pakartoti tą patį įvykį:

curl -X POST 'https://{workspace-domain}/api/webhooks/{publicID}/{secret}' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: deploy-1247' \
  -d '{"text":"Deployment #1247 completed"}'

Jei HansaChat tas pats idempotencijos raktas tam pačiam webhookui gauna dar kartą, jis grąžina 200 ok nesukurdamas dubliuotos žinutės.

Atsakymai

Sėkmingos užklausos grąžina:

ok

Dažnos klaidos:

Būsena Turinys Reikšmė
400 invalid_payload JSON turinio nepavyko perskaityti.
400 invalid_blocks Užklausa turi daugiau nei 50 blokų.
400 too_many_attachments Užklausa turi daugiau nei 100 priedų.
400 no_text Duomenų pakete nėra skaitomo teksto.
429 resource_exhausted Webhookas viršijo 10 užklausų per minutę arba 100 užklausų per valandą.
404 no_active_hooks Darbo erdvė, webhookas, paslaptis arba aktyvumo būsena negalioja.
410 channel_is_archived Tikslinis kanalas suarchyvuotas.
503 temporarily_unavailable HansaChat šiuo metu negali apdoroti žinutės. Pakartokite vėliau su tuo pačiu Idempotency-Key.

Saugumo patarimai

  • Elkitės su webhookų URL kaip su slaptažodžiais.
  • Saugokite URL savo išorinio įrankio paslapčių tvarkytuvėje.
  • Sukurkite naują URL, jei jis buvo atskleistas arba pamestas.
  • Išjunkite nenaudojamus webhookus.
  • Naudokite atskirą webhooką kiekvienai išorinei sistemai, kad prieigą būtų galima švariai atšaukti.