Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Capacity Tracker exposes a REST API than can be used to get capacity reports programmatically.

Jira Cloud

Info

When replacing parameters indicated by <PARAMETER_NAME>, be sure to remove the ‘<' '>’ characters as well.

For example:

  • <MY_API_KEY> replaced by CT_API_xxx

  • <active_only> replaced by true or false

Authorization

  1. Navigate to Capacity Tracker configuration screen (Jira settings > Apps > Capacity Tracker).
    Create a new API Key, and save it somewhere. For security reason, we will not be able to give it back to you if you lose it.

  2. You can now call the different API endpoints with your API Key (replace <MY_API_KEY> with the previously created key).

    Code Block
    languagebash
    curl -H "Authorization: Bearer <MY_API_KEY>" -H "Content-Type: application/json" https://prod-api-tk.inprowiseraws.net/public/api/v1/capacity-report/board/<my_board_id>?workPeriodId=<my_work_period_id>

Endpoints

Get capacity report

Returns the capacity report for a specific work period. In case none were specified, the most recent active one will be used.

...

Method

...

Endpoint

...

GET

...

Code Block
languagetext
https://prod-api-tk.inprowiseraws.net/public/api/v1/capacity-report/board/<my_board_id>?workPeriodId=<my_work_period_id>

...

Parameter

...

Type

...

Required

...

Default Value

...

Description

...

<board_id>

...

Number

...

Yes

...

ID of your Jira Board (or RapidView).

...

<my_work_period_id>

...

Number

...

No

...

0

...

ID of your sprint or version.

Get consolidated capacity report

Returns the consolidated capacity report including all work periods.

...

Method

...

Endpoint

...

GET

...

Code Block
languagetext
https://prod-api-tk.inprowiseraws.net/public/api/v1/capacity-report/board/<my_board_id>/consolidated?activeOnly=<active_only>

...

Parameter

...

Type

...

Required

...

Default Value

...

Description

...

<board_id>

...

Number

...

Yes

...

ID of your Jira Board (or RapidView).

...

<active_only>

...

Boolean

...

No

...

false

...

Only return active work periods (i.e. future work periods will not be included in the results).

Get consolidated capacity report (flat)

Returns the consolidated capacity report including all work periods in a flat schema (the report will be returned as a list of records with all necessary columns instead of a nested JSON object).

This call is mostly used to integrate with Excel/PowerBI.

...

Method

...

Endpoint

...

GET

...

Code Block
languagetext
https://prod-api-tk.inprowiseraws.net/public/api/v1/capacity-report/board/<my_board_id>/consolidated-flat?activeOnly=<active_only>&includeUnassigned=<include_unassigned>&filterDaysOff=<filter_days_off>

...

Parameter

...

Type

...

Required

...

Default Value

...

Description

...

<board_id>

...

Number

...

Yes

...

ID of your Jira Board (or RapidView).

...

<active_only>

...

Boolean

...

No

...

false

...

Only return active work periods (i.e. future work periods will not be included in the results).

...

<include_unassigned>

...

Boolean

...

No

...

false

...

Include unassigned issues in your capacity report.

...

<filter_days_off>

...

Boolean

...

No

...

false

...

Filter days off based on the work period start/end dates.
By default, all days off are returned even if they are outside the work period date ranges.

Get user days off

Returns the full list of user days off.

...

Method

...

Endpoint

...

GET

...

Code Block
languagetext
https://prod-api-tk.inprowiseraws.net/public/api/v1/user-days-off

Update user days off

Updates the user days off directly without using the Capacity Tracker UI.

...

Method

...

Endpoint

...

Request Body

...

PUT

...

Code Block
languagetext
https://prod-api-tk.inprowiseraws.net/public/api/v1/user-days-off

Capacity Tracker supports two different kinds of days off:

  • Full day

Code Block
languagetext
YYYY-MM-DD

or

