我正在嘗試使用此RESTapi在 Azure DevOps 中創建用戶故事和任務。 有多個積壓作業。
POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${type}?api-version=6.0
我的代碼
function Set-pbiStuff {
param
(
[Parameter(Mandatory = $true)] [string] $Organization,
[Parameter(Mandatory = $true)] [string] $Project,
[Parameter(Mandatory = $true)] [hashtable] $Token
)
$Base = "https://dev.azure.com/$($organization)/$($project)/_apis/wit/workitems"
$workItemType = 'task'
$URL = "$($Base)/$($workItemType)?api-version=6.0"
$Json = @(
@{
op = 'add'
path = '/fields/System.Title'
value = $workItemType
}
)
$Body = (ConvertTo-Json $Json)
$response = Invoke-RestMethod `
-Method Post `
-Uri $URL `
-ContentType 'application/json' `
-Body $Body `
-Headers $Token
Write-Host $URL
Write-Host $response
}
$Token= @{Authorization = 'Basic ' [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($env:SYSTEM_ACCESSTOKEN)")) }
$tt = Set-pbiStuff -Organization 'myOrganization' -Project 'myProject' -Token $Token
return $tt
但我得到的回應是找不到該頁面。我錯過了什么?
uj5u.com熱心網友回復:
您正在嘗試使用 PATCH 動詞呼叫 API,請參見第二行:
$response = Invoke-RestMethod `
-Method Patch `
-Uri $URL `
-ContentType 'application/json' `
-Body $Body `
-Headers $AzAuthHeader
API 端點,就像檔案顯示和您在問題中所說的那樣,是一個 POST 端點。
uj5u.com熱心網友回復:
試試這個網址:
$URL = "$($Base)/`$$($workItemType)?api-version=6.0"
檢查此示例:https ://arindamhazra.com/create-azure-devops-task-using-powershell/
uj5u.com熱心網友回復:
問題是${type}腳本中的型別不正確,$缺少字符。
請試試這個:
$URL = "$($Base)/" "$" "$($workItemType)?api-version=6.0"
并且內容型別應該是“ application/json-patch json”
下面的腳本對我有用:(用于測驗的 PAT,SYSTEM_ACCESSTOKEN如果您在管道中運行它,您可以將其更改回)
function Set-pbiStuff {
param
(
[Parameter(Mandatory = $true)] [string] $Organization ,
[Parameter(Mandatory = $true)] [string] $Project ,
[Parameter(Mandatory = $true)] [string] $Token
)
$Base = "https://dev.azure.com/$($organization)/$($project)/_apis/wit/workitems"
$workItemType = 'task'
$URL = "$($Base)/" "$" "$($workItemType)?api-version=6.0"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f '',$Token)))
$Json = @(
@{
op = 'add'
path = '/fields/System.Title'
value = $workItemType
}
)
$Body = (ConvertTo-Json $Json)
$response = Invoke-RestMethod `
-Method Post `
-Uri $URL `
-ContentType 'application/json-patch json' `
-Body $Body `
-Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
Write-Host $URL
Write-Host $response
}
$tt = Set-pbiStuff -Organization 'orgname' -Project 'ProjectName' -Token Tokenhere
return $tt
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/436122.html
標籤:电源外壳 休息 天蓝色的devops
