从 Microsoft VSO 获取看板吞吐量数据

Getting Kanban throughput data from Microsoft VSO

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

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

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

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

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

参考这篇文章来做到这一点:TFS SDK: Work Item History Visualizer using TFS API

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

例如,您可以使用下面的 PowerShell 示例将日期更改为“Committed”:

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