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.

REST API meghívása feladat konfigurálása

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 successCriteriaa 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