Versions Compared

Key

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

You can use the public API endpoints to set up integration between BigPicture and external tools. To get responses, you need to have admin permissions.

...

When BigPicture changes location to another server, then a call to the public API of the old server returns a 401 error. After that, it is necessary to call our Cloud Manager again to determine the BigPicture location using the "where-am-i" endpoint.

Synchronize absences of your Resources

...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira Server/ Jira CloudData Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional infoExample of response

Get absence for a particular Resource

GET baseUrl/public/ppm/resources/{individualId}/absences

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

For {individualId}, use a pattern: EXT_USER@<extplatform_id>@<user_id_in_extplatform>

Replace <extplatform_id> with an ID for an external platform you use data from. If your default external platform is Jira Server, enter 2. To check <extplatform_id>, go to App Configuration → Integrations →  Connections. Click F12 to see a side window on the right. Go to "Network" → "Fetch/XHR". Refresh the page, click "extplatform" and navigate to the "Preview" section. The <extplatform_id> will be visible there, as presented below. Copy an ID for the platform you want to use. 

Image Modified

Next, replace <user_id_in_extplatform> with a real ID of the user from the external platform you want to use (for Jira Server, enter a user ID in Jira, for another extplatform like Trello, provide a user ID in Trello).
If <user_id_in_extplatform> is an email address, double “@” and use the pattern EXT_USER@@<extplatform id>@@<email@com>, then provide a real email in <email@com>.

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

Example of API response for Resource absence:


Create absence for a particular Resource

POST baseUrl/public/ppm/resources/{individualId}/absences

Content-Type: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Request Body:

{ "startDate": "2022-12-02", "endDate": "2022-12-02", "absenceType": "HOLIDAY", "comment": "new comment content", "percentageUnavailability": 100 }

There are 5 different absenceType you can use:

  • HOLIDAY
  • LEAVE AT REQUEST
  • SICK LEAVE
  • MATERNITY LEAVE
  • OTHER REASON

You can set percentageUnavailability to 50 or 100. 
Other values are not supported. 50 means the Resource is absent half a day, while 100 informs that the Resource is absent all day. 

To provide data, use the pattern: YYYY-MM-dd.

Update absence for a particular Resource

PUT baseUrl/public/ppm/resources/{individualId}/absences?startDate={startDate}

Content-Type: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Request Body:

{ "startDate": "2024-07-21", "endDate": "2024-09-21", "absenceType": "OTHER REASON", "comment": "updated comment content", "percentageUnavailability": 50 }

Delete absence for a particular Resource

DELETE baseUrl/public/ppm/resources/{individualId}/absences?startDate={startDate}

Content-Type: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira CloudServer/ Jira Data Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional infoExample of response

Get all Teams in a given Box

GET baseURL/public/ppm/teams?boxIds={boxId1}&boxIds={boxId2}

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

Replace {boxId1}, {boxId2} with real IDs. You can enter as many boxIds as you want. You can find your boxId in the URL bar or next to the status of the Box, as presented below.

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

Example of GET Team response:



...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira CloudServer/ Jira Data Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional infoExample of response

Get assignments of tasks for Resources

GET baseURL/public/ppm/boxarea/resourcetaskassignment/{boxId}/
resourcetaskassignment?startDate={startDate}&endDate={endDate}&taskEffortMode={taskEffortMode}

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

Replace {boxId} with real boxId of box you would like to retrieve data from. You can find your boxId in the URL bar or next to the status of the Box, as presented below.

To provide data, use the pattern: YYYY-MM-dd.

The following taskEffortMode can be applied:

  • ORIGINAL_EFFORT_ESTIMATE,
  • REMAINING_EFFORT_ESTIMATE,
  • STORY_POINT_EFFORT_ESTIMATE

By default, ORIGINAL_EFFORT_ESTIMATE will be generated for taskEffortMode even If you do not replace {taskEffortMode} in the endpoint.

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

Example task assignment response:



