Param(
[string]$collectionurl = "https://dev.azure.com",
[string]$project = "projectname",
[string]$token = "PAT"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo =
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}" -f
$token)))
$baseUrl =
"$collectionurl/$project/_apis/wit/reporting/workitemrevisions?
includeLatestOnly=true&api-version=5.0-preview.2"
$response = (Invoke-RestMethod -Uri $baseUrl -Method Get -
UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f
$base64AuthInfo)}).values
$wits = $response | where({$_.fields.'System.WorkItemType' -eq
'Task'}) # Only retrieve Tasks
$witrevisions = @()
foreach($wit in $wits){
$customObject = new-object PSObject -property @{
"WitID" = $wit.fields.'System.Id'
"rev" = $wit.fields.'System.Rev'
"Title" = $wit.fields.'System.Title'
"AssignedTo" = $wit.fields.'System.AssignedTo'
"ChangedDate" = $wit.fields.'System.ChangedDate'
"ChangedBy" = $wit.fields.'System.ChangedBy'
"WorkItemType" = $wit.fields.'System.WorkItemType'
}
$witrevisions += $customObject
}
$witrevisions | Select-Object `
WitID,
rev,
Title,
AssignedTo,
ChangedDate,
ChangedBy,
WorkItemType #|export-csv -Path E:\ashwin\devdata.csv -
NoTypeInformation
Write-Output $witrevisions
我想显示我的项目中要使用powershell显示的工作项,并使用我的PAT使用以下Rest API。
https://dev.azure.com/ {organization}/{project}/_apis/wit/workitems/{id}?api-version=5。1
1条答案
按热度按时间qv7cva1a1#
如何在PowerShell中使用RestApi从AzureDevOps获取工作项
结果将显示在输出中,您会发现如下所示:
如果您没有找到上面的输出,请确保您有任务类型的workitem,因为您已经在powershell脚本中设置了条件
'System.WorkItemType' -eq 'Task'
。另一方面,您可以将工作项列表导出到
*.csv
文件,这部分代码在powershell中注解:如果你想创建一个
*.csv
文件,你需要删除该行中的#
,它应该是:现在,我们可以在本地文件夹中获取该文件:
**注意:**路径为
G:\temp
是本地路径,您应该使用私有代理,如果您使用的是托管代理,您应该从托管代理复制该文件,并发布到管道工件。希望这能帮上忙。