gpt4 book ai didi

Azure DevOps - 工作项在看板上特定列中花费的时间

转载 作者:行者123 更新时间:2023-12-04 03:52:31 26 4
gpt4 key购买 nike

我想报告一下功能在我们看板的每一列中花费的天数。

因此,对于我想要的示例输出,我们有一个带有列的看板:

Funnel           --> Workitem X spend 10 days in here
Analyzing --> Workitem X spend 13 days in here
Backlog --> Workitem X spend 3 days in here
Implementing --> Workitem X spend 11 days in here
Done --> Workitem X spend 50 days in here

到目前为止我尝试过

  • 分析 View :没有可以添加到输出字段的 BoardColumn
  • OData:找到了一种根据当前 WorkItem 状态获取列值 (BoardLocation) 的方法
  • OData:WorkItemSnapshot(用于获取历史数据)不支持 BoardLocation。

你们知道我可以检索有关功能及其 BoardColumns 的历史数据的任何方法吗?

提前致谢,乔斯特

最佳答案

我们可以使用 Rest API 和 power shell 来做到这一点。

  1. 通过 Wiql query 按状态获取所有工作项 ID .

示例脚本:

$connectionToken="pat"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$WorkItemQueryURL = "https://dev.azure.com/{organization}/{project}/{team}/_apis/wit/wiql?api-version=6.0"

$body =@"
{
"query": "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = 'User Story' AND [State] = 'Closed' order by [Microsoft.VSTS.Common.Priority] asc, [System.CreatedDate] desc"
}
"@
$WorkItem = Invoke-RestMethod -Uri $WorkItemQueryURL -ContentType "application/json" -Body $body -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method POST

Write-host $WorkItem.workItems.id

结果:

enter image description here

  • 我们可以通过 REST API 获取字段 Microsoft.VSTS.Common.StateChangeDate 的值 Get Work Item ,就是状态发生变化的时间,那么我们就可以计算出从状态变为xxx以来,已经在这个状态度过了多少天了。
  • 示例脚本:

    Write-host $WorkItem.workItems.id

    ForEach ($ID in $WorkItem.workItems.id)
    {
    $WorkItemInfoURL = "https://dev.azure.com/v-viliu/test/_apis/wit/workitems/$($ID)?api-version=6.0"

    $WorkItemDetail = (Invoke-RestMethod -Uri $WorkItemInfoURL -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})

    $StateChangeDate = $WorkItemDetail.fields."Microsoft.VSTS.Common.StateChangeDate"

    Write-host "Work item ID: $ID and StateChangeDate is $StateChangeDate"

    }

    结果:

    enter image description here

  • 计算自状态更改为 xxx 以来已处于该状态的天数。
  • 示例脚本:

    $current = Get-Date

    $SpendDate= New-TimeSpan -Start $current -End $StateChangeDate

    Write-Output "The spend date is: $SpendDate"

    注意:需要更改当前日期格式,可以引用这个doc了解更多详情。

    关于Azure DevOps - 工作项在看板上特定列中花费的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64262879/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com