InvokeRESTAPI@1 — wywoływanie zadania interfejsu API REST w wersji 1
To zadanie służy do wywoływania interfejsu API REST w ramach potoku.
Składnia
# 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.
Dane wejściowe
connectionType
- Typ połączenia
Alias wejściowy: connectedServiceNameSelector
. string
. Wymagane. Dozwolone wartości: connectedServiceName
(ogólne), connectedServiceNameARM
(Azure Resource Manager). Wartość domyślna: connectedServiceName
.
Określa typ połączenia usługi, który ma być używany do wywoływania interfejsu API REST. Wybierz pozycję Azure Resource Manager, aby wywołać interfejs API zarządzania platformą Azure lub ogólny dla wszystkich innych interfejsów API.
serviceConnection
- Połączenie z usługą ogólną
Alias wejściowy: connectedServiceName | genericService
. string
. Wymagane, gdy connectedServiceNameSelector = connectedServiceName
.
Określa ogólne połączenie usługi, które udostępnia element baseUrl dla wywołania i autoryzację do użycia dla zadania.
serviceConnection
- Połączenie z usługą ogólną
Alias wejściowy: connectedServiceName
. string
. Wymagane, gdy connectedServiceNameSelector = connectedServiceName
.
Określa ogólne połączenie usługi, które udostępnia element baseUrl dla wywołania i autoryzację do użycia dla zadania.
azureServiceConnection
- Subskrypcja platformy Azure
Alias wejściowy: connectedServiceNameARM | azureSubscription
. string
. Wymagane, gdy connectedServiceNameSelector = connectedServiceNameARM
.
Określa subskrypcję usługi Azure Resource Manager do konfigurowania i używania do wywoływania interfejsów API zarządzania platformy Azure.
azureServiceConnection
- Subskrypcja platformy Azure
Alias wejściowy: connectedServiceNameARM
. string
. Wymagane, gdy connectedServiceNameSelector = connectedServiceNameARM
.
Określa subskrypcję usługi Azure Resource Manager do konfigurowania i używania do wywoływania interfejsów API zarządzania platformy Azure.
method
- Metoda
string
. Wymagane. Dozwolone wartości: OPTIONS
, , HEAD
GET
, POST
PUT
DELETE
, TRACE
, . PATCH
Wartość domyślna: POST
.
Określa metodę HTTP, która wywołuje interfejs API.
headers
- Nagłówki
string
. Wartość domyślna: {\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}
.
Definiuje nagłówek w formacie JSON. Nagłówek jest dołączony do żądania wysłanego do interfejsu API.
body
- Ciała
string
. Opcjonalny. Użyj polecenia , gdy method != GET && method != HEAD
.
Określa treść żądania dla wywołania funkcji w formacie JSON.
urlSuffix
- Sufiks i parametry adresu URL
string
.
Określa parametry, które mają zostać dołączone do elementu baseUrl z ogólnego połączenia usługi podczas wykonywania wywołania HTTP.
Przykład: Jeśli adres URL połączenia usługi to https:...TestProj/_apis/Release/releases
, a sufiks adresu URL to /2/environments/1
, adres URL połączenia z usługą staje się adresem https:.../TestProj/_apis/Release/releases/2/environments/1
. Jeśli sufiks adresu URL to ?definitionId=1&releaseCount=1
, adres URL połączenia z usługą zostanie wyświetlony https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
jako .
waitForCompletion
- Zdarzenie ukończenia
string
. Wymagane. Dozwolone wartości: true
(Wywołanie zwrotne), false
(ApiResponse). Wartość domyślna: false
.
Określa sposób uzupełniania zadań. Dozwolone wartości to:
false
- Odpowiedź interfejsu API: zgłasza ukończenie, gdy funkcja zwraca powodzenie w ciągu 20 sekund, a kryteria powodzenia są obliczane na wartość true.true
- Wywołanie zwrotne: zgłasza ukończenie, gdy usługa zewnętrzna wykonuje wywołanie zwrotne w celu zaktualizowania rekordu osi czasu.
successCriteria
- Kryteria powodzenia
string
. Opcjonalny. Użyj polecenia , gdy waitForCompletion = false
.
Określa kryteria zadania dla powodzenia. Zawartość odpowiedzi nie ma wpływu na wynik, jeśli nie zdefiniowano żadnych kryteriów. Domyślnie zadanie jest uruchamiane, gdy wywołanie zwraca 200 OK
wartość .
Przykład: W przypadku odpowiedzi {"status" : "successful"}
wyrażenie może mieć wartość eq(root['status'], 'successful')
. Dowiedz się więcej o określaniu warunków.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
Uwaga
To zadanie może być używane tylko w zadaniu bez agenta.
Powiedzie się, jeśli interfejs API zwróci powodzenie, a treść odpowiedzi zakończy się powodzeniem lub gdy interfejs API zaktualizuje rekord osi czasu z powodzeniem.
Zadanie Wywoływanie interfejsu API REST nie wykonuje bezpośrednio akcji wdrażania. Zamiast tego umożliwia wywołanie dowolnego ogólnego interfejsu API REST PROTOKOŁU HTTP w ramach zautomatyzowanego potoku i opcjonalnie poczekaj na jego ukończenie.
Aby uzyskać więcej informacji na temat korzystania z tego zadania, zobacz Omówienie zatwierdzeń i bram.
Jakie podstawowe adresy URL są używane podczas wywoływania interfejsów API usługi Azure Management?
Interfejsy API zarządzania platformy Azure są wywoływane przy użyciu elementu ResourceManagerEndpoint wybranego środowiska. Na przykład https://management.azure.com
jest używany, gdy subskrypcja znajduje się w środowisku usługi AzureCloud .
Gdzie należy wykonać sygnał zadania po wybraniu wywołania zwrotnego jako zdarzenia ukończenia?
Aby zasygnalizować ukończenie, usługa zewnętrzna powinna wykonać dane ukończenia post do następujących potoków punktu końcowego REST.
{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" }
Zobacz tę prostą aplikację cmdline , aby uzyskać szczegółowe informacje.
Ponadto dostępna jest biblioteka pomocnika języka C#, która umożliwia rejestrowanie na żywo i zarządzanie stanem zadania dla zadań bez agenta. Dowiedz się więcej
Czy mogę użyć treści odpowiedzi jako danych wejściowych dla innego zadania?
Nie, ponieważ to zadanie jest zadaniem bez agenta i używa wewnętrznego obiektu HttpRequest serwera TFS, który nie zwraca zawartości żądania HTTP.
Przykład
steps:
- task: InvokeRESTAPI@1
displayName: 'Invoke REST API: GET'
inputs:
serviceConnection: 'generic_demo'
method: GET
successCriteria: 'eq(root[''count''], ''1425'')'
W tym przykładzie zadanie zakończy się pomyślnie, gdy odpowiedź jest zgodna z naszym successCriteria
elementem : eq(root[''count''], ''1425')).
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, kompilacja klasyczna, wersja klasyczna |
Działa na | Serwer, SerwerGate |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne w formie tabeli settable | Dowolne |
Wersja agenta | Wszystkie obsługiwane wersje agentów. |
Kategoria zadania | Wdrażanie |