TL; DR :在哪里可以找到有关传递给POST请求以创建请求请求的文档? (要放在JSON中的内容)
我正在使用Groovy脚本来自动化一些任务,其中包括在多个项目上执行tmp分支的提交/推送。我想在脚本末尾在所有这些项目的tmp分支和prod分支之间自动创建拉取请求。为了做到这一点,我尝试使用BitBucket REST API。
我发现this documentation为我提供了以下端点,可用于POST请求:/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests
。
为此需要以下JSON:
{
"title": "Talking Nerdy",
"description": "It’s a kludge, but put the tuple from the database in the cache.",
"state": "OPEN",
"open": true,
"closed": false,
"fromRef": {
"id": "refs/heads/feature-ABC-123",
"repository": {
"slug": "my-repo",
"name": null,
"project": {
"key": "PRJ"
}
}
},
"toRef": {
"id": "refs/heads/master",
"repository": {
"slug": "my-repo",
"name": null,
"project": {
"key": "PRJ"
}
}
},
"locked": false,
"reviewers": [
{
"user": {
"name": "charlie"
}
}
]
}
但是,我找不到有关如何构建此JSON的任何信息...
我可以猜测title
和description
是什么,但是state
,open
,closed
等又是什么呢?如何建立正确的fromRef.id
?为什么回购名称设置为null
?哪个属性是最优的?如果我将我的BitBucket登录名放在reviewers[0].user.name
中,它将起作用吗?等
我在该主题上找到的每个答案都只是复制/粘贴相同的JSON,而且每个人似乎都在不作任何解释的情况下理解了它的工作原理……我错过了什么吗?
无论如何,这是我真正的问题:在哪里可以找到有关此Pull Request JSON对象的文档?
谢谢。
EDIT:这不是this post的重复项,因为这不是相同的问题。我对权限/身份验证没有问题,甚至通过摆弄请求就可以使请求正常工作。我只要求提供文档,因为我想了解自己在做什么,以便最好地自定义请求。 the other post的答案中有一些(非常简短的)解释,但实际上并不能完全回答我的问题(请参阅评论)。
答案 0 :(得分:0)
使用文档 found here,我能够从 PowerShell
脚本成功创建具有最小属性(因此推断什么是可选属性)的拉取请求。< /p>
我的示例使用 master
作为 merge to 的分支,foo
作为 merge from 的分支,Project1
和Repository1
分别作为 BitBucket
项目和存储库。 uri
如下(替换根、项目和存储库):https://bitbucket.example.com/rest/api/1.0/projects/Project1/repos/Repository1/pull-requests
。
发送以下 JSON
(使用正确的 Content-Type
和 Authorization
标头)会创建拉取请求:
{
"title" : "This is the title of my pull request",
"description" : "This is the description of my pull request",
"fromRef" : {
"id" : "refs/heads/foo",
"repository" : "Repository1",
"project" : {
"key" : "Project1"
}
},
"toRef" : {
"id" : "refs/heads/master",
"repository" : "Repository1",
"project" : {
"key" : "Project1"
}
}
}
state
和 reviewers
是可选的,在本示例中被省略。