List Commits
These are the repository's commits. They are paginated and returned
in reverse chronological order, similar to the output of git log
.
Like these tools, the DAG can be filtered.
GET /repositories/{workspace}/{repo_slug}/commits/
Returns all commits in the repo in topological order (newest commit
first). All branches and tags are included (similar to
git log --all
).
GET /repositories/{workspace}/{repo_slug}/commits/?exclude=master
Returns all commits in the repo that are not on master
(similar to git log --all ^master
).
GET /repositories/{workspace}/{repo_slug}/commits/?include=foo&include=bar&exclude=fu&exclude=fubar
Returns all commits that are on refs foo
or bar
, but not on fu
or
fubar
(similar to git log foo bar ^fu ^fubar
).
An optional path
parameter can be specified that will limit the
results to commits that affect that path. path
can either be a file
or a directory. If a directory is specified, commits are returned that
have modified any file in the directory tree rooted by path
. It is
important to note that if the path
parameter is specified, the commits
returned by this endpoint may no longer be a DAG, parent commits that
do not modify the path will be omitted from the response.
GET /repositories/{workspace}/{repo_slug}/commits/?path=README.md&include=foo&include=bar&exclude=master
Returns all commits that are on refs foo
or bar
, but not on master
that changed the file README.md.
GET /repositories/{workspace}/{repo_slug}/commits/?path=src/&include=foo&include=bar&exclude=master
Returns all commits that are on refs foo
or bar
, but not on master
that changed to a file in any file in the directory src or its children.
Because the response could include a very large number of commits, it is paginated. Follow the 'next' link in the response to navigate to the next page of commits. As with other paginated resources, do not construct your own links.
When the include and exclude parameters are more than can fit in a
query string, clients can use a x-www-form-urlencoded
POST instead.
To learn more, visit the Bitbucket documentation.
Parameters
Parameter | Description |
---|---|
Repo Slug | This can either be the repository slug or the UUID of the repository,surrounded by curly-braces, for example: {repository UUID} . |
Workspace Slug | This can either be the workspace ID (slug) or the workspace UUIDsurrounded by curly-braces, for example: {workspace UUID} . |
Example Output
{
"next": "Link to the next page if it exists. The last page of a collection does not have this value. Use this link to navigate the result set and refrain from constructing your own URLs.",
"page": 0,
"pagelen": 0,
"previous": "Link to previous page if it exists. A collections first page does not have this value. This is an optional element that is not provided in all responses. Some result sets strictly support forward navigation and never provide previous links. Clients must anticipate that backwards navigation is not always available. Use this link to navigate the result set and refrain from constructing your own URLs.",
"size": 0,
"values": [
{
"author": {
"raw": "The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket.",
"type": "string",
"user": {
"account_status": "The status of the account. Currently the only possible value is \"active\", but more values may be added in the future.",
"created_on": "date-time",
"display_name": "string",
"has_2fa_enabled": false,
"links": {
"avatar": {
"href": "uri",
"name": "string"
},
"followers": {
"href": "uri",
"name": "string"
},
"following": {
"href": "uri",
"name": "string"
},
"html": {
"href": "uri",
"name": "string"
},
"repositories": {
"href": "uri",
"name": "string"
},
"self": {
"href": "uri",
"name": "string"
}
},
"nickname": "Account name defined by the owner. Should be used instead of the \"username\" field. Note that \"nickname\" cannot be used in place of \"username\" in URLs and queries, as \"nickname\" is not guaranteed to be unique.",
"type": "string",
"username": "^[a-zA-Z0-9_\\-]+$",
"uuid": "string",
"website": "string"
}
},
"date": "date-time",
"hash": "[0-9a-f]{7,}?",
"message": "string",
"parents": [
null
],
"summary": {
"html": "The user's content rendered as HTML.",
"markup": "The type of markup language the raw content is to be interpreted in.",
"raw": "The text as it was typed by a user."
},
"type": "string"
}
]
}
Workflow Library Example
List Commits with Bitbucket and Send Results Via Email