Last updated May 29, 2023

Rate this page:

Atlassian developer changelog

This page contains announcements and updates for developers from various products, platforms, and programs across Atlassian. It includes filter controls to make it easier to only see updates relevant to you.

To ensure you don’t miss any updates, we also provide RSS feeds. These feeds will take on any filters you applied to the page, and are a standardized way of keeping up-to-date with Atlassian changes for developers. For example, in Slack with the RSS app installed, you can type /feed <FEED URL> in any channel, and RSS updates will appear in that channel as they are posted.

29 May 2023

Announcement New template for integrating imports in Jira Service Management

Assets Platform
Forge - Core Platform (excludes product REST APIs)

We’ve added a template for surfacing Forge UI Kit elements when integrating your app with Jira Service Management assets. This template includes extension points for useful import actions, including:

  • creating and deleting import structures

  • starting and stopping imports

  • returning import progress

Added Trello OAuth now allows you to specify the app's author for legacy app keys

Power-Ups - Trello (excludes Trello REST APIs)

For apps using legacy app keys (app keys created via trello.com/app-key) you can now specify the app author by passing the author query parameter in your OAuth request URL or by setting the appAuthor config option when calling either TrelloPowerUp.initialize or TrelloPowerUp.iframe, depending on your workflow.

Please update each and every one of your apps using Trello OAuth with legacy app keys to include your app’s author name, otherwise you risk your app falling out of compliance and potentially getting it delisted from Trello.

For more info please refer to the documentation of the OAuth method you’re using:
- t.authorize()
- t.getRestApi().authorize()

26 May 2023

Announcement Reminder: support ending for deprecated setValue and getValue contracts

Forge - Jira Cloud Platform (excludes Jira REST APIs)

This is a reminder that after June 28, 2023, we’ll start dropping support for the deprecated setValue and getValue contracts in UI modifications.

The following fields are affected: 

For more details, see the original deprecation notice.

23 May 2023

Added Webhook tokens losing access to the webhook's model is now considered a webhook failure

REST API - Trello

We currently disable webhooks when they “fail” consecutively for 30 days without recovering. Previously, the only type of “failure” was when the webhook callback endpoint returned something other than a 200 response when a webhook event was sent. With this change, webhook events failing because its token lost access to the webhook's model is now considered a failure, and will count towards disablement if not fixed within 30 days.

More details

How does a webhook’s token lose access to the webhook’s model? The most common way this can happen is by a user leaving a board. See this example:

  1. A webhook is set up using a user’s token to watch a board they are a member of.

  2. Later on, that user leaves the board. Thus, their token loses access to the board.

  3. Now, if changes are made on the board, the webhook watching that board will throw an error when attempting to send the webhook event to the webhook’s callback endpoint. This is because the webhook’s token can’t access the model (the board).

If the webhook’s token doesn’t regain access to the model (that is, the user never re-joins the board), the webhook will be disabled after 30 days.

Note that before this change, webhook tokens losing access to the webhook's model already caused webhook events sending to fail. This change simply considers this a “consecutive failure” and will contribute to eventual disablement of the webhook.

22 May 2023

Announcement Jira admin webhooks limit introduction date update

REST API - Jira Cloud Platform

The admin webhooks limit introduction date, announced on April 25, 2023, has been updated to January 2, 2024.

Announcement Additional $0 transactions will now be available on transactions APIs

Marketplace Platform

Last year, we added some $0 transactions (transactions resulting from 100% discounts) to the Marketplace APIs. At that time, we mentioned that we’d start providing transactions data in the Marketplace APIs for other $0 transactions beyond 100% discount cases as well.

More details

The additional $0 transactions will be available for the following types -

  • Those transactions that are for user-tiers that are defined as $0 in the pricing plan

  • Transactions for

    • Community licenses in server and data center products

    • Open source licenses

  • Transactions for licenses having maintenanceStartDate same as maintenanceEndDate which is possible when the license is renewed on the same date

  • Transactions for licenses where the app was installed on the parent sandbox site during initial provisioning which are $0

Added Now supporting add and delete form REST API endpoints

REST API - Forms

We’ve added the following REST API endpoints to call so you can get a list of forms associated with a project, and add or delete a form on an issue. Learn more about each endpoint below.
Get project form index
Add form
Delete form

