【问题标题】:How to get TFS(Team Foundation Server) work items(bug,task) details using REST api?如何使用 REST api 获取 TFS(Team Foundation Server)工作项(错误、任务)详细信息?
【发布时间】:2016-11-26 06:24:50
【问题描述】:

我一直在研究 TFS REST api,以获取工作项(错误、任务)的详细信息。 我用过GET方法,

GET https://shankarsam.visualstudio.com/DefaultCollection/New-1/_apis/wit/queries/Shared%20Queries/My%20Bugs?$depth=1&api-version=2.2

它显示以下输出

 "id": "e7731d7b-10d2-441f-899f-b081e4008b21",
    "name": "My Bugs",
    "path": "Shared Queries/My Bugs",
    "createdBy":
    {
        "id": "7bb24a89-a490-4ffa-9047-252e4a2b274b",
        "displayName": "kalaisankaran B "
    },
    "createdDate": "2016-07-15T05:30:18.34Z",
    "lastModifiedBy":
    {
        "id": "7bb24a89-a490-4ffa-9047-252e4a2b274b",
        "displayName": "kalaisankaran B "
    },
    "lastModifiedDate": "2016-07-15T05:30:18.34Z",
    "isPublic": true,

我无法获得所有错误详细信息。 在 UI 的情况下,我已导航到共享查询 -> 我的错误 -> 已列出错误。请参阅随附的屏幕截图。

【问题讨论】:

  • 默认情况下你得到了所有的字段,你缺少哪些细节?

标签: rest tfs azure-devops


【解决方案1】:

最好的起点是查看REST API Documentation。它通过一些有用的示例涵盖了这个确切的场景。

我看到您已检索到查询层次结构,并且您可以运行查询然后获取工作项。

根据您上面的电话,我将使用“我的错误”查询作为示例。

GET https://shankarsam.visualstudio.com/DefaultCollection/New-1/_apis/wit/wiql/7731d7b-10d2-441f-899f-b081e4008b21

将返回查询结果:

{
  "queryType": "flat",
  "workItems": [
    {
      "id": 300,
      "url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/_apis/wit/workItems/300"
    }
  ]
}

由此,您可以使用结果中的 id 属性来获取工作项:

GET https://shankarsam.visualstudio.com/DefaultCollection/New-1/_apis/wit/workItems/1

这将返回工作项。

【讨论】:

    【解决方案2】:

    我得到了解决方案。如果我们需要显示项目中关联的所有错误或任务。使用以下 rest api 调用。

      POST https://<Account Name>.visualstudio.com/DefaultCollection/<Project Name>/_apis/wit/wiql?api-version=1.0
      Ex :
      POST https://shankarsam.visualstudio.com/DefaultCollection/New-1/_apis/wit/wiql?api-version=1.0
    

    标题:

      Content-Type  application/json
    

    请求正文:

      {
      "query": "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = 'Bug'"
      }
    

    需要显示任务项的意思,试试这个[System.WorkItemType] = 'Task'

    显示 Bug 或 Task 相关工作项,Repo 试试这个:

      GET https://<Account Name>.visualstudio.com/DefaultCollection/_apis/wit/workitems?id=<Issue ID>&$expand=all&api-version=1.0
      Ex:
      GET https://shankarsam.visualstudio.com/DefaultCollection/_apis/wit/workitems?id=23&$expand=all&api-version=1.0
    

    【讨论】:

      猜你喜欢
      • 2019-11-21
      • 1970-01-01
      • 2018-03-06
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多