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


Egyéni fogyasztó létrehozása szolgáltatáshookokhoz

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

A szolgáltatáshookok segítségével értesítheti a külső rendszereket a projektben bekövetkező eseményekről. Egyéni felhasználóval HTTP-üzenetet küldhet a bővítmény jegyzékében meghatározott végpontnak.

Ez a cikk egy olyan bővítmény fejlesztését ismerteti, amely egy fogyasztói mintaszolgáltatást valósít meg, amely az alábbi eseményeket és műveleteket tartalmazza.

  • Támogatott események, amelyek a következő műveleteket indítják el:
    • Leküldéses kód
    • Lekéréses kérelem létrehozva
    • Lekéréses kérelem frissítve
  • Az események bekövetkezésekor végrehajtandó támogatott műveletek:
    • Művelet végrehajtása (HTTP-üzenet küldése)

Feljegyzés

Ebben a cikkben a projekt kezdőlapját "kezdőlapként" tekintjük meg.

Minta fogyasztói szolgáltatás

További információkért lásd a GitHub-adattár bővítmény példáját. Az egyéni fogyasztói bővítmény eseményindítójaként használható összes támogatott esemény listáját az eseménytípusok listájában találja.

Tipp.

Tekintse meg a bővítményfejlesztéssel kapcsolatos legújabb dokumentációnkat az Azure DevOps Extension SDK használatával.

A szolgáltatáshookok működése

A szolgáltatáshook-közzétevők eseménykészletet határoznak meg. Az előfizetések figyelik és várják az eseményeket , és meghatároznak műveleteket az esemény aktiválásakor.

Service hooks diagram

Ez az összes szolgáltatáshoom-implementáció működésének általános leírása. Esetünkben egy bővítményben definiáljuk a fogyasztót, valamint az esemény bekövetkezésekor megadott műveletet.

A bővítmény létrehozása

  1. Megtudhatja, hogyan hozhatja létre a bővítményt az alapoktól.

  2. Adja hozzá az egyéni fogyasztói megvalósításhoz szükséges konkrét hozzájárulást az alapjegyzékfájlhoz. Tekintse meg az alábbi példát arra, hogyan kell kinéznie a jegyzéknek a hozzájárulás hozzáadása után.

{
    "manifestVersion": 1,
    "id": "samples-service-hooks-consumer",
    "version": "0.1.2",
    "name": "Service Hooks Sample",
    "description": "A simple extension that demonstrates how to contribute a consumer service into service hooks.",
    "publisher": "fabrikam",
    "public": false,
    "icons": {
        "default": "images/logo.png"
    },
    "scopes": [],
    "files": [
        {
            "path": "images",
            "addressable": true
        }
    ],
    "content": {
        "details": {
            "path": "readme.md"
        }
    },
    "categories": [
        "Developer samples"
    ],
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "contributions": [
        {
            "id": "consumer",
            "type": "ms.vss-servicehooks.consumer",
            "targets": [
                "ms.vss-servicehooks.consumers"
            ],
            "properties": {
                "id": "consumer",
                "name": "Sample Consumer",
                "description": "Sample consumer service",
                "informationUrl": "https://aka.ms/vsoextensions",
                "inputDescriptors": [
                    {
                        "id": "url",
                        "isRequired": true,
                        "name": "URL",
                        "description": "URL to post event payload to",
                        "inputMode": "textbox"
                    }
                ],
                "actions": [
                    {
                        "id": "performAction",
                        "name": "Perform action",
                        "description": "Posts a standard event payload",
                        "supportedEventTypes": [
                            "git.push",
                            "git.pullrequest.created",
                            "git.pullrequest.updated"
                        ],
                        "publishEvent": {
                            "url": "{{{url}}}",
                            "resourceDetailsToSend": "all",
                            "messagesToSend": "all",
                            "detailedMessagesToSend": "all"
                        }
                    }
                ]
            }
        }
    ]
}

Feljegyzés

Ne felejtse el frissíteni a tulajdonságot publisher .

A bővítmény minden egyes közreműködéséhez a jegyzék a következő elemeket határozza meg.

  • Hozzájárulás típusa – ebben az esetben a fogyasztói szolgáltatás (ms.vss-servicehooks.consumer)
  • Hozzájárulási cél – ebben az esetben a fogyasztói szolgáltatások (ms.vss-servicehooks.consumers)
  • Az egyes hozzájárulástípusokra jellemző tulajdonságok

A fogyasztók a következő tulajdonságokkal rendelkeznek.

Tulajdonság Leírás
id A fogyasztói szolgáltatás egyedi azonosítója.
név Az egyéni fogyasztó neve, amely a szolgáltatáshook-előfizetés létrehozásakor látható.
leírás A fogyasztói szolgáltatást ismerteti.
informationUrl További információ a bővítményről.
inputDescriptors A fogyasztói szolgáltatással előfizetéseket létrehozó felhasználók által használandó bemenetek.
műveletek Ismerteti a végrehajtandó műveleteket, és hogy mely események váltják ki ezeket a műveleteket.

A fogyasztói műveletek a következő tulajdonságokkal rendelkeznek:

Tulajdonság Leírás
id A műveletszolgáltatás azonosítója.
név A művelet neve.
leírás A művelet részletes leírása.
supportedEventTypes Azoknak az eseményindító-típusoknak a tömbje, amelyekhez ez a művelet használható. További információ: Eseménytípusok listája.
publishEvent.url URL-cím, ahová a RENDSZER HTTP-üzenetet küld. Az inputDescriptorok által megadott értékek alapján sablonos lehet. A tényleges értékeket a felhasználó határozza meg az előfizetés létrehozásakor.
  1. Telepítse a bővítményt az Azure DevOps-szervezetben, és tesztelje.

Következő lépések