![](/img/trans.png)
[英]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.