Download PDF
Download page Getting commits and pull requests via REST API.
Getting commits and pull requests via REST API
The Awesome Graphs' REST API gives you the capability to export raw data about commits, lines of code, and pull requests (including draft pull requests). Using it, you can:
- Integrate seamlessly with analytics platforms.
- Build custom graphs.
- Aggregate and merge data from Bitbucket, and other sources.
If you need scripts to interact with the Awesome Graphs' REST API and build custom reports, consider subscribing to our Premium Support. Our tech team will handle the script writing for you.
Discover all other benefits of the Premium Support subscription here.
Overview
The Awesome Graphs REST API is available beginning with version 5.2.0 of the app. You can access the REST API reference documentation at the People page by clicking on Export → REST API or via the link: <bitbucket-host>/plugins/servlet/graphs-api. If it's not available to you, then you'll need to update the app.
The REST API provides access to resources via URI paths, uses JSON as its communication format, and the standard HTTP methods like GET, PUT, POST and DELETE.
The URIs for resources have the following structure:
https://%bitbucket-host%/rest/awesome-graphs-api/latest/%resource-name%
For example:
https://%bitbucket-host%/rest/awesome-graphs-api/latest/commits
Here is the curl command to retrieve the number of commits and lines of code added and deleted in all projects and repositories for the specified period:
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/commits/statistics?sinceDate=2020-01-01&untilDate=2020-02-01"
Below is an example of the response:
{
"linesOfCode":{
"added":64590,
"deleted":34630
},
"commits":1230
}
(
?
)
introduces the query string parameters. The parameters are separated with an ampersand (
&
)
separating them. The order of the parameters does not matter.
Pagination
Awesome Graphs' REST API uses pagination to improve performance and limit response size of operations that could return a large collection of items.
Commits APIs
Below is the list of resources to retrieve and export commit data.
Global level
Returns aggregated data from all projects and repositories. Will only return the information from the projects and repositories that the authenticated user has PROJECT_READ and REPO_READ permissions for.
Get commits
GET /rest/awesome-graphs-api/latest/commits
Returns a list of commits from all Bitbucket projects and repositories.
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 1000. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/commits"
Page of commits from all repositories and projects.
{
"values": [
{
"user": {
"emailAddress": "yorlov@stiltsoft.com",
"displayName": "Administrator",
"name": "admin"
},
"author": {
"displayName": "admin",
"emailAddress": "yorlov@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 1,
"deleted": 0
},
"parents": [],
"repository": {
"slug": "Commit Hook",
"name": "commit-hook",
"project": {
"key": "TESTCONTAINERS",
"name": "Testcontainers",
"type": "NORMAL"
}
},
"id": "9f2e24a147bb8f5a5a3d10b692703cc5784df8b5"
},
{
"author": {
"displayName": "avoronova",
"emailAddress": "avoronova@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 2,
"deleted": 2
},
"parents": [
{
"id": "06572e813597bc7d77c8"
}
],
"repository": {
"slug": "Awesome Graphs for Bitbucket Server",
"name": "awesome-graphs-for-bitbucket-server",
"project": {
"key": "AWEGRAPHS",
"name": "Awesome Graphs",
"type": "NORMAL"
}
},
"id": "295760238d83b84647ae4c10ce16f13fa4d24672"
}
],
"isLastPage": false,
"nextPageStart": 2,
"start": 0,
"size": 2,
"limit": 2
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/commits/statistics
Returns the number of commits and lines of code added/deleted in all projects and repositories.
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/commits/statistics"
Number of commits and lines of code added and deleted.
{
"linesOfCode": {
"added": 2061114,
"deleted": 1917168
},
"commits": 7262
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/commits/export/csv
Exports the list of commits with their details from all Bitbucket projects and repositories to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/commits/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Project level
Returns information about the specified project. The authenticated user must have PROJECT_READ permission for the stated projects to call these resources.
Get commits
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/commits
Returns a list of commits from all repositories in the specified project.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 1000. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/commits"
Page of commits from the specified project.
{
"values": [
{
"user": {
"emailAddress": "yorlov@stiltsoft.com",
"displayName": "Administrator",
"name": "admin"
},
"author": {
"displayName": "admin",
"emailAddress": "yorlov@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 1,
"deleted": 0
},
"parents": [],
"repository": {
"slug": "Commit Hook",
"name": "commit-hook",
"project": {
"key": "TESTCONTAINERS",
"name": "Testcontainers",
"type": "NORMAL"
}
},
"id": "9f2e24a147bb8f5a5a3d10b692703cc5784df8b5"
},
{
"author": {
"displayName": "avoronova",
"emailAddress": "avoronova@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 2,
"deleted": 2
},
"parents": [
{
"id": "06572e813597bc7d77c8"
}
],
"repository": {
"slug": "Awesome Graphs for Bitbucket Server",
"name": "awesome-graphs-for-bitbucket-server",
"project": {
"key": "AWEGRAPHS",
"name": "Awesome Graphs",
"type": "NORMAL"
}
},
"id": "295760238d83b84647ae4c10ce16f13fa4d24672"
}
],
"isLastPage": false,
"nextPageStart": 2,
"start": 0,
"size": 2,
"limit": 2
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/commits/statistics
Returns the number of commits and lines of code added/deleted in the specified project.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/commits/statistics"
Number of commits and lines of code added and deleted in the specified project.
{
"linesOfCode": {
"added": 2061114,
"deleted": 1917168
},
"commits": 7262
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/commits/export/csv
Exports the list of commits with their details from all repositories in the specified project to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/commits/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Repository level
Returns information about the specified repository. Will only return the information from the repositories that the authenticated user has REPO_READ permissions for.
Get commits
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits
Returns a list of commits from the specified repository.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 1000. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits"
Page of commits from the specified repository.
{
"values": [
{
"user": {
"emailAddress": "yorlov@stiltsoft.com",
"displayName": "Administrator",
"name": "admin"
},
"author": {
"displayName": "admin",
"emailAddress": "yorlov@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 1,
"deleted": 0
},
"parents": [],
"repository": {
"slug": "Commit Hook",
"name": "commit-hook",
"project": {
"key": "TESTCONTAINERS",
"name": "Testcontainers",
"type": "NORMAL"
}
},
"id": "9f2e24a147bb8f5a5a3d10b692703cc5784df8b5"
},
{
"author": {
"displayName": "avoronova",
"emailAddress": "avoronova@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 2,
"deleted": 2
},
"parents": [
{
"id": "06572e813597bc7d77c8"
}
],
"repository": {
"slug": "Awesome Graphs for Bitbucket Server",
"name": "awesome-graphs-for-bitbucket-server",
"project": {
"key": "AWEGRAPHS",
"name": "Awesome Graphs",
"type": "NORMAL"
}
},
"id": "295760238d83b84647ae4c10ce16f13fa4d24672"
}
],
"isLastPage": false,
"nextPageStart": 2,
"start": 0,
"size": 2,
"limit": 2
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits/statistics
Returns the number of commits and lines of code added/deleted in the specified repository.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits/statistics"
Number of commits and lines of code added and deleted in the specified repository.
{
"linesOfCode": {
"added": 2061114,
"deleted": 1917168
},
"commits": 7262
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits/export/csv
Exports the list of commits with their details from the specified repository to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Retrieve a single commit
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits/{commitId}
Returns the data of the specified commit identified by its ID.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
commitId | string | The hash of a particular commit to get the data of. |
Query Parameters
Parameter | Value | Description |
---|---|---|
withFiles | boolean | If present, returns a list of files changed in a particular commit with the number of lines added and deleted in each file. The default value is false. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/commits/{commitId}"
Data of the specified commit.
{
"author": {
"displayName": "avoronova",
"emailAddress": "avoronova@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 17,
"deleted": 5
},
"parents": [
{
"id": "06572e813597bc7d77c8"
}
],
"repository": {
"slug": "Awesome Graphs for Bitbucket Server",
"name": "awesome-graphs-for-bitbucket-server",
"project": {
"key": "AWEGRAPHS",
"name": "Awesome Graphs",
"type": "NORMAL"
}
},
"id": "9f2e24a147bb8f5a5a3d10b692703cc5784df8b5"
}
Ambiguous short commitId.
{
"errors": [
{
"context": null,
"message": "Shortened commitId '9fg2fv3r1re' is ambiguous. Enter more characters. The candidates: 9fg2fv3r1re64603bd051a44c6c8728d2e1cec0f, 9fg2fv3r1re104fd3f7170fc80c8e8bacd835681.",
"exceptionName": "com.stiltsoft.bitbucket.graphs.api.rest.exception.AmbiguousCommitIdException"
}
]
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Commit not found in the specified repository.
{
"errors": [
{
"context": null,
"message": "Commit '9f1fs2s4fg6' does not exist in repository 'testcontainers-java'.",
"exceptionName": "com.atlassian.bitbucket.commit.NoSuchCommitException"
}
]
}
The repository has unindexed changes.
{
"errors": [
{
"context": null,
"message": "Commit '9f1fs2s4fg6' cannot be found in repository 'testcontainers-java'. The repository has unindexed changes. Try again later.",
"exceptionName": "com.stiltsoft.bitbucket.graphs.api.rest.exception.RepositoryNotIndexedException"
}
]
}
User level
Returns information about a particular user. Will only return the information from the repositories that the authenticated user has REPO_READ permissions for.
Get commits
GET /rest/awesome-graphs-api/latest/users/{userSlug}/commits
Returns a list of commits of a particular user, including commits made by the user's aliases.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
userSlug | string | URL-friendly version of a username (e.g. 'boomer' instead of 'bøømer', 'boo-mer' instead of 'boo mer'). |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 1000. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/users/{userSlug}/commits"
Page of commits of a particular user.
{
"values": [
{
"user": {
"emailAddress": "yorlov@stiltsoft.com",
"displayName": "Administrator",
"name": "admin"
},
"author": {
"displayName": "admin",
"emailAddress": "yorlov@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 1,
"deleted": 0
},
"parents": [],
"repository": {
"slug": "Commit Hook",
"name": "commit-hook",
"project": {
"key": "TESTCONTAINERS",
"name": "Testcontainers",
"type": "NORMAL"
}
},
"id": "9f2e24a147bb8f5a5a3d10b692703cc5784df8b5"
},
{
"author": {
"displayName": "avoronova",
"emailAddress": "avoronova@stiltsoft.com"
},
"authorTimestamp": "2020-03-05T22:58:18Z",
"linesOfCode": {
"added": 2,
"deleted": 2
},
"parents": [
{
"id": "06572e813597bc7d77c8"
}
],
"repository": {
"slug": "Awesome Graphs for Bitbucket Server",
"name": "awesome-graphs-for-bitbucket-server",
"project": {
"key": "AWEGRAPHS",
"name": "Awesome Graphs",
"type": "NORMAL"
}
},
"id": "295760238d83b84647ae4c10ce16f13fa4d24672"
}
],
"isLastPage": false,
"nextPageStart": 2,
"start": 0,
"size": 2,
"limit": 2
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/users/{userSlug}/commits/statistics
Returns the number of commits and lines of code added/deleted by a particular user.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
userSlug | string | URL-friendly version of a username (e.g. 'boomer' instead of 'bøømer', 'boo-mer' instead of 'boo mer'). |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits, or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/users/{userSlug}/commits/statistics"
Number of commits and lines of code added and deleted by a particular user.
{
"linesOfCode": {
"added": 2061114,
"deleted": 1917168
},
"commits": 7262
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/users/{userSlug}/commits/export/csv
Exports the list of commits with their details made by a particular user to a CSV file, including commits made by the user's aliases.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
userSlug | string | URL-friendly version of a username (e.g. 'boomer' instead of 'bøømer', 'boo-mer' instead of 'boo mer'). |
Query Parameters
Parameter | Value | Description |
---|---|---|
merges | string | If present, controls how merge commits should be filtered. Can be either exclude, to exclude merge commits, include, to include both merge commits and non-merge commits or only, to only return merge commits. Defaults to include. |
sinceDate | string | Date in ISO-8601 format to retrieve commits since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve commits until. Example: 1997-07-16T19:20:30+01:00. |
order | string | The order to return commits in, either oldest (as in: "oldest first") or newest. Defaults to newest. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/users/{userSlug}/commits/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Pull Requests APIs
Below is the list of resources to retrieve and export pull request data.
Starting from version 6.3.0, the app supports exporting pull request Cycle Time data via the REST API. The data includes total Cycle Time and its breakdown into four phases measured in seconds for every pull request.
Update to the new version and streamline your processes!
Global level
Returns aggregated data from all projects and repositories. Will only return the information from the projects and repositories that the authenticated user has PROJECT_READ and REPO_READ permissions for.
Get pull requests
GET /rest/awesome-graphs-api/latest/pull-requests
Returns a list of pull requests from all Bitbucket projects and repositories.
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the cycle time data measured in seconds into the response. Defaults to FALSE. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 500. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/pull-requests"
Page of pull requests from all repositories and projects.
{
"values": [
{
"links": {
"self": [
{
"href": "http://some-domain.com:23011/projects/facebook/repos/react/pull-requests/2"
}
]
},
"participants": [
{
"user": {
"emailAddress": "qa@gmail.com",
"name": "qa",
"displayName": "Some QA"
},
"approved": false,
"role": "PARTICIPANT",
"status": "UNAPPROVED"
}
],
"title": "16.8.4",
"toRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "5b766e3564a3453808f3cd3dd3f2e5fad8ef0e7a",
"displayId": "master",
"id": "refs/heads/master"
},
"fromRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "69a54210d6a9f8f442e0e82a0ce29e034a44aff7",
"displayId": "16.8.4",
"id": "refs/heads/16.8.4"
},
"author": {
"user": {
"emailAddress": "junior@gmail.com",
"name": "junior",
"displayName": "Junior Developer"
},
"approved": false,
"role": "AUTHOR",
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"emailAddress": "senior@gmail.com",
"name": "senior",
"displayName": "Senior Developer"
},
"approved": false,
"role": "REVIEWER",
"status": "UNAPPROVED"
}
],
"cycleTime": {
"timeToOpen": 6379536,
"pickupTime": 230,
"reviewTime": 11,
"timeToResolve": 58,
"total": 6379836
},
"createdDate": 1578905403736,
"updatedDate": 1592905159966,
"closed": false,
"locked": false,
"version": 4,
"description": "Urgent bugfix",
"id": 2,
"state": "OPEN",
"open": true
}
],
"isLastPage": true,
"start": 0,
"size": 1,
"limit": 25
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/pull-requests/statistics
Returns the number of pull requests in all projects and repositories.
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the aggregated cycle time data measured in seconds into the response. Please note that if the parameter is set to TRUE, data for the last 30 days is returned by default. Use the sinceDate/untilDate parameters to retrieve data for a longer period. Defaults to FALSE. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/pull-requests/statistics"
Number of pull requests with their cycle time statistics.
{
"pullRequests": 16,
"state": {
"declined": 5,
"merged": 7,
"open": 4
},
"cycleTime": {
"total": {
"average": 78775,
"median": 86400,
"p75": 86400,
"p95": 94800,
"p99": 114960
},
"timeToResolve": {
"average": 855,
"median": 750,
"p75": 850,
"p95": 2325,
"p99": 2865
},
"timeToOpen": {
"average": 9262,
"median": 10100,
"p75": 10250,
"p95": 11550,
"p99": 11910
},
"pickupTime": {
"average": 1818,
"median": 800,
"p75": 2500,
"p95": 5500,
"p99": 6700
},
"reviewTime": {
"average": 3546,
"median": 900,
"p75": 4250,
"p95": 12000,
"p99": 14400
}
}
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/pull-requests/export/csv
Exports the list of pull requests with their details from all Bitbucket projects and repositories to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/pull-requests/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Project level
Returns information about the specified project. The authenticated user must have PROJECT_READ permission for the stated projects to call these resources.
Get pull requests
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/pull-requests
Returns a list of pull requests from all repositories in the specified project.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the cycle time data measured in seconds into the response. Defaults to FALSE. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 500. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/pull-requests"
Page of pull requests from all repositories and projects.
{
"values": [
{
"links": {
"self": [
{
"href": "http://some-domain.com:23011/projects/facebook/repos/react/pull-requests/2"
}
]
},
"participants": [
{
"user": {
"emailAddress": "qa@gmail.com",
"name": "qa",
"displayName": "Some QA"
},
"approved": false,
"role": "PARTICIPANT",
"status": "UNAPPROVED"
}
],
"title": "16.8.4",
"toRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "5b766e3564a3453808f3cd3dd3f2e5fad8ef0e7a",
"displayId": "master",
"id": "refs/heads/master"
},
"fromRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "69a54210d6a9f8f442e0e82a0ce29e034a44aff7",
"displayId": "16.8.4",
"id": "refs/heads/16.8.4"
},
"author": {
"user": {
"emailAddress": "junior@gmail.com",
"name": "junior",
"displayName": "Junior Developer"
},
"approved": false,
"role": "AUTHOR",
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"emailAddress": "senior@gmail.com",
"name": "senior",
"displayName": "Senior Developer"
},
"approved": false,
"role": "REVIEWER",
"status": "UNAPPROVED"
}
],
"cycleTime": {
"timeToOpen": 6379536,
"pickupTime": 230,
"reviewTime": 11,
"timeToResolve": 58,
"total": 6379836
},
"createdDate": 1578905403736,
"updatedDate": 1592905159966,
"closed": false,
"locked": false,
"version": 4,
"description": "Urgent bugfix",
"id": 2,
"state": "OPEN",
"open": true
}
],
"isLastPage": true,
"start": 0,
"size": 1,
"limit": 25
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/pull-requests/statistics
Returns the number of pull requests in the specified project.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the aggregated cycle time data measured in seconds into the response. Please note that if the parameter is set to TRUE, data for the last 30 days is returned by default. Use the sinceDate/untilDate parameters to retrieve data for a longer period. Defaults to FALSE. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/pull-requests/statistics"
Number of pull requests in the specified project with their cycle time statistics.
{
"pullRequests": 16,
"state": {
"declined": 5,
"merged": 7,
"open": 4
},
"cycleTime": {
"total": {
"average": 78775,
"median": 86400,
"p75": 86400,
"p95": 94800,
"p99": 114960
},
"timeToResolve": {
"average": 855,
"median": 750,
"p75": 850,
"p95": 2325,
"p99": 2865
},
"timeToOpen": {
"average": 9262,
"median": 10100,
"p75": 10250,
"p95": 11550,
"p99": 11910
},
"pickupTime": {
"average": 1818,
"median": 800,
"p75": 2500,
"p95": 5500,
"p99": 6700
},
"reviewTime": {
"average": 3546,
"median": 900,
"p75": 4250,
"p95": 12000,
"p99": 14400
}
}
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/pull-requests/export/csv
Exports the list of pull requests with their details from all repositories in the specified project to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/pull-requests/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Repository level
Returns information about the specified repository. The authenticated user must have REPO_READ permission for the stated repositories to call these resources.
Get pull requests
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests
Returns a list of pull requests from the specified repository.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the cycle time data measured in seconds into the response. Defaults to FALSE. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 500. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests"
Page of pull requests from the specified repository.
{
"values": [
{
"links": {
"self": [
{
"href": "http://some-domain.com:23011/projects/facebook/repos/react/pull-requests/2"
}
]
},
"participants": [
{
"user": {
"emailAddress": "qa@gmail.com",
"name": "qa",
"displayName": "Some QA"
},
"approved": false,
"role": "PARTICIPANT",
"status": "UNAPPROVED"
}
],
"title": "16.8.4",
"toRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "5b766e3564a3453808f3cd3dd3f2e5fad8ef0e7a",
"displayId": "master",
"id": "refs/heads/master"
},
"fromRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "69a54210d6a9f8f442e0e82a0ce29e034a44aff7",
"displayId": "16.8.4",
"id": "refs/heads/16.8.4"
},
"author": {
"user": {
"emailAddress": "junior@gmail.com",
"name": "junior",
"displayName": "Junior Developer"
},
"approved": false,
"role": "AUTHOR",
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"emailAddress": "senior@gmail.com",
"name": "senior",
"displayName": "Senior Developer"
},
"approved": false,
"role": "REVIEWER",
"status": "UNAPPROVED"
}
],
"cycleTime": {
"timeToOpen": 6379536,
"pickupTime": 230,
"reviewTime": 11,
"timeToResolve": 58,
"total": 6379836
},
"createdDate": 1578905403736,
"updatedDate": 1592905159966,
"closed": false,
"locked": false,
"version": 4,
"description": "Urgent bugfix",
"id": 2,
"state": "OPEN",
"open": true
}
],
"isLastPage": true,
"start": 0,
"size": 1,
"limit": 25
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests/statistics
Returns the number of pull requests in the specified repository.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the aggregated cycle time data measured in seconds into the response. Please note that if the parameter is set to TRUE, data for the last 30 days is returned by default. Use the sinceDate/untilDate parameters to retrieve data for a longer period. Defaults to FALSE. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests/statistics"
Number of pull requests in the specified repository with their cycle time statistics.
{
"pullRequests": 16,
"state": {
"declined": 5,
"merged": 7,
"open": 4
},
"cycleTime": {
"total": {
"average": 78775,
"median": 86400,
"p75": 86400,
"p95": 94800,
"p99": 114960
},
"timeToResolve": {
"average": 855,
"median": 750,
"p75": 850,
"p95": 2325,
"p99": 2865
},
"timeToOpen": {
"average": 9262,
"median": 10100,
"p75": 10250,
"p95": 11550,
"p99": 11910
},
"pickupTime": {
"average": 1818,
"median": 800,
"p75": 2500,
"p95": 5500,
"p99": 6700
},
"reviewTime": {
"average": 3546,
"median": 900,
"p75": 4250,
"p95": 12000,
"p99": 14400
}
}
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests/export/csv
Exports the list of pull requests with their details from the specified repository to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
projectKey | string | The key of a particular project to retrieve data from. |
repositorySlug | string | The slug of a particular repository to retrieve data from. |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/projects/{projectKey}/repos/{repositorySlug}/pull-requests/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
User level
Returns information about a particular user. Will only return the information from the repositories that the authenticated user has REPO_READ permissions for.
Get pull requests
GET /rest/awesome-graphs-api/latest/users/{userSlug}/pull-requests
Returns a list of pull requests created by a particular user.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
userSlug | string | URL-friendly version of a username (e.g. 'boomer' instead of 'bøømer', 'boo-mer' instead of 'boo mer'). |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the cycle time data measured in seconds into the response. Defaults to FALSE. |
start | integer | Indicates which item should be used as the first item on the page of results. Defaults to 0. |
limit | integer | Indicates how many results to return per page. Defaults to 25. Max value is 500. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/users/{userSlug}/pull-requests"
Page of pull requests of a particular user.
{
"values": [
{
"links": {
"self": [
{
"href": "http://some-domain.com:23011/projects/facebook/repos/react/pull-requests/2"
}
]
},
"participants": [
{
"user": {
"emailAddress": "qa@gmail.com",
"name": "qa",
"displayName": "Some QA"
},
"approved": false,
"role": "PARTICIPANT",
"status": "UNAPPROVED"
}
],
"title": "16.8.4",
"toRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "5b766e3564a3453808f3cd3dd3f2e5fad8ef0e7a",
"displayId": "master",
"id": "refs/heads/master"
},
"fromRef": {
"repository": {
"slug": "react",
"name": "react",
"project": {
"key": "FB",
"name": "facebook",
"type": "NORMAL"
}
},
"latestCommit": "69a54210d6a9f8f442e0e82a0ce29e034a44aff7",
"displayId": "16.8.4",
"id": "refs/heads/16.8.4"
},
"author": {
"user": {
"emailAddress": "junior@gmail.com",
"name": "junior",
"displayName": "Junior Developer"
},
"approved": false,
"role": "AUTHOR",
"status": "UNAPPROVED"
},
"reviewers": [
{
"user": {
"emailAddress": "senior@gmail.com",
"name": "senior",
"displayName": "Senior Developer"
},
"approved": false,
"role": "REVIEWER",
"status": "UNAPPROVED"
}
],
"cycleTime": {
"timeToOpen": 6379536,
"pickupTime": 230,
"reviewTime": 11,
"timeToResolve": 58,
"total": 6379836
},
"createdDate": 1578905403736,
"updatedDate": 1592905159966,
"closed": false,
"locked": false,
"version": 4,
"description": "Urgent bugfix",
"id": 2,
"state": "OPEN",
"open": true
}
],
"isLastPage": true,
"start": 0,
"size": 1,
"limit": 25
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Statistics
GET /rest/awesome-graphs-api/latest/users/{userSlug}/pull-requests/statistics
Returns the number of pull requests created by a particular user.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
userSlug | string | URL-friendly version of a username (e.g. 'boomer' instead of 'bøømer', 'boo-mer' instead of 'boo mer'). |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
withCycleTime | boolean | If present, includes the aggregated cycle time data measured in seconds into the response. Please note that if the parameter is set to TRUE, data for the last 30 days is returned by default. Use the sinceDate/untilDate parameters to retrieve data for a longer period. Defaults to FALSE. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/users/{userSlug}/pull-requests/statistics"
Number of pull requests created by a particular user with their cycle time statistics.
{
"pullRequests": 16,
"state": {
"declined": 5,
"merged": 7,
"open": 4
},
"cycleTime": {
"total": {
"average": 78775,
"median": 86400,
"p75": 86400,
"p95": 94800,
"p99": 114960
},
"timeToResolve": {
"average": 855,
"median": 750,
"p75": 850,
"p95": 2325,
"p99": 2865
},
"timeToOpen": {
"average": 9262,
"median": 10100,
"p75": 10250,
"p95": 11550,
"p99": 11910
},
"pickupTime": {
"average": 1818,
"median": 800,
"p75": 2500,
"p95": 5500,
"p99": 6700
},
"reviewTime": {
"average": 3546,
"median": 900,
"p75": 4250,
"p95": 12000,
"p99": 14400
}
}
}
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}
Export to CSV
GET /rest/awesome-graphs-api/latest/users/{userSlug}/pull-requests/export/csv
Exports the list of pull requests with their details created by a particular user to a CSV file.
By default, exports the data for the last 30 days. You can set a timeframe for exported data up to one year (366 days) with sinceDate / untilDate parameters.
Path Parameters (required)
Parameter | Value | Description |
---|---|---|
userSlug | string | URL-friendly version of a username (e.g. 'boomer' instead of 'bøømer', 'boo-mer' instead of 'boo mer'). |
Query Parameters
Parameter | Value | Description |
---|---|---|
state | string | If indicated, only pull requests in the specified state will be returned. Can be either all, open, merged, declined. Defaults to all. |
dateType | string | Defines what date type is used for sinceDate / untilDate filtering. Can be either created or updated. Defaults to created. |
sinceDate | string | Date in ISO-8601 format to retrieve pull requests since. Example: 1997-07-16T19:20:30+01:00. |
untilDate | string | Date in ISO-8601 format to retrieve pull requests until. Example: 1997-07-16T19:20:30+01:00. |
Request Example
curl -X GET -u username:password "https://%bitbucket-host%/rest/awesome-graphs-api/latest/users/{userSlug}/pull-requests/export/csv"
Your Bitbucket instance doesn't have the license allowing to retrieve the requested data.
{
"errors": [
{
"context": null,
"message": "REST API for Awesome Graphs is available only when you have a commercial or evaluation license for the app. You can buy a license or generate an evaluation license on the Atlassian Marketplace.",
"exceptionName": null
}
]
}