Secure Isolation and Sharing (single JIRA)


There is strict security policy where project are completely separated (for example, projects are dedicated for different customers that shouldn't even know about each other).

We want to replicate some issues between such projects. For example, if we provide same solution for different customers, problems found in one customer can be replicated in other project. That will keep everyone up to date.


Prerequisites

Given scenario (configuration) is for single JIRA instance.

Projects can have different configuration (issue types, workflows, etc.).

Communication model

Use INTERNAL model.

Realization

Create two Connections to your JIRA instance. The trick is to:

  • use different Authentication Keys,
  • if in given connection one key is used as Local Key, then it should be set as Remote Key in the second connection. 

Create Contracts for each connection (see Connection & Synchronize 101).

From now on configuration is just like you will synchronize two JIRA instances.

Consideration

  • In given scenario you may want to synchronize only few fields (probably summaryversion). You may want to avoid passing reporterdescriptionattachments and comments as they may contains sensitive data.
  • You can synchronize workflow to update state of replicated issue when it is resolved in one project.
  • It should be enough to have just two connections to local JIRA to handle many cross project synchronizations. Please, keep in mind that two contracts you want to bind need to be under different connection.
  • Consider what is the best trigger for you synchronization. All of these can do the job:
    • JQL trigger (for example when select field is set to value 'General problem')
    • Workflow event-based trigger (making transition 'Affects other customers')
    • On demand with Create Remote Issue Action & Bulk