簡體   English   中英

如何查找正在進行的TFS版本?

[英]How to find a TFS release in progress?

如果TFS 2018的管道還沒有完全完成,我需要在TFS 2018上構建失敗。 僅批處理構建是不夠的。 必須先完成鏈接的發行版,然后才能開始另一個構建。 我的想法是通過REST API在PowerShell腳本中執行此操作。

我在這里的官方文檔中看到有一個名為TaskStatus的屬性。 它提供了inProgress的值,大概是針對正在進行的發行版。 這也許可以解決問題,但沒有指示如何實際使用它。

使用REST API,如何獲取給定版本的TaskStatus

in process和某些其他值(例如succeededcanceled僅代表任務在發布管道中的狀態。

您只需使用Rest API即可發布

GET https://fabrikam.vsrm.visualstudio.com/MyFirstProject/_apis/release/releases/{releaseId}?api-version=4.1-preview.6

應該有一個名為status的值:

"id": 18,
  "name": "Release-18",
  "status": "abandoned",
  "createdOn": "2017-06-16T01:36:20.397Z",
  "modifiedOn": "2017-06-16T01:36:21.07Z",
  "modifiedBy": {
    "id": "4adb1680-0eac-6149-b5ee-fc8b4f6ca227",
    "displayName": "Chuck Reinhart",
    "uniqueName": "fabfiber@outlook.com",
    "url": "https://app.vssps.visualstudio.com/A168224e4-29ff-4081-9954-c8780ce81117/_apis/Identities/4adb1680-0eac-6149-b5ee-fc8b4f6ca227",
    "imageUrl": "https://fabfiber-inc.visualstudio.com/_api/_common/identityImage?id=4adb1680-0eac-6149-b5ee-fc8b4f6ca227"
  },
  "createdBy": {
    "id": "4adb1680-0eac-6149-b5ee-fc8b4f6ca227",
    "displayName": "Chuck Reinhart",
    "uniqueName": "fabfiber@outlook.com",
    "url": "https://app.vssps.visualstudio.com/A168224e4-29ff-4081-9954-c8780ce81117/_apis/Identities/4adb1680-0eac-6149-b5ee-fc8b4f6ca227",
    "imageUrl": "https://fabfiber-inc.visualstudio.com/_api/_common/identityImage?id=4adb1680-0eac-6149-b5ee-fc8b4f6ca227"
  },
  "environments": [
    {
      "id": 69,
      "releaseId": 18,
      "name": "Dev",
      "status": "notStarted",
      "variables": {},
      "preDeployApprovals": [],
      "postDeployApprovals": [],
      "preApprovalsSnapshot": {
        "approvals": [
          {
            "rank": 1,
            "isAutomated": false,
            "isNotificationOn": false,
            "approver": {
              "id": "4adb1680-0eac-6149-b5ee-fc8b4f6ca227",
              "displayName": "Chuck Reinhart",
              "uniqueName": "fabfiber@outlook.com",
              "url": "https://app.vssps.visualstudio.com/A168224e4-29ff-4081-9954-c8780ce81117/_apis/Identities/4adb1680-0eac-6149-b5ee-fc8b4f6ca227",
              "imageUrl": "https://fabfiber-inc.visualstudio.com/_api/_common/identityImage?id=4adb1680-0eac-6149-b5ee-fc8b4f6ca227"
            },
            "id": 0
          }

您可以在返回的json文件中獲取值狀態,並判斷發布是成功還是失敗。 最后根據此狀態觸發另一個構建或不構建。


更新資料

返回的json的示例,其中包含任務的狀態信息:

  "deploymentJobs": [
                                {
                                    "job": {
                                        "id": 5,
                                        "timelineRecordId": "855ea6d6-9ed0-442d-b921-0c4add8bb068",
                                        "name": "Release",
                                        "dateStarted": "2018-07-04T08:53:05.9133333Z",
                                        "dateEnded": "2018-07-04T08:53:21.34Z",
                                        "startTime": "2018-07-04T08:53:05.9133333Z",
                                        "finishTime": "2018-07-04T08:53:21.34Z",
                                        "status": "succeeded",
                                        "rank": 1,
                                        "issues": [],
                                        "agentName": "DFA00"
                                    },
                                    "tasks": [
                                        {
                                            "id": 1,
                                            "timelineRecordId": "fa3bb635-eab4-4c1b-9cc0-fdccd7ced33f",
                                            "name": "Initialize Job",
                                            "dateStarted": "2018-07-04T08:53:06.5833333Z",
                                            "dateEnded": "2018-07-04T08:53:06.8033333Z",
                                            "startTime": "2018-07-04T08:53:06.5833333Z",
                                            "finishTime": "2018-07-04T08:53:06.8033333Z",
                                            "status": "succeeded",
                                            "rank": 1,
                                            "issues": [],
                                            "agentName": "DFA00",
                                            "logUrl": "http://xxxx:8080/tfs/DefaultCollection/7658559e-6e61-422a-952b-a5fce0b6ca1d/_apis/Release/releases/49/environments/49/tasks/1/logs?releaseDeployPhaseId=54"
                                        }, 

在單個發布中,任務部署結果應該有timelinerecordstarttimefinishtimestatus

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM