我正在根据MS VSO工具中的数据为我的团队创建吞吐量计算器。为了准确地指出我们开始在PBI上工作的日期,我需要提取PBI承诺的日期。
是否可以查询MS VSO产品以便将PBI更改状态的日期提取为“已提交”?
我可以通过查询编辑器获取“创建日期”(我担心的是列选项),但VSO似乎不允许访问状态更改日期。并且开始日期不正确,因为PBI可能已经积压了一段时间才开始准备好。
答案 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