共用方式為


InvokeRESTAPI@0 - 叫用 REST API v0 工作

使用此工作來叫用 REST API 作為管線的一部分。

語法

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

輸入

serviceConnection - 泛型端點
輸入別名:connectedServiceNamestring。 必須的。

指定泛型服務連線,提供呼叫的 baseURL,以及要用於工作的授權。


method - 方法
string。 必須的。 允許的值:OPTIONSGETHEADPOSTPUTDELETETRACEPATCH。 預設值:POST

指定叫用 API 的 HTTP 方法。


headers - 標頭
string。 預設值:{\n"Content-Type":"application/json"\n}

以 JSON 格式定義標頭。 標頭會附加至 API 的要求。


body - 本文
string。 選擇性。 method != GET && method != HEAD時使用 。 預設值:{"JobId": "$(system.jobId)", "PlanId": "$(system.planId)", "TimelineId": "$(system.timelineId)", "ProjectId": "$(system.teamProjectId)", "VstsUrl": "$(system.CollectionUri)","AuthToken": "$(system.AccessToken)"}

以 JSON 格式指定函式呼叫的要求本文。


urlSuffix - URL 後綴字串
string

指定要在進行 HTTP 呼叫時,從泛型服務連線附加至baseUrl的字串。

範例:如果服務連線 URL 是 https:...TestProj/_apis/Release/releases,且 URL 後綴為 /2/environments/1,則服務連線 URL 會變成 https:.../TestProj/_apis/Release/releases/2/environments/1。 如果 URL 後綴 ?definitionId=1&releaseCount=1,則服務連線 URL 會變成 https//...TestProj/_apis/Release/releases?definitionId=1&releaseCount=1


根據完成 waitForCompletion -
string。 必須的。 允許的值:true(回呼)、false(ApiResponse)。 預設值:false

指定工作報告完成的方式。 允許的值為:

  • false - API 回應:當函式在 20 秒內傳回成功時報告完成,而成功準則會評估為 true。
  • true - 回呼:當外部服務進行回呼以更新時程表記錄時,報告完成。

successCriteria - 成功準則
string。 選擇性。 waitForCompletion = false時使用 。

指定工作成功準則。 如果未定義任何準則,回應內容不會影響結果。 根據預設,當呼叫傳回 200 OK時,工作就會通過。

範例:對於回應 {"status" : "successful"},表達式可以 eq(root['status'], 'successful')。 深入瞭解 指定條件。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性

輸出變數

沒有。

備註

備註

此工作只能在 無代理程式工作中使用。

如果 API 傳回成功且回應本文剖析成功,或 API 以成功更新時間軸記錄,則成功。

叫用 REST API 工作 不會直接執行部署動作。 相反地,它可讓您叫用任何一般 HTTP REST API 作為自動化管線的一部分,並選擇性地等待它完成。

設定叫用 REST API 工作

如需使用此工作的詳細資訊,請參閱 核准和閘道概觀

叫用 Azure 管理 API 時會使用哪些基底 URL?

使用所選環境的 resourceManagerEndpoint ResourceManagerEndpoint 叫用 Azure 管理 API。 例如,當訂用帳戶位於 https://management.Azure.com 環境中時,會使用

回呼 選擇為完成事件時,工作應該在何處發出完成訊號?

若要發出完成訊號,外部服務應該會將完成數據張貼到下列管線 REST 端點。

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

如需詳細資訊,請參閱 這個簡單的 Cmdline 應用程式

此外,C# 協助程式連結庫可供啟用即時記錄和管理無代理程式工作的工作狀態。 深入了解

我可以使用回應本文作為另一個工作的輸入嗎?

否,因為此工作是無代理程式工作,並使用 TFS 的內部 HttpRequest,不會傳回 HTTP 要求的內容。

需求

要求 說明
管線類型 YAML、傳統組建、傳統版本
執行於 Server、ServerGate
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 所有支援的代理程式版本。
工作類別 部署