InvokeRESTAPI@1 - Memanggil tugas REST API v1

Gunakan tugas ini untuk memanggil REST API sebagai bagian dari alur Anda.

Sintaksis

# Invoke REST API v1
# Invoke a REST API as a part of your pipeline.
- task: InvokeRESTAPI@1
  inputs:
    connectionType: 'connectedServiceName' # 'connectedServiceName' | 'connectedServiceNameARM' | 'connectedServiceNameAzureDevOps'. Alias: connectedServiceNameSelector. Required. Connection type. Default: connectedServiceName.
    serviceConnection: # string. Alias: connectedServiceName | genericService. Required when connectionType = connectedServiceName. Generic service connection. 
    #azureServiceConnection: # string. Alias: connectedServiceNameARM | azureSubscription. Required when connectionType = connectedServiceNameARM. Azure subscription. 
    #azureDevOpsServiceConnection: # string. Alias: connectedServiceNameAzureDevOps. Required when connectionType = connectedServiceNameAzureDevOps. Azure DevOps service connection. 
    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 | genericService. Required when connectionType = connectedServiceName. Generic service connection. 
    #azureServiceConnection: # string. Alias: connectedServiceNameARM | azureSubscription. Required when connectionType = 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.

Masukan

Jenis koneksi
Alias input: connectedServiceNameSelector. string. Dibutuhkan. Nilai yang diizinkan: connectedServiceName (Generik), connectedServiceNameARM (Azure Resource Manager), connectedServiceNameAzureDevOps (Azure DevOps). Nilai default: connectedServiceName.

Menentukan jenis koneksi layanan yang akan digunakan untuk memanggil REST API. Pilih Azure Resource Manager untuk memanggil API manajemen Azure, Azure DevOps untuk memanggil API Azure DevOps, atau Generik untuk semua API lainnya.


Jenis koneksi
Alias input: connectedServiceNameSelector. string. Dibutuhkan. 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.


koneksi layanan generik serviceConnection -
Alias input: connectedServiceName | genericService. string. Diperlukan saat connectionType = connectedServiceName.

Menentukan koneksi layanan generik yang menyediakan baseUrl untuk panggilan dan otorisasi yang akan digunakan untuk tugas tersebut.


langganan Azure
Alias input: connectedServiceNameARM | azureSubscription. string. Diperlukan saat connectionType = connectedServiceNameARM.

Menentukan langganan Azure Resource Manager untuk dikonfigurasi dan digunakan untuk memanggil API manajemen Azure.


azureDevOpsServiceConnection - Koneksi layanan Azure DevOps
Alias input: connectedServiceNameAzureDevOps. string. Diperlukan saat connectionType = connectedServiceNameAzureDevOps.

Pilih koneksi layanan Azure DevOps yang akan digunakan untuk memanggil Azure DevOps REST API. URL koneksi layanan digunakan sebagai URL dasar.


Metode method -
string. Dibutuhkan. Nilai yang diizinkan: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Nilai default: POST.

Menentukan metode HTTP yang memanggil API.


Header headers -
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.


Isi body -
string. Fakultatif. Gunakan saat method != GET && method != HEAD.

Menentukan isi permintaan untuk panggilan fungsi dalam format JSON.


akhiran url urlSuffix - dan parameter
string.

Menentukan string untuk ditambahkan ke baseUrl dari koneksi layanan generik saat melakukan panggilan HTTP.

Contoh: Jika URL koneksi layanan https:...TestProj/_apis/Release/releases dan akhiran URL /2/environments/1, URL koneksi layanan menjadi https:.../TestProj/_apis/Release/releases/2/environments/1. Jika akhiran URL ?definitionId=1&releaseCount=1, maka URL koneksi layanan menjadi https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


peristiwa Penyelesaian waitForCompletion -
string. Dibutuhkan. Nilai yang diizinkan: true (Panggilan Balik), false (ApiResponse). Nilai default: false.

Menentukan bagaimana tugas melaporkan penyelesaian. Nilai yang diizinkan adalah:

  • false - respons API: melaporkan penyelesaian ketika fungsi mengembalikan keberhasilan dalam waktu 20 detik, dan kriteria keberhasilan mengevaluasi ke true.
  • true - Callback: melaporkan penyelesaian saat layanan eksternal melakukan panggilan balik untuk memperbarui catatan garis waktu.

kriteria Keberhasilan successCriteria -
string. Fakultatif. Gunakan saat waitForCompletion = false.

Menentukan kriteria tugas untuk keberhasilan. Konten respons tidak memengaruhi hasil jika tidak ada kriteria yang ditentukan. Secara default, tugas lolos saat panggilan mengembalikan 200 OK.

Contoh: Untuk respons {"status" : "successful"}, ekspresi dapat eq(root['status'], 'successful'). Pelajari selengkapnya tentang menentukan kondisi.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Komentar

Nota

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 apa pun sebagai bagian dari alur otomatis dan, secara opsional, menunggunya selesai.

Mengonfigurasi tugas Invoke REST API

Untuk informasi selengkapnya tentang menggunakan tugas ini, lihat ringkasan Persetujuan dan gerbang .

URL dasar apa yang digunakan saat memanggil API Manajemen Azure?

API manajemen Azure dipanggil menggunakan ResourceManagerEndpoint lingkungan yang dipilih. Misalnya https://management.azure.com digunakan saat langganan berada di lingkungan AzureCloud.

Di mana sinyal tugas harus selesai saat Callback dipilih sebagai peristiwa penyelesaian?

Untuk penyelesaian sinyal, layanan eksternal harus MEMPOSTING data penyelesaian 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 successCriteriakami: eq(root[''count''], ''1425'').

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Server, ServerGate
Permintaan Tidak
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
pembatasan Perintah Apapun
variabel yang Dapat Diatur Apapun
Versi agen Semua versi agen yang didukung.
Kategori tugas Terapkan