Today, Bitbucket has two main services: Bitbucket Server and Bitbucket Cloud. If you have not downloaded a bitbucket server, you're most likely using the bitbucket cloud. To connect to the Bitbucket Cloud API, you can either use the Atlassian Connect to build an app to connect to bitbucket or you can use the rest apis (reference to all of their endpoints: https://developer.atlassian.com/bitbucket/api/2/reference/).
This is the api you would call to get all the information of all the pull requests from a given <repository name>
of a <username>
:
curl -u <username>:<password> https://api.bitbucket.org/2.0/repositories/<username>/<repository name>/pullrequests
If you have jq installed, you could pipe the output of the above api to it to retrieve only the descriptions, as you requested in your question. The following command would list all descriptions of all pull requests from <repository name>
of <username>
:
curl -u <username>:<password> https://api.bitbucket.org/2.0/repositories/<username>/<repository name>/pullrequests | jq ".values[] | .summary.raw"
This is the output I get from running requesting the above api on my bitbucket repository:
{
"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
}