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


InvokeRESTAPI@1 – REST API 1-es verziós feladat meghívása

Ezzel a feladatsal meghívhat egy REST API-t a folyamat részeként.

Szinopszis

# 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.

Bemenetek

connectionType - kapcsolattípus
Bemeneti alias: connectedServiceNameSelector. string. Szükséges. 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 Azure Resource Manager- az Azure Management API meghívásához, vagy Általános minden más API-hoz.


általános szolgáltatáskapcsolati serviceConnection -
Bemeneti alias: connectedServiceName | genericService. string. connectedServiceNameSelector = connectedServiceNameesetén kötelező.

Megadja az általános szolgáltatáskapcsolatot, amely biztosítja a hívás alapurlát és a tevékenységhez használható engedélyezést.


Azure-előfizetés azureServiceConnection -
Bemeneti alias: connectedServiceNameARM | azureSubscription. string. connectedServiceNameSelector = connectedServiceNameARMesetén kötelező.

Az Azure Management API-k meghívásához konfigurálni és használni kívánt Azure Resource Manager-előfizetést adja meg.


method - metódus
string. Szükséges. 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 - törzs
string. Opcionális. Használja a 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 baseUrlhez az általános szolgáltatáskapcsolatból a HTTP-hívás során.

Példa: Ha a szolgáltatáskapcsolat URL-címe https:...TestProj/_apis/Release/releases, és az URL-utótag /2/environments/1, a szolgáltatáskapcsolat URL-címe https:.../TestProj/_apis/Release/releases/2/environments/1lesz. Ha az URL-utótag ?definitionId=1&releaseCount=1, akkor a szolgáltatáskapcsolat URL-címe https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1lesz.


waitForCompletion - Befejezési esemény
string. Szükséges. Engedélyezett értékek: true (Visszahívás), false (ApiResponse). Alapértelmezett érték: false.

A tevékenységjelentések befejezésének módját adja meg. Az engedélyezett értékek a következők:

  • false - API-válasz: a jelentés akkor fejeződik be, ha a függvény 20 másodpercen belül sikert ad vissza, és a sikerességi feltételek igaznak bizonyulnak.
  • true - Visszahívási: a jelentések akkor fejeződnek be, amikor a külső szolgáltatás visszahívást végez az ütemtervrekord frissítéséhez.

successCriteria - sikerességi feltételek
string. Opcionális. Használja a waitForCompletion = false.

Megadja a tevékenység sikerességi feltételeit. A válasz tartalma nem befolyásolja az eredményt, ha nincs meghatározva feltétel. Alapértelmezés szerint a feladat akkor halad át, amikor a hívás 200 OKad vissza.

Példa: Válasz {"status" : "successful"}esetén a kifejezés eq(root['status'], 'successful')lehet. További információ 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ők és gyakori feladattulajdonságok.

Kimeneti változók

Nincs.

Megjegyzések

Megjegyzés

Ez a feladat csak ügynök nélküli feladathasználható.

Sikeres lesz, ha az API sikert ad vissza, és a választörzs elemzése sikeres, vagy ha az API sikerrel frissíti az ütemtervrekordot.

A REST API-feladat meghívása nem hajt végre közvetlenül üzembe helyezési műveleteket. Ehelyett lehetővé teszi az általános HTTP REST API meghívását az automatizált folyamat részeként, és opcionálisan várja meg, amíg befejeződik.

REST API-feladat meghívásának konfigurálása

A feladat használatáról további információt Jóváhagyások és kapuk áttekintésecímű témakörben talál.

Milyen alap URL-címeket használnak az Azure Management API-k meghívásakor?

Az Azure felügyeleti API-k meghívása a kiválasztott környezet ResourceManagerEndpoint használatával történik. Például https://management.azure.com akkor használatos, ha az előfizetés egy AzureCloud környezetben van.

Hol fejeződjön be a feladat, ha Visszahívási van kiválasztva a befejezési eseményként?

A befejezés jelzéséhez a külső szolgáltatásnak POST befejezési adatokat kell tartalmaznia a következő folyamatok REST-végpontjának.

{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" }

Részletekért tekintse meg ezt az egyszerű parancsmagalkalmazást.

Emellett egy C#-segédtár is rendelkezésre áll az élő naplózás engedélyezéséhez és az ügynök nélküli tevékenységek feladatállapotának kezeléséhez. További információ

Használhatom a válasz törzsét egy másik feladat bemeneteként?

Nem, mivel ez a tevékenység ügynök nélküli tevékenység, é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 megfelel a successCriteria: eq(root[''count';, ''1425'' ).

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás bekapcsolva Kiszolgáló, ServerGate
Követelmények Egyik sem
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ármely
Változók beállítása Bármely
Ügynök verziója Minden támogatott ügynökverzió.
Tevékenységkategória Üzembe helyezés