0

我正在根据我们在 MS VSO 工具中的数据为我的团队创建一个吞吐量计算器。为了准确指出我们开始在 PBI 上工作的日期,我需要提取 PBI 承诺的日期。

是否可以查询 MS VSO 产品以提取 PBI 将状态更改为“已提交”的日期?

我可以通过查询编辑器获取“创建日期”(恐怕只有列选项),但 VSO 似乎不允许访问状态更改日期。并且开始日期不正确,因为 PBI 在开发准备就绪之前可能已经积压了一段时间。

4

1 回答 1

0

默认情况下无法通过查询实现这一点。

但是您可以使用 TFS API 查询工作项历史记录并检查状态转换发生时的时间戳。

请参考这篇文章:TFS SDK:使用 TFS API 的工作项历史可视化工具

您还可以使用REST API提取工作项更改状态的日期。

例如,您可以使用以下 PowerShell 示例将日期更改为“已提交”:

Param(
   [string]$collectionurl = "https://instance.visualstudio.com",  #If on-premise TFS change it to http://server:8080/tfs/DefaultCollection
   [string]$workitemId = "62",
   [string]$user = "username",
   [string]$token = "token"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

$baseUrl = "$collectionurl/_apis/wit/workitems/$($workitemId)/revisions?api-version=1.0"            
$response = (Invoke-RestMethod -Uri $baseUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
$revisions = $response.value.fields | where({$_.'System.State' -eq 'Committed'}) # Change the sate which you want to get it's changed date here 

$witrevisions = @()

foreach($revision in $revisions){

    $customObject = new-object PSObject -property @{
          "WorkItemType" = $revision.'System.WorkItemType'        
          "CommittedDate" = $revision.'System.ChangedDate'
          "ChangedBy" = $revision.'System.ChangedBy'
        } 

    $witrevisions += $customObject      
}

$witrevisions | Select-Object -Last 1 `
                WorkItemType,
                CommittedDate, 
                ChangedBy

在此处输入图像描述

于 2017-11-16T07:48:02.893 回答