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%
CODE

For example:

https://%bitbucket-host%/rest/awesome-graphs-api/latest/commits
CODE

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"
CODE

Below is an example of the response:

{
   "linesOfCode":{
      "added":64590,
      "deleted":34630
   },
   "commits":1230
}
CODE
Question mark (?) 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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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"
CODE

Number of commits and lines of code added and deleted.

{
  "linesOfCode": {
    "added": 2061114,
    "deleted": 1917168
  },
  "commits": 7262
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  ]
}
CODE

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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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"
CODE

Number of commits and lines of code added and deleted in the specified project.

{
  "linesOfCode": {
    "added": 2061114,
    "deleted": 1917168
  },
  "commits": 7262
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  ]
}
CODE

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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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"
CODE

Number of commits and lines of code added and deleted in the specified repository.

{
  "linesOfCode": {
    "added": 2061114,
    "deleted": 1917168
  },
  "commits": 7262
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  ]
}
CODE

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}"
CODE

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"
}
CODE

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"
    }
  ]
}
CODE

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
    }
  ]
}
CODE

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"
    }
  ]
}
CODE

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"
    }
  ]
}
CODE

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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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"
CODE

Number of commits and lines of code added and deleted by a particular user.

{
  "linesOfCode": {
    "added": 2061114,
    "deleted": 1917168
  },
  "commits": 7262
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  ]
}
CODE


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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  }
}
CODE

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
    }
  ]
}
CODE

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"
CODE


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
    }
  ]
}
CODE

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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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)

ParameterValueDescription

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"
CODE

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
    }
  }
}
CODE

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
    }
  ]
}
CODE

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)

ParameterValueDescription

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"
CODE


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
    }
  ]
}
CODE

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)

ParameterValueDescription

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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  }
}
CODE

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
    }
  ]
}
CODE

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"
CODE

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
    }
  ]
}
CODE

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)

ParameterValueDescription

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"
CODE

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
}
CODE

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
    }
  ]
}
CODE

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)

ParameterValueDescription

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"
CODE

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
    }
  }
}
CODE

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
    }
  ]
}
CODE

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)

ParameterValueDescription

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"
CODE

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
    }
  ]
}
CODE