HansaChat

Documentation

Saapuvat webhookit

Luo webhook-URL-osoitteita ja lähetä Slack-yhteensopivia JSON-viestejä kanaville.

Saapuvien webhookien avulla ulkoiset työkalut voivat lähettää automatisoituja viestejä HansaChat-kanavalle. Käytä niitä käyttöönottopäivityksiin, valvontahälytyksiin, tiketti-ilmoituksiin, lomakkeiden lähetyksiin ja muihin tapahtumiin, joiden kuuluu näkyä tiimichatissa.

Vain työtilan ylläpitäjät voivat luoda ja hallita saapuvia webhookeja.

Avaa Webhookit Asetuksista

Luo webhook

  1. Avaa Asetukset sivupalkin vasemmasta alareunasta.
  2. Valitse Webhookit.
  3. Valitse Luo webhook.
  4. Kirjoita selkeä webhookin nimi, kuten CI-käyttöönotot.
  5. Valitse kanava, jolle viestit lähetetään.
  6. Kirjoita halutessasi kuvakkeen URL-osoite.
  7. Valitse Luo webhook.

Tyhjä Webhookit-sivu

Webhookin luomislomake

Kopioi webhookin URL-osoite

Luomisen jälkeen HansaChat näyttää webhookin URL-osoitteen vain kerran. Kopioi se ja tallenna se turvallisesti ulkoiseen työkaluun, joka lähettää tapahtumat.

Webhookin URL-osoite näkyy vain kerran

Jos suljet tämän näkymän tallentamatta URL-osoitetta, vaihda URL-osoite, jolloin syntyy uusi salaisuus. Edellinen URL-osoite lakkaa toimimasta heti vaihtamisen jälkeen.

Webhookien hallinta

Webhookit-sivulla ylläpitäjät voivat:

  • Muokata webhookin nimeä, kanavaa, kuvakkeen URL-osoitetta tai aktiivisuustilaa.
  • Poistaa käytöstä webhookin, jolloin se hylkää uudet viestit ilman poistamista.
  • Vaihtaa URL-osoitteen, jolloin vanha salaisuus mitätöityy ja syntyy uusi URL-osoite.
  • Poistaa webhookin. Olemassa olevia keskusteluviestejä ei poisteta.

Tekninen referenssi

Lähetä POST-pyyntö webhookin URL-osoitteeseen:

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

URL-osoite sisältää webhookin kirjautumistiedot. Erillistä todennusotsikkoa ei tarvita. Pidä koko URL-osoite salaisena.

Vähimmäispyyntö

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

Kun HansaChat palauttaa vastauksen ok, viesti ilmestyy valitulle kanavalle.

Webhookin testiviesti kanavalla

Slack-yhteensopiva payload

Päätepiste hyväksyy Slack-yhteensopivia JSON-payloadeja, joissa on text-, blocks- ja attachments-kentät.

{
  "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."
      }
    }
  ]
}

Vähintään yhden kentän text, blocks tai attachments on sisällettävä luettavaa tekstiä.

Tuetut kentät

Kenttä Pakollinen Huomiot
text Ei Viestin sisältö tavallisena tekstinä.
blocks Ei Slack Block Kit -tyyliset lohkot. Enintään 50 lohkoa. Tuetut lohkotyypit: section, header, context, image.
attachments Ei Slack-tyyliset liitteet. Enintään 100 liitettä.

Payloadin enimmäiskoko on 1 MB.

Nopeusrajoitukset

Saapuvien webhookien käsittelyä rajoitetaan webhookin URL-osoitteen perusteella.

Jokainen webhook hyväksyy enintään 10 todennettua pyyntöä minuutissa ja enintään 100 todennettua pyyntöä tunnissa. Kun jompikumpi raja ylittyy, HansaChat palauttaa vastauksen 429 resource_exhausted.

Ota yhteyttä meihin, jos haluat nostaa nopeusrajoitusta.

Payload-rajoja valvotaan erikseen: syötteen enimmäiskoko on 1 MB, blocks hyväksyy enintään 50 kohdetta, attachments enintään 100 kohdetta, ja payloadin on sisällettävä luettavaa tekstiä.

Idempotenssi

Lisää Idempotency-Key-otsikko, kun järjestelmäsi voi lähettää saman tapahtuman uudelleen:

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"}'

Jos HansaChat vastaanottaa saman idempotenssiavaimen uudelleen samalle webhookille, se palauttaa vastauksen 200 ok luomatta viestiä kaksoiskappaleena.

Vastaukset

Onnistuneet pyynnöt palauttavat:

ok

Yleiset virheet:

Tilakoodi Runko Merkitys
400 invalid_payload JSON-runkoa ei voitu jäsentää.
400 invalid_blocks Pyyntö sisältää yli 50 lohkoa.
400 too_many_attachments Pyyntö sisältää yli 100 liitettä.
400 no_text Payloadissa ei ole luettavaa tekstiä.
429 resource_exhausted Webhook ylitti 10 pyyntöä minuutissa tai 100 pyyntöä tunnissa.
404 no_active_hooks Työtila, webhook, salaisuus tai aktiivisuustila on virheellinen.
410 channel_is_archived Kohdekanava on arkistoitu.
503 temporarily_unavailable HansaChat ei voi käsitellä viestiä juuri nyt. Yritä myöhemmin uudelleen samalla Idempotency-Key-otsikolla.

Tietoturvavinkit

  • Kohtele webhookien URL-osoitteita kuten salasanoja.
  • Tallenna URL-osoitteet ulkoisen työkalusi salaisuuksien hallintaan.
  • Vaihda URL-osoite, jos se paljastui tai katosi.
  • Poista käyttämättömät webhookit käytöstä.
  • Käytä yhtä erillistä webhookia ulkoista järjestelmää kohden, jotta käyttöoikeus voidaan perua siististi.