繁体   English   中英

如何在 Powershell 中使用 RestApi 从 AzureDevOps 获取工作项

[英]How to get the workitems from AzureDevOps with RestApi in Powershell

 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

如何在 Powershell 中使用 RestApi 从 AzureDevOps 获取工作项

结果将显示在输出中,您会发现如下所示:

在此处输入图片说明

如果您没有找到以上输出,请确保您有任务类型的工作项,因为您已在 powershell 脚本中设置了条件'System.WorkItemType' -eq 'Task'

另一方面,您可以将工作项列表导出到*.csv文件,这部分代码在 powershell 中进行了注释:

WorkItemType #| export-csv -Path G:\temp\WIT.csv -NoTypeInformation

如果要创建*.csv文件,则需要删除该行中的# ,它应该是:

WorkItemType | export-csv -Path G:\temp\WIT.csv -NoTypeInformation

现在,我们可以在本地文件夹中获取该文件:

在此处输入图片说明

注意:路径G:\\temp是本地路径,您应该使用私有代理,如果您使用的是托管代理,您应该从托管代理复制该文件,并将其发布到管道工件。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM