Versions Compared

Key

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

Atlassian is making changes to Jira Cloud to provide users with more control over their profile information - both in response to recent changes to data privacy legislation (i.e. GDPR) and as part of a broader effort to improve customer trust. These efforts include major breaking changes to the Jira REST API on top of which all apps, including JMWE for Jira Cloud, are built.

Despite our best efforts to makes the changes transparent to our customers, they will have an impact on your workflows, and you will need to make changes to some of the JMWE workflow post-functions you have configured.


Note
titleApril 30 May 8th update

Atlassian We just released a new Jira REST API that will allow us to build a GDPR Migration tool to assist you in making the required changes. This new tool will:

List

GDPR Migration Tool, available from the Apps section of the Jira admin, to help you identify and implement the changes required by Atlassian's upcoming GDPR changes. It:

  • Lists all the JMWE post-functions in your workflows that require changes, and allow allows you to edit these post-functions directly from the pagetool
  • Offer Offers a one-click migration option that will apply applies some of the required changes automatically

We are hard at work on this new tool and we are hoping to release it by the end of this week. You will then have almost two weeks left to make the required changes to your workflows before they start failing on May 17. 


Note
titleApril 26 update

Atlassian just pushed back the deployment of the first wave of breaking changes ("Phase 2" below) to May 16. You have therefore up to May 16 to make the changes required for Phase 2 (see below).

...

When: to be announced later by Atlassian, but likely no earlier than June 30, 2019

...

Anchor
fix
fix
Identifying required changes and making them

Note

A The new GDPR Migration tool is coming soon (see the April 30 update at the top of this page). It will make it easier to identify and implement the required changesnow available

The latest version of JMWE for Jira Cloud introduces a new "deprecation-warning" type of log entry. These logs are written whenever a post-function is run that presents a GDPR compatibility issue.You might currently encounter six different deprecation warnings messages. Each of these is explained below, with their possible cause and remediation. You will need to look at the workflow and transition name on the log entry, as well as the post-function name (type). Unfortunately, you will not be able to differentiate multiple post-functions of the same type on the same transition and will therefore need to check them all. GDPR Migration Tool that lists all the JMWE post-functions in your workflows that require changes and allows you to edit these post-functions directly from the tool. It also offers a one-click migration option that applies some of the required changes automatically. The GDPR Migration Tool is available from the Apps section of the Jira administration pages, alongside other JMWE administration pages such as the JMWE Logs.

We recommend you use the GDPR Migration Tool to identify and implement all the changes you need to make to your workflows. However, you can use any other tool, such as Jira's workflow editor and JMWE Logs, to identify and make these changes.

Required changes fall into the following categories, which also correspond to "Deprecation warning messages" logged into the JMWE Logs when post-functions are executed:

Table of Content Zone
maxLevel2
locationtop
printablefalse

Attempting to access the 'name' field of a user object

This warning will be logged by post-functions that refer to the name property (field) of a user object in a Nunjucks template. For example:

  • Returning the value of a user-type field:
Code Block
{{ issue.fields.reporter.name }}
  • Returning the current user:
Code Block
{{ currentUser.name }}
  • Checking the assignee against a specific user:
Code Block
{{ issue.fields.assignee.name == "admin" }}

How to fix

The reference to the name property must be replaced with a reference to the accountId property. For example:

  • Returning the value of a user-type field:
Code Block
{{ issue.fields.reporter.accountId }}
  • Returning the current user:
Code Block
{{ currentUser.accountId }}

Note that fields that expect a reference to a user as their value (fields that used to expect a username or a comma-separated list of usernames, such as the Assignee field or Multi-user picker custom fields) now expect an accountId or a comma-separated list of accountIds, but they will temporarily continue to accept usernames (until phase 3).

  • Checking the assignee against a specific user:
Code Block
{{ issue.fields.assignee.accountId == "accountId:aaaaa-bbbbb-ccccc-ddddd" }}

Note that you can use the "User lookup" button of the Nunjucks editor toolbar to look up the account ID of a specific user and insert it in your template.

In some cases, you might want to replace the reference to the name property with a reference to the displayName property, for example, when used inside a Nunjucks template returning text, such as in the Text or Html Body options of an Email Issue post-function:

Code Block
This issue was created by {{ issue.fields.reporter.displayName }}.

When to fix

These warnings need to be fixed at the latest before:

  • Returning the value of a user-type field, or the current user: phase 3
  • Comparing the value of a user-type field with a specific user: phase 2

Attempting to access the 'key' field of a user object

This warning will be logged by post-functions that refer to the key property (field) of a user object in a Nunjucks template. For example:

  • Checking the assignee against a specific user:
Code Block
{{ issue.fields.assignee.key == "admin" }}

How to fix

The reference to the key property must be replaced with a reference to the accountId property. For example:

  • Checking the assignee against a specific user:
Code Block
{{ issue.fields.assignee.accountId == "accountId:aaaaa-bbbbb-ccccc-ddddd" }}

Note that you can use the "User lookup" button of the Nunjucks editor toolbar to look up the account ID of a specific user and insert it in your template.

When to fix

These warnings need to be fixed at the latest before phase 2.

This post-function still uses a username as the runAs user

This warning will be logged by post-functions that were configured with the "Run as this user" option before JMWE for Jira Cloud 1.1.11 was released.

How to fix

The post-function simply needs to be edited and saved. No change is necessary. This will simply store the "run as user" as an accountId instead of a usernameRun the "Automatic Migration" option of the GDPR Migration Tool.

When to fix

These warnings need to be fixed at the latest before phase 3.

This post-function still uses a username as the 'comment author'

This warning will be logged by the Copy Comments to Linked Issues post-function if it was configured with the "Author of copied comments" option set to "this user" before JMWE for Jira Cloud 1.1.11 was released.

How to fix

The post-function simply needs to be edited and saved. No change is necessary. This will simply store the reference to the user as an accountId instead of a usernameRun the "Automatic Migration" option of the GDPR Migration Tool.

When to fix

These warnings need to be fixed at the latest before phase 3.

This post-function still uses a username as the 'comment as' user

This warning will be logged by the Create Issue(s) post-function if it was configured with the "Add a comment to the current issue" option with the "Create comment as this user" sub-option before JMWE for Jira Cloud 1.1.11 was released.

How to fix

The post-function simply needs to be edited and saved. No change is necessary. This will simply store the reference to the user as an accountId instead of a usernameRun the "Automatic Migration" option of the GDPR Migration Tool.

When to fix

These warnings need to be fixed at the latest before phase 3.

This post-function still uses user names/keys and must be updated to use accountIds instead

This warning will be logged by any post-function that is somehow manipulating a username or user key. The most common case will be when setting a user-type field to a username, using a value such as:

  • a username
Code Block
admin
  • a template returning a username:

    Code Block
    {{ issue.fields.assignee.name }}

    or

    Code Block
    {% if issue.fields.assignee != null %}
    {{ issue.fields.assignee.name }}
    {% else %}
    admin
    {% endif %}


Note that this warning can appear together with an "Attempting to access the 'name' field of a user object" warning. Fixing the latter will fix the former.

How to fix

The simple cases, such as setting a field to a username constant, will be automatically handled by the Automatic Migration of the GDPR Migration Tool. In most other cases, you will need to update the value (constant or Nunjucks template) to an accountIdusernames in Nunjucks Templates to accountIds. If you can't figure out why your post-function is logging this warning message, please open a support request on our Help Desk.

When to fix

These warnings need to be fixed at the latest before phase 3.

...