Skip to main content

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.

External Documentation

To learn more, visit the Bitbucket documentation.

Parameters

ParameterDescription
Repo SlugThis can either be the repository slug or the UUID of the repository,
surrounded by curly-braces, for example: {repository UUID}.
Workspace SlugThis can either be the workspace ID (slug) or the workspace UUID
surrounded 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

Workflow LibraryPreview this Workflow on desktop