Added New pricing tiers for Marketplace cloud apps

Marketplace Platform

Cloud apps on Atlassian Marketplace now offer the following new tiers for per-user pricing:

  • 35001-40000

  • 40001-45000

  • 45001-50000

For more information on the new tiers, see our CDAC post and Partner portal page.

More details

Pricing for the new tiers will default to the price for 35,000 users until Marketplace Partners add new per-user pricing for 35,001-40,000, 40,001-45,000, and 45,001-50,000.

Added Changes to Jira status management REST API

Connect - Jira Cloud Platform (excludes Jira REST APIs)
Forge - Jira Cloud Platform (excludes Jira REST APIs)
Marketplace Platform
REST API - Jira Cloud Platform

We have added a new expand option for bulk get statuses and search statuses paginated. With this change, it’s now possible to expand by workflowUsages to get a list of workflows that are used by the statuses.

19 May 2023

Removed Enforcement of the Deprecation of JWT Query Strings

Connect - Core Platform (excludes product REST APIs)
Connect - Jira Cloud Platform (excludes Jira REST APIs)
Connect - JSM Cloud (excludes JSM REST APIs)
Connect - Jira Software Cloud (excludes JSW REST APIs)
Connect - Confluence Cloud (excludes Confluence REST APIs)

We previously announced the deprecation of JWT query strings as a means to authenticate to the product REST APIs as a Connect app in August 2021 - Action Required: Deprecating support for passing Connect JWTs as a query string parameter to Atlassian APIs. This was to be enforced on Feb 1, 2022, however the enforcement of this change was not comprehensive and a small number of apps continued to use the existing query string method.

We’re now proceeding with the complete removal of ?jwt= query string support from the Jira and Confluence APIs. If you currently still utilise JWT query strings, you will be allowlisted to continue until Aug 31, 2023 without any action on your end. After this date, the Atlassian Jira and Confluence APIs will no longer inspect the ?jwt= query string parameter and requests for all apps, and consequently may fail with a HTTP 401 response.

Please utilise the JWT auth header as a means to authenticate as outlined in: https://developer.atlassian.com/cloud/jira/platform/understanding-jwt-for-connect-apps/#creating-a-jwt-token

More details

Why is it changing?

Accepting sensitive JWTs as a query string parameter presents a problem as the query string is often saved in web browser history, passed through Referers to other web sites, stored in web logs such as intermediate proxy servers.

What do I need to do?

If your app provides its Connect JWT to the Atlassian APIs as a query string parameter, you must update it to pass the JWT via an Authorization: JWT header.

By when do I need to do it?

We’re now proceeding with the complete removal of ?jwt= query string support from the Jira and Confluence APIs. If you currently still utilise JWT query strings, you will be allowlisted to continue until Aug 31, 2023 without any action on your end. After this date, the Atlassian Jira and Confluence APIs will no longer inspect the ?jwt= query string parameter and requests for all apps, and consequently may fail with a HTTP 401 response."

Deprecation Notice Deprecating createScorecardCriterias, updateScorecardCriterias and deleteScorecardCriterias Mutations

GraphQL - Compass

The individual criteria mutations (createScorecardCriterias, updateScorecardCriterias and deleteScorecardCriterias) are being deprecated and replaced with an expanded updateScorecard mutation which supports creating, updating and deleting criteria when updating a scorecard. The individual criteria mutations will be removed from the API on Aug 1, 2023.

More details

Why is this deprecation necessary?

This deprecation is necessary to improve scalability and enable future scorecard enhancements.

What is changing?

The three individual criteria mutations, createScorecardCriterias, updateScorecardCriterias, and deleteScorecardCriterias are being deprecated. Their functionality is now available as part of the updateScorecard mutation as createCriteria, updateCriteria, and deleteCriteria fields on UpdateCompassScorecardInput.

The following GraphQL types will be affected by this change:

CreateCompassScorecardCriteriasInput

UpdateCompassScorecardCriteriasInput

DeleteCompassScorecardCriteriasInput

UpdateCompassScorecardInput

Dates and rollout

