更新:好吧,我在Bash脚本中运行了这个,但我想看看我得到了什么错误代码,现在我可以看到我得到了401 Unauthorized
。我使用的是我的用户名,我用admin
访问bitbucket创建了个人访问令牌,所以我应该能够创建PR对吗?我可以在同一个仓库上通过Web UI做到这一点吗?
我正在运行一个bash脚本来在Bitbucket上创建一个pull request。我已经在编程地克隆repo,编辑一个文件,做一个git add/commit,现在我只需要使用CURL来创建PR。bitbucket API似乎使用POST请求公开了一个端点来执行此操作:
Creates a new pull request where the destination repository is this repository and the author is the authenticated user.
The minimum required fields to create a pull request are title and source, specified by a branch name.
curl https://api.bitbucket.org/2.0/repositories/my-username/my-repository/pullrequests \
-u my-username:my-password \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"title": "My Title",
"source": {
"branch": {
"name": "staging"
}
}
}'
www.example. com
下面是我的仓库在Bitbucket上的样子,我屏蔽了真实的的名字,但左边的格式是一样的(第一个名字是项目名称,REACTOR2.0
,而我相信第二个名字是仓库名称,dat-repo
):
我尝试了许多不同的变化,并检查远程bitbucket服务器是否有新的拉取请求,但我什么也没看到。
我确信我的“头衔”和“分支”是正确的。我唯一的问题是关于URL;我从bitbucket输入我的用户名,如果你去“管理帐户”,然后“名称”,这是我用于URL的my-username
部分的字段,我正在为my-repository
部分添加存储库名称。然而,我需要注意的是,这是一个在bitbucket上的存储库嵌套在一个名为“REACTOR 2”的项目中。0”,所以我不确定是否需要在URL中指定项目名称。
有没有人成功地使用了这个API?我在google上看了一下,但很多问题都是用旧的1。0 API和不适用或人们做GET请求做简单地得到一个列表的拉请求。...
1条答案
按热度按时间3pmvbmvn1#
我使用了错误的API。有一个BitBucket云API,用于托管在bitbucket上的存储库,其URL为www.example www.example.com 和一个BitBucketServerAPI,用于像https://bitbucket.mycompanyname.com/这样的URL,这是我需要使用的API。
最后,URL应该是这样的(您需要填写
YourCompanyName
,YourProjectKey
和YourRepositoryName
参数):JSON来发布:
如果你选择通过CURL来调用API,你可以用类似下面的代码来表达这个请求:
您可以在下面阅读更多关于身份验证的信息,但是您可以在CURL请求中使用
-u username:password
进行身份验证 *,或者 * 您可以将username:password字符串和base64编码,然后使用-H "Authentication: Basic BASE64ENCODEDUSERNAMEPASSWORDHERE"
,由您决定。您可能需要使用下面的代码来转义JSON双引号“,这取决于您发出此请求的机器类型,如下所示:如果你想添加审阅者但不知道他们的名字,你可以对上面的同一个URL发出GET请求,它会给予一个用户列表,然后可以将他们的名字添加到审阅者数组中,这样当PR被创建时,他们已经被添加为审阅者。
认证:https://developer.atlassian.com/server/bitbucket/how-tos/example-basic-authentication/
Rest API:https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/
PullRequest: www.example.com