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.
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.
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
Megtudhatja, hogyan hozhatja létre a bővítményt az alapoktól.
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. |
- Telepítse a bővítményt az Azure DevOps-szervezetben, és tesztelje.