InvokeRESTAPI@1 - Memanggil tugas REST API v1
Gunakan tugas ini untuk memanggil REST API sebagai bagian dari alur Anda.
Sintaks
# 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.
Input
connectionType
- Jenis koneksi
Alias input: connectedServiceNameSelector
. string
. Wajib diisi. Nilai yang diizinkan: connectedServiceName
(Generik), connectedServiceNameARM
(Azure Resource Manager). Nilai default: connectedServiceName
.
Menentukan jenis koneksi layanan yang akan digunakan untuk memanggil REST API. Pilih Azure Resource Manager untuk memanggil API manajemen Azure atau Generik untuk semua API lainnya.
serviceConnection
- Koneksi layanan generik
Alias input: connectedServiceName | genericService
. string
. Diperlukan saat connectedServiceNameSelector = connectedServiceName
.
Menentukan koneksi layanan generik yang menyediakan baseUrl untuk panggilan dan otorisasi yang akan digunakan untuk tugas tersebut.
serviceConnection
- Koneksi layanan generik
Alias input: connectedServiceName
. string
. Diperlukan saat connectedServiceNameSelector = connectedServiceName
.
Menentukan koneksi layanan generik yang menyediakan baseUrl untuk panggilan dan otorisasi yang akan digunakan untuk tugas tersebut.
azureServiceConnection
- Langganan Azure
Alias input: connectedServiceNameARM | azureSubscription
. string
. Diperlukan saat connectedServiceNameSelector = connectedServiceNameARM
.
Menentukan langganan Azure Resource Manager untuk dikonfigurasi dan digunakan untuk memanggil API manajemen Azure.
azureServiceConnection
- Langganan Azure
Alias input: connectedServiceNameARM
. string
. Diperlukan saat connectedServiceNameSelector = connectedServiceNameARM
.
Menentukan langganan Azure Resource Manager untuk dikonfigurasi dan digunakan untuk memanggil API manajemen Azure.
method
- Metode
string
. Wajib diisi. Nilai yang diizinkan: OPTIONS
, , HEAD
GET
, POST
, PUT
, DELETE
, TRACE
, PATCH
. Nilai default: POST
.
Menentukan metode HTTP yang memanggil API.
headers
- Header
string
. Nilai default: {\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}
.
Menentukan header dalam format JSON. Header dilampirkan dengan permintaan yang dikirim ke API.
body
- Tubuh
string
. Pilihan. Gunakan saat method != GET && method != HEAD
.
Menentukan isi permintaan untuk panggilan fungsi dalam format JSON.
urlSuffix
- Akhiran dan parameter URL
string
.
Menentukan string untuk ditambahkan ke baseUrl dari koneksi layanan generik saat melakukan panggilan HTTP.
Contoh: Jika URL koneksi layanan adalah https:...TestProj/_apis/Release/releases
dan akhiran URL adalah /2/environments/1
, URL koneksi layanan menjadi https:.../TestProj/_apis/Release/releases/2/environments/1
. Jika akhiran URL adalah ?definitionId=1&releaseCount=1
, maka URL koneksi layanan menjadi https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1
.
waitForCompletion
- Peristiwa penyelesaian
string
. Wajib diisi. Nilai yang diizinkan: true
(Callback), false
(ApiResponse). Nilai default: false
.
Menentukan bagaimana tugas melaporkan penyelesaian. Nilai yang diperbolehkan adalah:
false
- Respons API: melaporkan penyelesaian ketika fungsi mengembalikan keberhasilan dalam waktu 20 detik, dan kriteria keberhasilan dievaluasi ke true.true
- Panggilan balik: melaporkan penyelesaian saat layanan eksternal melakukan panggilan balik untuk memperbarui catatan garis waktu.
successCriteria
- Kriteria keberhasilan
string
. Pilihan. Gunakan saat waitForCompletion = false
.
Menentukan kriteria tugas untuk keberhasilan. Konten respons tidak memengaruhi hasil jika tidak ada kriteria yang ditentukan. Secara default, tugas lolos 200 OK
saat panggilan mengembalikan .
Contoh: Untuk respons {"status" : "successful"}
, ekspresinya bisa .eq(root['status'], 'successful')
Pelajari selengkapnya tentang menentukan kondisi.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.
Variabel output
Tidak ada.
Keterangan
Catatan
Tugas ini hanya dapat digunakan dalam pekerjaan tanpa agen.
Berhasil jika API mengembalikan keberhasilan dan penguraian isi respons berhasil, atau ketika API memperbarui catatan garis waktu dengan sukses.
Tugas Panggil REST API tidak melakukan tindakan penyebaran secara langsung. Sebaliknya, ini memungkinkan Anda untuk memanggil HTTP REST API generik sebagai bagian dari alur otomatis dan, secara opsional, menunggunya selesai.
Untuk informasi selengkapnya tentang menggunakan tugas ini, lihat Gambaran umum persetujuan dan gerbang.
URL dasar apa yang digunakan saat memanggil API Manajemen Azure?
API manajemen Azure dipanggil menggunakan ResourceManagerEndpoint dari lingkungan yang dipilih. Misalnya https://management.azure.com
digunakan saat langganan berada di lingkungan AzureCloud .
Di mana sinyal tugas harus diselesaikan saat Callback dipilih sebagai peristiwa penyelesaian?
Untuk penyelesaian sinyal, layanan eksternal harus mengirimkan data penyelesaian POST ke titik akhir REST alur berikut.
{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" }
Lihat aplikasi cmdline sederhana ini secara spesifik.
Selain itu, pustaka pembantu C# tersedia untuk mengaktifkan pengelogan langsung dan mengelola status tugas untuk tugas tanpa agen. Pelajari lebih lanjut
Bisakah saya menggunakan isi respons sebagai input untuk tugas lain?
Tidak, karena tugas ini adalah tugas tanpa agen dan menggunakan HttpRequest internal TFS, yang tidak mengembalikan konten permintaan HTTP.
Contoh
steps:
- task: InvokeRESTAPI@1
displayName: 'Invoke REST API: GET'
inputs:
serviceConnection: 'generic_demo'
method: GET
successCriteria: 'eq(root[''count''], ''1425'')'
Dalam contoh ini, tugas berhasil ketika respons cocok dengan : successCriteria
eq(root[''count''], ''1425'').
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Server, ServerGate |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | Semua versi agen yang didukung. |
Kategori tugas | Sebarkan |