Code Block
languagetext
YYYY-MM-DD F
  • Half day

Code Block
languagetext
YYYY-MM-DD H

Two modes are supported:

Set

Code Block
{
    "set": {
        "jira_user_account_id_1": [
            "2023-06-05",
            "2023-06-06 H",
            "2023-06-07 H",
            "2023-06-08"
        ],
        "jira_user_account_id_2": [
            "2023-06-05",
            "2023-06-06 H",
            "2023-06-07 H",
            "2023-06-08"
        ]
    }
}

This mode will completely replace the days off for the given user account IDs (all existing days off will be removed).

Add / remove

Code Block
{
    "remove": {
        "jira_user_account_id_1": [
            "2023-06-05",
            "2023-06-06 H",
            "2023-06-07 H",
            "2023-06-08"
        ]
        "jira_user_account_id_2": [
            "2023-06-05",
            "2023-06-06 H",
            "2023-06-07 H",
            "2023-06-08"
        ]
    },
    "add": {
        "jira_user_account_id_1": [
            "2023-06-31"
        ]
        "jira_user_account_id_2": [
            "2023-06-31"
        ]
    }
}

This mode will always execute the operations in this order: Remove, then Add.

  • Remove

    • The given days off will be removed for the specific account IDs.

    • Removing a full day will also remove a half day.

    • Attempting to remove a half day when a full day was previously stored will be ignored.

  • Add

    • The given days off will be added for the specific account IDs.

    • Note: this behaves like a partial set. For example, if a user has a full day off on 2023-05-01 but you are adding a half day (2023-05-01 H), the full day will be replaced by the half day.

Jira Server / Jira DataCenter

Info

When replacing parameters indicated by <PARAMETER_NAME>, be sure to remove the ‘<' '>’ characters as well.

For example:

  • <MY_API_KEY> replaced by CT_API_xxx

  • <active_only> replaced by true or false

Authorization

  1. Compute the base64 of <my_jira_user>:<my_jira_password>(you can use https://www.base64encode.org/ for simplicity).
    For example, if your username is fred and your password toto, you should compute the base64 of fred:toto, which is ZnJlZDp0b3Rv

  2. Call the API:

    Code Block
    curl -H "Authorization: Basic ZnJlZDp0b3Rv" -H "Content-Type: application/json" https://<my_jira_url>/rest/capacity-tracker/latest/public/api/v1/capacity-report/board/<my_board_id>?workPeriodId=<my_work_period_id>

Endpoints

All endpoints must be prefixed by:

Code Block
languagetext
https://<my_jira_url>/rest/capacity-tracker/latest/public/api/

...

Method

...

Endpoint

...

Description

...

GET

...

Code Block
languagetext
v1/capacity-report?boardId=<my_board_id>&workPeriodId=<my_work_period_id>

...

DEPRECATED

...

GET

...

Code Block
languagetext
v1/capacity-report/board/<my_board_id>?workPeriodId=<my_work_period_id>

...

Will return the capacity report for a specific sprint/version. In case none were specified, the most recent active one will be used.

  • <board_id>: ID of your Jira Board (or RapidView). Required parameter.

  • <my_work_period_id>: ID of your sprint or version. Optional parameter.

...

GET

...

Code Block
languagetext
v1/capacity-report/board/<my_board_id>/consolidated?activeOnly=<active_only>

...

Will return the consolidated capacity report including all sprints/versions.

  • <active_only>: optional boolean parameter to only return active work periods.

...

GET

Code Block
languagetext
v1/capacity-report/board/<my_board_id>/consolidated-flat?activeOnly=<active_only>&includeUnassigned=<include_unassigned>

Will return the consolidated capacity report including all sprints/versions in a flat schema. This call is mostly used to integrate with Excel/PowerBI.

...

<active_only>: optional boolean parameter to only return active work periods.

...

Please follow the documentation related to your Jira installation:

Child pages (Children Display)