如何使用 Powershell 在 Bitbucket API 中格式化新 Repo 的 POST 或 PUT 请求?

问题描述

我有在 Bitbucket here

中创建新存储库的文档

根据我所看到的,我决定在 powershell 中编写它,以便我可以将它作为脚本运行。唯一的问题是,尽管发送了我转换为 json 的正文,但它忽略了我的正文并创建了 repo,就好像我没有发送正文一样。

我的要求:

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add('Authorization',"$apiKey")
$headers.Add('accept','application/json')

$newRepoRequestBody=@"
{
 "scm": "git","description": "I scripted this into existence. yay!","project": {
    "key": "MYKEY"
 },"is_private": true
}
"@
$newRepoRequestBody = $newRepoRequestBody | ConvertTo-Json

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-RestMethod -Method PUT -Headers $headers -Body $newRepoRequestBody -Uri https://api.bitbucket.org/2.0/repositories/$workspace/$repoName -Verbose -UseBasicParsing 

当我查看请求响应时,它显示 200 成功,但它不会将 repo 更改为私有,也不会将其放在我指定的项目密钥下。 json 输出显示了我工作区中最旧的项目密钥。

我也在 fiddler 中尝试过,得到了相同的响应。这让我相信它忽略了我的请求正文。

是我使用 curl 的唯一选择,如文档中所示吗?请让我知道我需要更正什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...