InvokeRESTAPI@0 — wywoływanie zadania interfejsu API REST w wersji 0
To zadanie służy do wywoływania interfejsu API REST w ramach potoku.
Składnia
# Invoke REST API v0
# Invoke REST API as a part of your process.
- task: InvokeRESTAPI@0
inputs:
serviceConnection: # string. Alias: connectedServiceName. Required. Generic endpoint.
method: 'POST' # 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'PATCH'. Required. Method. Default: POST.
#headers: # string. Headers.
#body: '{"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}' # string. Optional. Use when method != GET && method != HEAD. Body. Default: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}.
#urlSuffix: # string. Url suffix string.
# Completion Options
waitForCompletion: 'false' # 'true' | 'false'. Required. Complete based on. Default: false.
#successCriteria: # string. Optional. Use when waitForCompletion = false. Success criteria.
Dane wejściowe
serviceConnection
- Ogólny punkt końcowy
Alias wejściowy: connectedServiceName
. string
. Wymagane.
Określa ogólne połączenie usługi, które zapewnia baseURL
wywołanie i autoryzację do użycia dla zadania.
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}
.
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
. Wartość domyślna: {"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}
.
Określa treść żądania dla wywołania funkcji w formacie JSON.
urlSuffix
- Ciąg sufiksu 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
- Ukończono na podstawie
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.
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 |