Megosztás a következőn keresztül:


Webhookok

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Ez a cikk ismerteti a webhookokat, és azt, hogyan állíthatja be őket az Azure DevOps-projekthez. A webhookok lehetővé teszik az Azure DevOps-események JSON-ábrázolását bármely nyilvános végponttal rendelkező szolgáltatásnak.

Feljegyzés

Az Azure DevOps nem számít fel díjat a szolgáltatáshookok beállításáért vagy a külső szolgáltatásokkal való integrációért. A szolgáltatásaikkal kapcsolatos díjszabásért tekintse meg az adott szolgáltatás webhelyét.

Előfeltételek

Az Azure DevOps-szervezet webhookainak kezeléséhez a következő előfeltételekre van szükség:

  • Tulajdonosi vagy projektgyűjtemény-rendszergazdai szerepkör a szervezetben.

  • Egy projekt a szervezetben, valamint egy nyilvános HTTP- vagy HTTPS-végponttal rendelkező szolgáltatás, amelynek Azure DevOps-eseményeket szeretne küldeni.

    Fontos

    Javasoljuk, hogy csak HTTPS-végpontokat használjon. A HTTP képes privát adatokat küldeni, beleértve a hitelesítési fejléceket is, titkosítatlanul az esemény hasznos adatai között. A webhookon az alapszintű hitelesítéshez HTTPS-t kell használnia.

JSON-reprezentáció küldése szolgáltatásnak

  1. Az Azure DevOps-projektben nyissa meg a Project Settings>Service-horgokat a következő helyenhttps://<organization-name>/<project-name>/_settings/serviceHooks: .

    Képernyőkép a Service hooks választásáról a Project beállításai között.

  2. A Service Hooks lapon válassza az ikont vagy az + Előfizetés létrehozása lehetőséget.

    Képernyőkép az Előfizetés létrehozása lehetőségről a Service Hooks lapon.

  3. A Szolgáltatás képernyőn válassza a Web Hooks, majd a Tovább lehetőséget.

    Képernyőkép a Web Hooks szolgáltatáslapon való kiválasztásáról.

  4. Az Eseményindító képernyőn válassza ki és konfigurálja a webhookot aktiválni kívánt Azure DevOps-eseményt, majd válassza a Tovább lehetőséget. Az Azure DevOps-felhasználó által közzétett JSON hasznos adatokról további információt a Service Hooks eseményei között talál.

    Képernyőkép az eseményindító esemény kiválasztásáról és konfigurálásáról.

  5. A Művelet képernyőn konfigurálja a cél URL-címét, és hogy mi a teendő az esemény bekövetkezésekor. A küldendő erőforrásadatokkal, a küldendő üzenetekkel és a küldendő részletes üzenetekkel kapcsolatos további információkért tekintse meg a küldendő erőforrás adatait.

    Feljegyzés

    A webhookok nem célozhatnak localhost (visszacsatolás) vagy speciális IPv4 IPv6-címtartományt./

  6. Válassza a Teszt lehetőséget a szolgáltatáshook-előfizetés teszteléséhez.

    Képernyőkép a Művelet párbeszédpanel konfigurálásáról.

  7. Ha a teszt sikeresen befejeződött, zárja be az értesítési képernyőt, majd válassza a Művelet képernyőn a Befejezés lehetőséget.

    Képernyőkép a szolgáltatáshook-előfizetés tesztelési eredményeiről

  8. Most már be van állítva a webhook. Nyissa meg a célszolgáltatást a JSON-ábrázolás megtekintéséhez.

    A JSON-ábrázolás megtekintésének képernyőképe.

Tipp.

A webhookokat programozott módon is létrehozhatja. További információ: Szolgáltatáshook-előfizetés létrehozása programozott módon.

Elküldendő erőforrás részletei

A Küldendő erőforrás adatai, az Elküldött üzenetek és a Művelet panelen a beállítások elküldéséhez szükséges részletes üzenetek szabályozzák a küldendő JSON-hasznos adatok méretét. Az elküldendő erőforrás részletei azt vezérli, hogy az erőforrás mekkora részét küldje el. Az alapértelmezett érték a Minden, de választhatja a Minimális küldést is, amely csak olyan kulcsmezőket küld, mint az URL-cím és az azonosító, vagy a Nincs.

A Nincs és a Minimális olyan helyzetekben hasznos, amikor a hívónak nincs szüksége sok információra vagy információra az erőforrásról, mert az az üzenetre vagy a részletes üzenetre támaszkodik. A None és a Minimal biztonsági okokból is hasznos. A hívónak vissza kell hívnia az Azure DevOps Servicest, és normál biztonsági és engedélyellenőrzéseken kell átesnie az erőforrás további részleteinek lekéréséhez.

Az alábbi JSON-minta az erőforrás minimális részleteit mutatja be:

   {
       "eventType": "git.push",
       ...
       "messages": {
           "text": "...",
           "html": "...",
           "markdown": "..."
       },
       "detailedMessage": {
           "text": "...",
           "html": "...",
           "markdown": "..."
       },
       "resource": {
           "id": "...",
           "url": "https://...",
           "name": "...",
           "field1:": "..."
       }
   }