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

时间:2017-11-15 14:56:45

标签: tfs scrum kanban backlog scrumboard

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

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

我可以通过查询编辑器获取“创建日期”(我担心的是列选项),但VSO似乎不允许访问状态更改日期。并且开始日期不正确,因为PBI可能已经积压了一段时间才开始准备好。

1 个答案:

答案 0 :(得分:0)

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

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

请参阅此文章:TFS SDK: Work Item History Visualizer using 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

enter image description here