InvokeRESTAPI@1 – REST API v1-feladat meghívása
Ezzel a feladatsal meghívhat egy REST API-t a folyamat részeként.
Syntax
# Invoke REST API v1
# Invoke a REST API as a part of your pipeline.
- task: InvokeRESTAPI@1
inputs:
connectionType: 'connectedServiceName' # 'connectedServiceName' | 'connectedServiceNameARM'. Alias: connectedServiceNameSelector. Required. Connection type. Default: connectedServiceName.
serviceConnection: # string. Alias: connectedServiceName | genericService. Required when connectedServiceNameSelector = connectedServiceName. Generic service connection.
#azureServiceConnection: # string. Alias: connectedServiceNameARM | azureSubscription. Required when connectedServiceNameSelector = connectedServiceNameARM. Azure subscription.
method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
#headers: # string. Headers.
#body: # string. Optional. Use when method != GET && method != HEAD. Body.
#urlSuffix: # string. URL suffix and parameters.
# Advanced
waitForCompletion: 'false' # 'true' | 'false'. Required. Completion event. Default: false.
#successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.
# Invoke REST API v1
# Invoke a REST API as a part of your pipeline.
- task: InvokeRESTAPI@1
inputs:
connectionType: 'connectedServiceName' # 'connectedServiceName' | 'connectedServiceNameARM'. Alias: connectedServiceNameSelector. Required. Connection type. Default: connectedServiceName.
serviceConnection: # string. Alias: connectedServiceName. Required when connectedServiceNameSelector = connectedServiceName. Generic service connection.
#azureServiceConnection: # string. Alias: connectedServiceNameARM. Required when connectedServiceNameSelector = connectedServiceNameARM. Azure subscription.
method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
#headers: # string. Headers.
#body: # string. Optional. Use when method != GET && method != HEAD. Body.
#urlSuffix: # string. URL suffix and parameters.
# Advanced
waitForCompletion: 'false' # 'true' | 'false'. Required. Completion event. Default: false.
#successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.
Bevitelek
connectionType
- Kapcsolat típusa
Bemeneti alias: connectedServiceNameSelector
. string
. Kötelező. Engedélyezett értékek: connectedServiceName
(Általános), connectedServiceNameARM
(Azure Resource Manager). Alapértelmezett érték: connectedServiceName
.
Megadja a REST API meghívásához használandó szolgáltatáskapcsolat típusát. Válassza az Azure Resource Manager lehetőséget egy Azure Management API vagy Generic meghívásához az összes többi API-hoz.
serviceConnection
- Általános szolgáltatáskapcsolat
Bemeneti alias: connectedServiceName | genericService
. string
. Akkor szükséges, ha connectedServiceNameSelector = connectedServiceName
.
Megadja az általános szolgáltatáskapcsolatot, amely biztosítja a hívás baseUrl-ját és a feladathoz használni kívánt engedélyezést.
serviceConnection
- Általános szolgáltatáskapcsolat
Bemeneti alias: connectedServiceName
. string
. Akkor szükséges, ha connectedServiceNameSelector = connectedServiceName
.
Megadja az általános szolgáltatáskapcsolatot, amely biztosítja a hívás baseUrl-ját és a feladathoz használni kívánt engedélyezést.
azureServiceConnection
- Azure-előfizetés
Bemeneti alias: connectedServiceNameARM | azureSubscription
. string
. Akkor szükséges, ha connectedServiceNameSelector = connectedServiceNameARM
.
Megadja az Azure felügyeleti API-k meghívásához konfigurálni és használni kívánt Azure Resource Manager-előfizetést.
azureServiceConnection
- Azure-előfizetés
Bemeneti alias: connectedServiceNameARM
. string
. Akkor szükséges, ha connectedServiceNameSelector = connectedServiceNameARM
.
Megadja az Azure felügyeleti API-k meghívásához konfigurálni és használni kívánt Azure Resource Manager-előfizetést.
method
- Módszer
string
. Kötelező. Engedélyezett értékek: OPTIONS
, GET
, HEAD
, POST
, PUT
, DELETE
, TRACE
. PATCH
Alapértelmezett érték: POST
.
Megadja az API-t meghívó HTTP-metódust.
headers
- Fejlécek
string
. Alapértelmezett érték: {\n"Content-Type":"application/json", \n"PlanUrl": "$(system.CollectionUri)", \n"ProjectId": "$(system.TeamProjectId)", \n"HubName": "$(system.HostType)", \n"PlanId": "$(system.PlanId)", \n"JobId": "$(system.JobId)", \n"TimelineId": "$(system.TimelineId)", \n"TaskInstanceId": "$(system.TaskInstanceId)", \n"AuthToken": "$(system.AccessToken)"\n}
.
A fejlécet JSON formátumban határozza meg. A fejléc az API-nak küldött kéréssel együtt van csatolva.
body
- Szervezet
string
. Választható. Használja a következőt: method != GET && method != HEAD
.
A függvényhívás kérelemtörzsét adja meg JSON formátumban.
urlSuffix
- URL-utótag és paraméterek
string
.
Megadja azt a sztringet, amely hozzáfűzendő a baseUrl elemhez az általános szolgáltatáskapcsolatból a HTTP-hívás végrehajtása során.
Példa: Ha a szolgáltatáskapcsolat URL-címe és https:...TestProj/_apis/Release/releases
az URL-utótag /2/environments/1
, a szolgáltatáskapcsolat URL-címe lesz https:.../TestProj/_apis/Release/releases/2/environments/1
. Ha az URL-utótag ?definitionId=1&releaseCount=1
, akkor a szolgáltatáskapcsolat URL-címe lesz https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
.
waitForCompletion
- Befejezési esemény
string
. Kötelező. Engedélyezett értékek: true
(Visszahívás), false
(ApiResponse). Alapértelmezett érték: false
.
Meghatározza, hogy a tevékenység hogyan jelenti a befejezést. Az engedélyezett értékek a következők:
false
- API-válasz: akkor jelenti a befejezést, ha a függvény 20 másodpercen belül sikert ad vissza, és a sikerességi feltétel igaz értéket ad vissza.true
- Visszahívás: azt jelenti, hogy a külső szolgáltatás visszahívást készít az ütemtervrekord frissítéséhez.
successCriteria
- Sikerességi feltételek
string
. Választható. Használja a következőt: waitForCompletion = false
.
Megadja a tevékenység sikerére vonatkozó feltételeket. A válasz tartalma nem befolyásolja az eredményt, ha nincs megadva feltétel. Alapértelmezés szerint a feladat akkor megy át, amikor a hívás visszaadja a következőt 200 OK
: .
Példa: Válasz esetén {"status" : "successful"}
a kifejezés lehet eq(root['status'], 'successful')
. További információ a feltételek megadásáról.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
Megjegyzés
Ez a feladat csak ügynök nélküli feladatokban használható.
Sikeres, ha az API sikert ad vissza, és a választörzs elemzése sikeres, vagy ha az API sikerrel frissíti az idősorrekordot.
A REST API meghívása feladat nem hajt végre közvetlenül üzembehelyezési műveleteket. Ehelyett lehetővé teszi, hogy bármilyen általános HTTP REST API-t meghívjon az automatizált folyamat részeként, és opcionálisan várja meg, amíg befejeződik.
A feladat használatáról további információt a Jóváhagyások és kapuk áttekintése című témakörben talál.
Milyen alap URL-címeket használ az Azure Management API-k meghívásakor?
Az Azure felügyeleti API-kat a rendszer a kiválasztott környezet ResourceManagerEndpoint használatával hívja meg. Például https://management.azure.com
akkor használatos, ha az előfizetés AzureCloud-környezetben van.
Hol kell a feladat befejezését jelezni, amikor a visszahívást választják befejezési eseményként?
A jelkiegészítéshez a külső szolgáltatásnak POST befejezési adatokat kell tartalmaznia a következő folyamatok REST-végpontjára.
{planUri}/{projectId}/_apis/distributedtask/hubs/{hubName}/plans/{planId}/events?api-version=2.0-preview.1
**Request Body**
{ "name": "TaskCompleted", "taskId": "taskInstanceId", "jobId": "jobId", "result": "succeeded" }
A részletekért tekintse meg ezt az egyszerű parancsmag-alkalmazást .
Emellett elérhető egy C#-segédkódtár, amely lehetővé teszi az ügynök nélküli feladatok élő naplózását és feladatállapotának kezelését. További információ
Használhatom a választörzset egy másik feladat bemeneteként?
Nem, mivel ez a feladat ügynök nélküli feladat, és a TFS belső HttpRequestjét használja, amely nem adja vissza a HTTP-kérés tartalmát.
Példa
steps:
- task: InvokeRESTAPI@1
displayName: 'Invoke REST API: GET'
inputs:
serviceConnection: 'generic_demo'
method: GET
successCriteria: 'eq(root[''count''], ''1425'')'
Ebben a példában a feladat akkor sikeres, ha a válasz megfelelt successCriteria
a következőnek: eq(root['count''], ''1425')).
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás: | Kiszolgáló, ServerGate |
Igények | None |
Képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | Minden támogatott ügynökverzió. |
Feladatkategória | Üzembe helyezés |