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ólnego punktu końcowego
Alias wejściowy: connectedServiceName
.
string
. To jest wymagane.
Określa ogólne połączenie usługi, które zapewnia baseURL
dla wywołania i autoryzacji do użycia dla zadania.
metody method
-
string
. To jest wymagane. Dozwolone wartości: OPTIONS
, GET
, HEAD
, POST
, PUT
, DELETE
, TRACE
, PATCH
. Wartość domyślna: POST
.
Określa metodę HTTP, która wywołuje interfejs API.
headers
-
nagłówków
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
-
Treść
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.
ciągu sufiksu adresu URL urlSuffix
-
string
.
Określa ciąg, który ma być dołączany do elementu baseUrl z ogólnego połączenia usługi podczas wykonywania wywołania HTTP.
Przykład: jeśli adres URL połączenia z usługą jest https:...TestProj/_apis/Release/releases
, a sufiks adresu URL jest /2/environments/1
, adres URL połączenia usługi stanie się https:.../TestProj/_apis/Release/releases/2/environments/1
. Jeśli sufiks adresu URL jest ?definitionId=1&releaseCount=1
, adres URL połączenia usługi stanie się https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
.
waitForCompletion
-
Complete na podstawie
string
. To jest wymagane. Dozwolone wartości: true
(wywołanie zwrotne), false
(ApiResponse). Wartość domyślna: false
.
Określa sposób wykonywania raportów zadań. Dozwolone wartości to:
-
false
- odpowiedzi interfejsu API: uzupełnianie raportów, gdy funkcja zwraca powodzenie w ciągu 20 sekund, a kryteria sukcesu są obliczane na wartość true. -
true
- wywołania zwrotnego: zgłasza ukończenie, gdy usługa zewnętrzna wykonuje wywołanie zwrotne w celu zaktualizowania rekordu osi czasu.
successCriteria
-
kryteria sukcesu
string
. Opcjonalny. Użyj polecenia , gdy waitForCompletion = false
.
Określa kryteria powodzenia zadania. Zawartość odpowiedzi nie ma wpływu na wynik, jeśli nie zdefiniowano żadnych kryteriów. Domyślnie zadanie przechodzi, gdy wywołanie zwraca 200 OK
.
Przykład: w przypadku {"status" : "successful"}
odpowiedzi wyrażenie może być eq(root['status'], 'successful')
. Dowiedz się więcej o określaniu warunków.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Uwagi
Uwaga
Tego zadania można używać tylko w zadania 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łaj interfejs API REST nie wykonuje bezpośrednio akcji wdrażania. Zamiast tego umożliwia wywoływanie dowolnego ogólnego interfejsu API REST HTTP w ramach zautomatyzowanego potoku i opcjonalnie poczekaj na jego ukończenie.
Aby uzyskać więcej informacji na temat korzystania z tego zadania, zobacz Zatwierdzenia i bramy — omówienie.
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 ResourceManagerEndpoint wybranego środowiska. Na przykład https://management.Azure.com
jest używana, gdy subskrypcja znajduje się w środowisku AzureCloud.
Gdzie należy sygnalizować ukończenie zadania po wybraniu wywołania zwrotnego jako zdarzenia ukończenia?
Aby zasygnalizować ukończenie, usługa zewnętrzna powinna wykonać dane post do następującego punktu końcowego REST potoków.
{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" }
Aby uzyskać szczegółowe informacje, zobacz tej prostej aplikacji wiersza polecenia.
Ponadto dostępna jest biblioteka pomocnika języka C#umożliwiająca rejestrowanie na żywo i zarządzanie stanem zadań dla zadań bez agentów. 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 żądania HTTPRequest serwera TFS, który nie zwraca zawartości żądania HTTP.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Serwer, ServerGate |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | Wszystkie obsługiwane wersje agentów. |
Kategoria zadań | Wdroż |