...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira Server/ Jira CloudData Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional info

Get all Box IDs associated with a selected task in the scope

GET {baseURL}/public/ppm/boxarea/task/{taskIdorExtPlatformTaskKey}/boxes

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

You can find taskId in BigPicture, for example, "108".

  1. Click F12 to see a side window on the right.
  2. Navigate to "Network" -> "Fetch/XHR".
  3. Start editing a selected task inline in BigPicture.
  4. Click the updateFieldValue parameter and go to the "Payload" section. The taskId is visible there. 

For ExtPlatformTaskKey, use this pattern {extplatformId}@{extTaskType}@{extTaskId}, for example, "2@1@1034407". 

  1. Go to a Jira issue and click F12 to see a side window on the right.
  2. Navigate to "Network" -> "Fetch/XHR".
  3. Refresh the page.
  4. Find the loadBoxStructure parameter (use the search box to find it faster). 
  5. Go to the "Payload" section. 

Make sure that the WBS widget is enabled. 

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira Server/ Jira CloudData Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional info

Get the field definition of a Box

GET {baseUrl}/public/ppm/box/field/definition

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira CloudServer/ Jira Data Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional info

Get selected fields of a Box

POST {baseUrl}/public/ppm/box/{boxId}/selectedFields

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

Replace {boxId} with a real ID. You can find your boxId in the URL bar or next to the status of the Box, as presented below.

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

...

Note

Cookie: JSESSIONID=sessionId is used for calls to the public API on Jira CloudServer/ Jira Data Center. It is not required on Jira ServerCloud.


OperationRequest type: URLAdditional info

Get values of respective aggregation for a particular task 

GET baseUrl/public/ppm/boxarea/task/{taskIdOrExtPlatformTaskKey}/field/aggregations

Accept: application/json

Authorization: APIToken <token>

Cookie: JSESSIONID=sessionId

Replace baseUrl with your real URL, for example: https://qa.softwareplant.com/prod/rest/softwareplant-bigpicture/1.0 

You can generate an APIToken in BigPicture -> My settings -> API tokens. For more info, click here. The token is valid for 1 year. 

To catch your sessionId, you can:
Open BigPicture and click F12 to see a side window on the right. Go to "Network" -> "Fetch/XHR". Refresh the page and copy your JSESSIONID, as presented below.

...

ParameterLocationTypeDescription
taskIdOrExtPlatformTaskKeyPathString 

Providing taskId or ExtPlatformTaskKey is mandatory.

You can find taskId in BigPicture, for example, "108".

  1. Click F12 to see a side window on the right.
  2. Navigate to "Network" -> "Fetch/XHR".
  3. Start editing a selected task inline in BigPicture.
  4. Click the updateFieldValue parameter and go to the "Payload" section. The taskId is visible there. 

For ExtPlatformTaskKey, use this pattern {extplatformId}@{extTaskType}@{extTaskId}, for example, "2@1@1034407". 

  1. Go to a Jira issue and click F12 to see a side window on the right.
  2. Navigate to "Network" -> "Fetch/XHR".
  3. Refresh the page.
  4. Find the loadBoxStructure parameter (use the search box to find it faster). 
  5. Go to the "Payload" section. 

Make sure that the WBS widget is enabled. 

fieldIdQuery StringString or Integer

Providing taskFieldId or globalFieldName is mandatory.

Enter taskFieldId - TaskFieldId (integer) used to identify a field in BigPicture, for example, "518".

Enter globalFieldName - GlobalFieldName (String) used to identify global field names, for example, "Story Points". 

aggregationTypeQuery StringString

Providing aggregationType is mandatory.

Possible values:

- MIN
- MAX
- SUM
- SUM_NO_PARENT
- AVG
- AVG_NO_PARENT

boxIdQuery StringString

Providing boxId is optional. This parameter can be used as a context for aggregation.

You can find your boxId in the URL bar or next to the status of the Box, for example, "PROG-30". 

...