The new createCriteria, updateCriteria, and deleteCriteria fields are available now on UpdateCompassScorecardInput. The createScorecardCriterias, updateScorecardCriterias, and deleteScorecardCriterias mutations, and their associated input types will be removed from the API on Aug 1, 2023.

Migration guidance

To migrate from the individual criteria mutations to the consolidated scorecard update mutation, follow these steps:

Update your createScorecardCriterias GraphQL mutations to use the updateScorecard mutation instead by populating the createCriteria field on the UpdateCompassScorecardInput with the same CreateCompassScorecardCriteriaInput currently used.

Update your updateScorecardCriterias GraphQL mutations to use the updateScorecard mutation instead by populating the updateCriteria field on the UpdateCompassScorecardInput with the same UpdateCompassScorecardCriteriaInput currently used.

Update your deleteScorecardCriterias GraphQL mutations to use the updateScorecard mutation instead by populating the deleteCriteria field on the UpdateCompassScorecardInput with the same DeleteCompassScorecardCriteriaInput currently used.

Note that criteria validations are run against the entire set of criteria when using the scorecardUpdate mutation. This means creating, updating, and deleting criteria must be combined into a single scorecardUpdate mutation call, or they may be rejected for failing validation.

Test your updated scorecardUpdate mutations with different combinations of the criteria inputs to ensure they each function as expected.

Once you have confirmed that your mutations work as expected, remove any references to the deprecated mutations.

Known issues

There are no known issues with the migration process. However, if you encounter any issues during the migration, please consult the Support section below.

Support

If you need help with the migration or have any questions, please visit the Compass Announcement category in CDAC or chat with our support engineers by clicking the “Give feedback” button in the top nav bar on your Compass site.

Q&A

As we receive questions from developers and partners about the deprecation, we will update this section with answers to common questions. Please refer to the Support section above if you have questions not addressed here.

18 May 2023

Deprecation Notice Bitbucket Cloud Pipelines is ending support for the legacy runtime execution environment in favor of Containerd

REST API - Bitbucket Cloud

Bitbucket Pipelines operates in a Kubernetes-based infrastructure environment, and our internal execution environment leverages Containerd by default for all customers in a transparent manner.

A small number of users have been provisioned onto Docker based runtime infrastructure after a specific exemption was applied by Customer Support; it’s now time to retire that infrastructure.
A runtime change does not impact your ability to build containers using the Docker CLI, the primary impact is if you’re using out-of-date Docker tooling, or tooling that leverages deprecated Docker APIs
The Docker project has been committed to the Containerd project for a number of years Extending Docker’s Integration with containerd | Docker

Announcement Introducing new issue security endpoint in Jira REST APIs

REST API - Jira Cloud Platform

We are introducing a new endpoint of REST APIs related to Jira issue security schemes:

Fixed Forge Tunnel now uses Ngrok client 3

Forge - Core Platform (excludes product REST APIs)

The Forge CLI now uses Ngrok client 3 for forge tunnel. The forge tunnel command requires anonymous requests, which no longer works with the previous Ngrok version used by the CLI.

16 May 2023

Fixed Custom field items will return null fields

REST API - Trello

API responses for custom field items will now include value and idValue fields with a null value, rather than omitting the fields depending on the custom field type, to maintain consistent API response shapes.

More details

GET /1/card/:id/customFieldItems

Before:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ { "id": "64638429a6afeadf0d5795f6", "idCustomField": "615dca8087f377004a347073", "idModel": "646383ecbaea32cb431a606d", "idValue": "615dca902bfde800dec91fb1", "modelType": "card" }, { "id": "6463842b5617d811b4250a9f", "idCustomField": "615dca66da745f00356d1246", "idModel": "646383ecbaea32cb431a606d", "modelType": "card", "value": { "text": "Test" } } ]

After:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ { "id": "64638429a6afeadf0d5795f6", "idCustomField": "615dca8087f377004a347073", "idModel": "646383ecbaea32cb431a606d", "idValue": "615dca902bfde800dec91fb1", "modelType": "card", "value": null }, { "id": "6463842b5617d811b4250a9f", "idCustomField": "615dca66da745f00356d1246", "idModel": "646383ecbaea32cb431a606d", "idValue": null, "modelType": "card", "value": { "text": "Test" } } ]