InvokeRESTAPI@1 - REST API v1 görevini çağırma

İşlem hattınızın bir parçası olarak REST API'yi çağırmak için bu görevi kullanın.

Syntax

# 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.

Girişler

connectionType - Bağlantı türü
Giriş diğer adı: connectedServiceNameSelector. string. Gereklidir. İzin verilen değerler: connectedServiceName (Genel), connectedServiceNameARM (Azure Resource Manager). Varsayılan değer: connectedServiceName.

REST API'yi çağırmak için kullanılacak hizmet bağlantı türünü belirtir. Azure yönetim API'sini çağırmak için Azure Resource Manager'i veya diğer tüm API'ler için Genel'i seçin.


serviceConnection - Genel hizmet bağlantısı
Giriş diğer adı: connectedServiceName | genericService. string. olduğunda connectedServiceNameSelector = connectedServiceNamegereklidir.

Çağrı için baseUrl sağlayan genel hizmet bağlantısını ve görev için kullanılacak yetkilendirmeyi belirtir.


serviceConnection - Genel hizmet bağlantısı
Giriş diğer adı: connectedServiceName. string. olduğunda connectedServiceNameSelector = connectedServiceNamegereklidir.

Çağrı için baseUrl sağlayan genel hizmet bağlantısını ve görev için kullanılacak yetkilendirmeyi belirtir.


azureServiceConnection - Azure aboneliği
Giriş diğer adı: connectedServiceNameARM | azureSubscription. string. olduğunda connectedServiceNameSelector = connectedServiceNameARMgereklidir.

Azure yönetim API'lerini çağırmak için yapılandırılıp kullanılacak Azure Resource Manager aboneliğini belirtir.


azureServiceConnection - Azure aboneliği
Giriş diğer adı: connectedServiceNameARM. string. olduğunda connectedServiceNameSelector = connectedServiceNameARMgereklidir.

Azure yönetim API'lerini çağırmak için yapılandırılıp kullanılacak Azure Resource Manager aboneliğini belirtir.


method - Yöntem
string. Gereklidir. İzin verilen değerler: OPTIONS, GET, HEAD, , POST, PUT, TRACEDELETE, PATCH. Varsayılan değer: POST.

API'yi çağıran HTTP yöntemini belirtir.


headers - Üstbilgi
string. Varsayılan değer: {\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}.

Üst bilgiyi JSON biçiminde tanımlar. Üst bilgi, API'ye gönderilen istekle birlikte eklenir.


body - Vücut
string. İsteğe bağlı. when method != GET && method != HEADkullanın.

İşlev çağrısının istek gövdesini JSON biçiminde belirtir.


urlSuffix - URL son eki ve parametreleri
string.

HTTP çağrısı yapılırken genel hizmet bağlantısından baseUrl öğesine eklenecek dizeyi belirtir.

Örnek: Hizmet bağlantısı URL'si ve https:...TestProj/_apis/Release/releases URL son eki ise /2/environments/1, hizmet bağlantısı URL'si olur https:.../TestProj/_apis/Release/releases/2/environments/1. URL son eki ise ?definitionId=1&releaseCount=1, hizmet bağlantısı URL'si olur https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1.


waitForCompletion - Tamamlanma olayı
string. Gereklidir. İzin verilen değerler: true (Callback), false (ApiResponse). Varsayılan değer: false.

Görevin tamamlanma durumunu nasıl raporlamasını belirtir. İzin verilen değerler şunlardır:

  • false - API yanıtı: İşlev 20 saniye içinde başarı döndürdüğünde tamamlanmayı bildirir ve başarı ölçütleri true olarak değerlendirilir.
  • true - Geri arama: Dış hizmet zaman çizelgesi kaydını güncelleştirmek için geri arama yaptığında tamamlanma durumunu bildirir.

successCriteria - Başarı ölçütleri
string. İsteğe bağlı. when waitForCompletion = falsekullanın.

Görevin başarı ölçütlerini belirtir. Ölçüt tanımlanmadıysa yanıt içeriği sonucu etkilemez. Varsayılan olarak, çağrı döndürdüğünde 200 OKgörev geçer.

Örnek: Yanıt {"status" : "successful"}için ifadesi olabilir eq(root['status'], 'successful'). Koşulları belirtme hakkında daha fazla bilgi edinin.


Görev denetim seçenekleri

Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Not

Bu görev yalnızca aracısız bir işte kullanılabilir.

API başarılı döndürürse ve yanıt gövdesi ayrıştırma başarılı olursa veya API zaman çizelgesi kaydını başarılı bir şekilde güncelleştirirse başarılı olur.

REST API'yi Çağır görevi dağıtım eylemlerini doğrudan gerçekleştirmez. Bunun yerine, otomatik işlem hattının bir parçası olarak herhangi bir genel HTTP REST API'sini çağırmanıza ve isteğe bağlı olarak tamamlanmasını beklemenize olanak tanır.

REST API Çağırma görevini yapılandırma

Bu görevi kullanma hakkında daha fazla bilgi için bkz . Onaylara ve geçitlere genel bakış.

Azure Yönetim API'leri çağrılırken hangi temel URL'ler kullanılır?

Azure yönetim API'leri, seçilen ortamın ResourceManagerEndpoint değeri kullanılarak çağrılır. Örneğin https://management.azure.com , abonelik bir AzureCloud ortamında olduğunda kullanılır.

Geri Çağırma tamamlanma olayı olarak seçildiğinde görev sinyalinin nerede tamamlanması gerekir?

Tamamlanma sinyalini vermek için dış hizmetin tamamlama verilerini aşağıdaki işlem hatlarının REST uç noktasına GÖNDERMESİ gerekir.

{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" }

Ayrıntılar için bu basit cmdline uygulamasına bakın.

Ayrıca, aracısız görevler için canlı günlüğe kaydetmeyi ve görev durumunu yönetmeyi etkinleştirmek için bir C# yardımcı kitaplığı da sağlanır. Daha fazla bilgi edinin

Yanıt gövdesini başka bir görevin girişi olarak kullanabilir miyim?

Hayır, bu görev aracısız bir görev olduğundan ve HTTP isteğinin içeriğini döndürmeyen TFS'nin iç HttpRequest'ini kullandığından.

Örnek

steps:
- task: InvokeRESTAPI@1
  displayName: 'Invoke REST API: GET'
  inputs:
    serviceConnection: 'generic_demo'
    method: GET
    successCriteria: 'eq(root[''count''], ''1425'')'

Bu örnekte, yanıt şu değerle successCriteriaeşleştiğinde görev başarılı olur: eq(root[''count''], ''1425'').

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Server, ServerGate
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü Desteklenen tüm aracı sürümleri.
Görev kategorisi Dağıtma