This article describes how to synchronize the resolution field between Jira projects. There are three methods of configuring this field:

Requirements

In order to use a passthrough or correlation mapping for synchronizing the resolution, you have to setup a workflow mapping in your configuration. Resolutions are dependent on the workflow status of an issue. Therefore, Backbone will determine when a resolution is synchronized based on the workflow mapping. Backbone will only update a resolution together with changing the status of an issue. Thus, make sure to add the resolution field to the transition screen in order to update it.

Backbone will not automatically remove the resolution - this needs to be done by using a post function in your workflow.

 Example Synchronization Process

The following situation provides an example how the workflow mapping and resolution field mapping work together. We've highlighted what Backbone is doing so you can better understand what's happening in the background and where you need to be cautious.

  • Project A has a simple workflow with Open, In Progress, Done. Done is a final status where a resolution is required.
  • Project B has a simple workflow with Open, In Progress, Resolved. Resolved is a final status where a resolution is required.
  • Backbone is configured to synchronize Open with Open, In Progress with In Progress and Done with Resolved. Also, a resolution passthrough mapping is configured.
  • Issue A is moved from Open to In Progress to Done and a resolution is set to 'Done'.
  • Backbone synchronizes the changes and moves issue B from Open to In Progress to Resolved by applying the resolution 'Done' in the last transition from In Progress to Resolved.
  • The resolution of issue A is updated from 'Done' to 'Duplicate'.
  • Backbone synchronizes the changes to issue B by trying to update the resolution in a transition from Resolved to Resolved, i.e. it's using a looped transition.
  • Issue A is re-opened from Done to Open. The workflow in project A is automatically removing the resolution in this case.
  • Backbone synchronizes the status change to issue B but it does not remove the resolution.



Passthrough Mapping

The Passthrough setting always maps the same resolution between projects. You should only use this when both projects have the exact same resolution field values, otherwise you'll get an error.

To configure the mapping:

  1. In the Backbone resolution field mapping configuration, select Passthrough

  2. Click next, and do the same for the other project

Now, the same resolution value will be synced between projects.

Correlation Mapping

The Correlation setting lets you map certain resolution values in one project to certain resolution values in the other. You should use this when the projects have different resolution field values.

To configure this mapping:

  1. In the Backbone resolution field mapping configuration, select Correlation
  2. In the Resolution Mapping section, select which resolution should be mapped to which. The resolutions with the same numbers will be mapped, e.g. here, 'Done' and 'Duplicate' will be mapped to 'Won't Do' and 'Duplicate':
  3. Select a default resolution – this is the resolution that should be applied in case one certain resolution hasn't been mapped
  4. Click Save

Resolution To Text Mapping

The To Text setting lets you map the resolution value to a text field.

In order to use this mapping, you have to

  • create a new advanced field mapping,
  • select Resolution on one side,
  • select a text field on the other side,
  • set the synchronization direction from the Resolution field to the text field.


The following steps are only necessary if you're using Backbone version 4.1.3 or before. If you're using a newer version, please skip this part.

 Deprecated: Create a global looped workflow transition

Before you can configure the resolution field mapping, you firstly have to create a global looped workflow transition in the workflows being used by the projects that the resolution field is being synchronized to.

A global looped transition is a transition from any status to itself. It's necessary to create one because to change the resolution field, Jira must also trigger a workflow change – and if this workflow change is the global looped transition, then you can change the resolution without always having to transition to a new workflow state.

Create the global looped transition

  1. Define a new screen
  2. Assign the resolution field to it
  3. Create a new global looped transition for the workflow you are using in this project. Click to Workflows > Edit for the workflow you are using > Add transition > in the From status field, enter 'Any status' > In the To status field, enter 'Itself' > assign a name > assign the new screen from step 1 > click Add
  4. Get the ID of the global looped transition by clicking Text, then finding the global looped transition's name in the Transitions (id) column. The ID is in brackets next to the name – make a note of it
  5. Optionally, if you want to hide this new transition from your users:
    1. Assign your Backbone synchronization user to a group that only it belongs to
    2. Make the global looped transition only visible to users in that group by navigating to Workflows > Edit for the relevant workflow > click the global looped transition > Conditions > Add condition > select User Is In Group > select the group with only the Backbone synchronization user in it

Now, you can configure the resolution field mapping.

 Deprecated: Passthrough Mapping via Transition

The Passthrough (Deprecated) via Transition setting always maps the same resolution between projects. You should only use this when both projects have the exact same resolution field values, otherwise you'll get an error.

To configure the mapping:

  1. In the Backbone resolution field mapping configuration, select Passthrough (Deprecated)
  2. In the Transition ID field, enter the ID of the global looped transition (if you haven't got this set up, see the steps in the first part of this article) in the project's workflow:
  3. Click next, and do the same for the other project

Now, the same resolution value will be synced between projects.

 Deprecated: Correlation Mapping via Transition

The Correlation (Deprecated) via Transition setting lets you map certain resolution values in one project to certain resolution values in the other. You should use this when the projects have different resolution field values.

To configure this mapping:

  1. In the Backbone resolution field mapping configuration, select Correlation (Deprecated)
  2. In the Resolution Mapping section, select which resolution should be mapped to which. The resolutions with the same numbers will be mapped, e.g. here, 'Done' and 'Duplicate' will be mapped to 'Won't Do' and 'Duplicate':
  3. Select a default resolution – this is the resolution that should be applied in case one certain resolution hasn't been mapped
  4. In the Transition ID field, enter the ID of the global looped transition in the relevant project's workflow (if you haven't got this set up, see the steps in the first part of this article)
  5. Click Next and enter the ID of the global looped transition in the relevant project's workflow
  6. Click Save