[英]Get file from Azure DevOps Repo Using REST API in Powershell Script
[英]How to get Azure devops git repo folder name where user committed changes using powershell (Azure devops REST API)
我正在编写脚本,我想在其中找出用户提交更改的文件夹的名称
$AzureDevOpsPAT = ""
$OrganizationName = ""
$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) }
$UriOrga = "https://dev.azure.com/$($OrganizationName)/"
$uriAccount = $UriOrga + "{Project Name}/_apis/git/repositories/{RepositoryID}/items?api-version=6.0-preview.1"
Invoke-RestMethod -Uri $uriAccount -Method get -Headers $AzureDevOpsAuthenicationHeader -ContentType "application/json"
这正在返回(它确实返回最近的提交 ID,Object ID 但在路径中它只返回 /)
路径=/;
还与
$uriAccount = $UriOrga + "{Project Name}/_apis/git/repositories/{REPO ID}/commits?api-version=6.0-preview.1"
它返回 -
author=; committer=; (Nothing for these values just blank)
Que - 我使用了错误的 API 电话吗? 如何获取文件夹名称、提交者名称?
谢谢
您使用没有任何过滤器的请求。 尝试添加额外的过滤器:
要搜索项目,您可以添加:
要搜索提交,您可以添加
我们可以通过提交 ID 获取提交文件夹名称
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes?api-version=6.0-preview.1
结果:
并通过以下 API 获取提交者名称
Get https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=6.0-preview.1
结果:
更新1
获取提交者姓名
我使用 postman 跟踪这些结果,我也尝试了 powershell 脚本,请检查。
$url = "https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=6.0-preview.1"
$connectionToken="PAT"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$CommitInfo = Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get
Write-Host "CommitInfo = $($CommitInfo | ConvertTo-Json -Depth 100)"
结果:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.