TFS - 关于签到的每日报告

时间:2017-09-12 20:13:03

标签: tfs2015

有没有办法获得TFS中项目的所有签到的每日报告?

此外,我是否可以获得有关前一天在TFS中输入的所有小时数的类似信息?

2 个答案:

答案 0 :(得分:1)

您可以使用REST TFVCGit来检索有关对这些存储库所做更改的信息。但是,有些小部件可以固定到团队的仪表板上,以提供有关最近提交的最新信息。

对于工作项,您可以通过相同的REST API检索有关工作项的各种详细信息。但是,你的问题的措辞("小时输入")让你听起来像是在尝试将工作项目用作时间跟踪器,这实际上并不是他们应该如何做的。用过的。有很多第三方扩展提供时间跟踪支持,但提供工具建议是Stack Overflow的主题,我老实说,他们没有多少经验。工作项通常用于关注剩余与初始估算相比的工作量,而不是已完成的工作量

通过说明您正在尝试跟踪的内容以及您尝试跟踪它的原因,您可以获得更好的服务。可能有很好的方法可以显示您之后的信息,但这实际上取决于目标受众以及您希望衡量的精确指标。

答案 1 :(得分:1)

对于 Checkins每日报告,您可以使用REST API获取每日changsets信息。

您可以使用以下PowerShell脚本查询和导出在 上一天 中创建的更改集:

$project = "TFVC-Scrum"
$fromDate = (Get-Date).AddDays(-1).ToString("yyyy-M-d")
$baseUrl = "http://server:8080/tfs/CollectionLC/TFVC-Scrum/_apis/tfvc/changesets"           
$changeSetHistoryUrl = "{0}?api-version=1.0&searchCriteria.itemPath=$/{1}&searchCriteria.fromDate={2}" -f $baseUrl, $project, $fromDate #{1} is the first param $project, and {2} is the second param $fromDate
$changeSets = (Invoke-RestMethod -Uri $changeSetHistoryUrl -Method Get -UseDefaultCredential).value
$filename = $fromDate + "-" + "ChangesetReport"

$changeResults = @()

foreach($changeSet in $changeSets){
    $changeSetUrl = "{0}/{1}?api-version=1.0&includeworkitems=true&includeDetails=true" -f $baseUrl, $changeSet.changesetId

    $changeSetItem = Invoke-RestMethod -Uri $changeSetUrl -Method Get -UseDefaultCredential

    $customObject = new-object PSObject -property @{
          "ChangeSetId" = $changeSetItem.ChangeSetId
          "CheckinNotesName" = $changeSetItem.checkinNotes.name
          "CheckinNotesValue" = $changeSetItem.checkinNotes.value
          "CheckedInBy" = $changeSetItem.checkedInBy.displayName
          "Comment" = $changeSetItem.Comment
          "CreatedDate" =  ([datetime]$changeSetItem.CreatedDate).ToString("MM/dd/yyyy HH:mm")
          "WorkItem" = switch($changeSetItem.WorkItems.WorkItemType) 
                        {
                          "" {$null}
                         default {"[{0} - {1} - {2}] {3}" -f $changeSetItem.WorkItems.WorkItemType, $changeSetItem.WorkItems.Id, $changeSetItem.WorkItems.State, $changeSetItem.WorkItems.Title}
                    }
          "WorkItemAssignedTo" =  $changeSetItem.WorkItems.AssignedTo
        } 

    $changeResults += $customObject     
}

$changeResults | Select `
                ChangeSetId,
                CheckinNotesName, 
                CheckinNotesValue, 
                CreatedDate,
                CheckedInBy,
                WorkItem,
                WorkItemAssignedTo,
                Comment | export-csv -Path E:\$filename.csv -NoTypeInformation

对于每日营业时间,您可以使用第三个工具。引用此主题:TFS 2015 - Track Daily Hours

enter image description here