Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İşlem hattınızın bir parçası olarak REST API'yi çağırmak için bu görevi kullanın.
Sözdizimi
# 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.
Girişler
connectionType
-
Bağlantı türü
Giriş diğer adı: connectedServiceNameSelector.
string. Gerekli. İ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 veya diğer tüm API'ler için Genel seçin.
serviceConnection
-
Genel hizmet bağlantısı
Giriş diğer adı: connectedServiceName | genericService.
string.
connectedServiceNameSelector = connectedServiceNamegerekir.
Çağrı için baseUrl ve görev için kullanılacak yetkilendirmeyi sağlayan genel hizmet bağlantısını belirtir.
Azure aboneliği
Giriş diğer adı: connectedServiceNameARM | azureSubscription.
string.
connectedServiceNameSelector = connectedServiceNameARMgerekir.
Azure yönetim API'lerini çağırmak için yapılandırılıp kullanılacak Azure Resource Manager aboneliğini belirtir.
method
-
Yöntemi
string. Gerekli. İzin verilen değerler: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH. Varsayılan değer: POST.
API'yi çağıran HTTP yöntemini belirtir.
üst bilgileriheaders -
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
-
Gövde
string. Opsiyonel.
method != GET && method != HEADolduğunda kullanın.
İşlev çağrısının istek gövdesini JSON biçiminde belirtir.
URL son ekini ve parametreleriurlSuffix -
string.
HTTP çağrısı yaparken genel hizmet bağlantısından baseUrl öğesine eklenecek dizeyi belirtir.
Örnek: Hizmet bağlantısı URL'si https:...TestProj/_apis/Release/releases ve URL son eki /2/environments/1ise, hizmet bağlantısı URL'si https:.../TestProj/_apis/Release/releases/2/environments/1olur. URL son eki ?definitionId=1&releaseCount=1ise hizmet bağlantısı URL'si https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1olur.
waitForCompletion
-
Tamamlama olayı
string. Gerekli. İzin verilen değerler: true (Geri Arama), false (ApiResponse). Varsayılan değer: false.
Görevin tamamlanma durumunu nasıl raporlayanı 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 Çağırma: Dış hizmet zaman çizelgesi kaydını güncelleştirmek için bir geri arama yaptığında tamamlanma durumunu bildirir.
successCriteria
-
Başarı ölçütleri
string. Opsiyonel.
waitForCompletion = falseolduğunda kullanı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ı 200 OKdöndürdüğünde görev geçer.
Örnek: {"status" : "successful"}yanıt için ifadesi eq(root['status'], 'successful')olabilir.
koşulları belirtmehakkında daha fazla bilgi edinin.
Görev denetimi seçenekleri
Tüm görevlerin, 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
Uyarı
Bu görev yalnızca aracısız işkullanılabilir.
API başarı 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ğırma görevi doğrudan dağıtım eylemleri 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.
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 kullanılarak çağrılır. Örneğin https://management.azure.com, abonelik bir AzureCloud ortamındayken kullanılır.
Geri Çağırma tamamlanma olayı olarak seçildiğinde görev tamamlanma sinyali nerede olmalıdır?
Tamamlanma sinyali 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ı 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ığı sağlanır. Daha fazla bilgi edinin
Yanıt gövdesini başka bir görevin girişi olarak kullanabilir miyim?
Hayır, çünkü bu görev aracısız bir görevdir ve HTTP isteğinin içeriğini döndürmeyen TFS'nin iç HttpRequest'ini kullanır.
Ö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 successCriteriaile eş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ışır | Sunucu, ServerGate |
| Talepleri | Hiç kimse |
| Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
| Komut kısıtlamaları | Herhangi bir |
| Ayarlanabilir değişkenleri | Herhangi bir |
| Aracı sürümü | Desteklenen tüm aracı sürümleri. |
| Görev kategorisi | Uygulamak |