我想基于Pull Request描述创建自动发布说明,如下面的屏幕上的“添加法律解决索赔报告功能”。
我对Pull Requests不太满意,甚至不确定“描述”是Bitbucket唯一的功能。但问题是如何从Pull Request中自动获取此描述?我在提交消息中找不到任何地方。
今天,Bitbucket有两个主要服务:Bitbucket Server和Bitbucket Cloud。如果您还没有下载bitbucket服务器,那么您最有可能使用bitbucket云。要连接到Bitbucket Cloud API,您可以使用Atlassian Connect构建应用程序以连接到bitbucket,也可以使用rest apis(引用所有端点:https://developer.atlassian.com/bitbucket/api/2/reference/)。
这是你打电话来获取来自<repository name>
的给定<username>
的所有拉取请求的所有信息的api:
curl -u <username>:<password> https://api.bitbucket.org/2.0/repositories/<username>/<repository name>/pullrequests
如果您安装了jq,则可以将上述api的输出通过管道传输给它,以便仅按照您在问题中的要求检索描述。以下命令将列出来自<repository name>
的<username>
的所有拉取请求的所有描述:
curl -u <username>:<password> https://api.bitbucket.org/2.0/repositories/<username>/<repository name>/pullrequests | jq ".values[] | .summary.raw"
这是我在我的bitbucket存储库上运行请求上面的api得到的输出:
{
"pagelen": 10,
"values": [
{
"description": "this is just a description for testing the pull request api endpoint",
"links": {
"decline": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/decline"
},
"commits": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/commits"
},
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1"
},
"comments": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/comments"
},
"merge": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/merge"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp/pull-requests/1"
},
"activity": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/activity"
},
"diff": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/diff"
},
"approve": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/approve"
},
"statuses": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/pullrequests/1/statuses"
}
},
"title": "adding a to test a pull request",
"close_source_branch": false,
"type": "pullrequest",
"id": 1,
"destination": {
"commit": {
"hash": "6188a5897db9",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/commit/6188a5897db9"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp/commits/6188a5897db9"
}
}
},
"repository": {
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp"
},
"avatar": {
"href": "https://bytebucket.org/ravatar/%7B605ba8e3-7b25-4093-9c72-f847da4b2464%7D?ts=default"
}
},
"type": "repository",
"name": "OJSPKP",
"full_name": "dhulke/ojspkp",
"uuid": "{605ba8e3-7b25-4093-9c72-f847da4b2464}"
},
"branch": {
"name": "master"
}
},
"created_on": "2018-09-15T23:17:25.931924+00:00",
"summary": {
"raw": "this is just a description for testing the pull request api endpoint",
"markup": "markdown",
"html": "<p>this is just a description for testing the pull request api endpoint</p>",
"type": "rendered"
},
"source": {
"commit": {
"hash": "b02656e67546",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp/commit/b02656e67546"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp/commits/b02656e67546"
}
}
},
"repository": {
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/dhulke/ojspkp"
},
"html": {
"href": "https://bitbucket.org/dhulke/ojspkp"
},
"avatar": {
"href": "https://bytebucket.org/ravatar/%7B605ba8e3-7b25-4093-9c72-f847da4b2464%7D?ts=default"
}
},
"type": "repository",
"name": "OJSPKP",
"full_name": "dhulke/ojspkp",
"uuid": "{605ba8e3-7b25-4093-9c72-f847da4b2464}"
},
"branch": {
"name": "teste"
}
},
"comment_count": 0,
"state": "OPEN",
"task_count": 0,
"reason": "",
"updated_on": "2018-09-15T23:17:25.963178+00:00",
"author": {
"username": "dhulke",
"display_name": "Danilo Moraes",
"account_id": "557058:ab26766f-757e-4687-88ff-099bd94b0895",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/users/dhulke"
},
"html": {
"href": "https://bitbucket.org/dhulke/"
},
"avatar": {
"href": "https://bitbucket.org/account/dhulke/avatar/"
}
},
"type": "user",
"uuid": "{1b22ad2c-9f1c-48f4-b9dc-958e8eddd3e8}"
},
"merge_commit": null,
"closed_by": null
}
],
"page": 1,
"size": 1
}