【发布时间】:2021-04-10 20:35:11
【问题描述】:
你能帮帮我吗?
我正在尝试使用 Powershell Invoke-WebRequest cmdlet 在 Jira 中创建问题。我收到 400 Bad Request 错误。
我能够使用 Postman 发送成功的请求,因此我确保正文语法正确并且我有足够的权限。
我的代码:
$body = @{
"fields" = @{
"project"=
@{
"key"= "ProjectKey"
}
"summary"= "Test"
"description"= "Test"
"issuetype" =@{
"id"= "10705"
}
"priority"= @{
"id"= "18"
}
"reporter"= @{"name"= "MyName"}
}
}
$Headers = @{
Authorization = "Basic QWxla0Zblablablablablablabla" #I took it from Postman
}
$restapiuri = "https://jira.domain.com/rest/api/2/issue"
Invoke-RestMethod -Uri $restapiuri -ContentType "application/json" -Body $body -Method POST -Headers $Headers
比如我可以成功执行
Invoke-RestMethod "https://jira.domain.com/rest/api/2/issue/createmeta" -Headers $Headers
我已经花了很多时间来解决这个问题,但仍然无法创建问题。
任何帮助,请????????????
【问题讨论】:
-
我绝不是这方面的专家,但我认为您需要先
ConvertTo-Json您的$body,然后再将其传递给Invoke-RestMethod。 -
Rno 是正确的。提交前,正文必须为 JSON 格式。
-
我不知道删除我的评论是否正确,以免误导人们。 ConvertTo-Json 真的很有帮助。但是第一次没用,因为还有其他我不知道的错误,而且错误还是一样,比如我给一个元素赋值为字符串,而不是预期的int。因此,我决定 ConvertTo-Json 没有帮助。我很抱歉。
-
我会删除它,正如你所说的误导
标签: powershell jira-rest-api invoke-restmethod