What has changed?
We've changed the storage of links in Jira issues. It requires an upgrade task to run. It should be seamless for customers, but we have to inform you in case you meet any problem.
Please plan to upgrade to Confluence 6.13 before December 2019
Confluence 6.6 is still supported until November. However, since we follow Atlassian's Enterprise Releases, we will require Confluence 6.13 minimum when Atlassian drops support for 6.6.
Why?
We had to achieve better performance for the Data Center certification. We used to store those links in RIL ("Remote Issue Links", the built-in Jira panel). In order to increase the plugin's performance, we are now storing links in ActiveObjects (tables AO_42D05A_*).
On the upside, you get:
- A custom field for requirements, optional. It is particularly useful in the following situations:
- If you want to link to requirements in the Create Issue form, which you couldn't do before,
- If you want to require a link to a requirement at any step, including the Create step,
- If you want to preset the relationship so the user can't change it.
- A JQL function, so now you can search for all issue linked to a requirement.
Do administrators have anything to do?
No, in theory. You can:
- Check that you can see/add/remove Requirement Yogi links properly in a Jira issue,
- Check the progress of the upgrade job (see below).
However, have you provided credentials in Confluence for Requirement Yogi, as explained in the Release 2.2?
New panel
Since we don't store them in "Remote issue links", they don't appear as part of the normal panel. They now appear in a new panel, which only displays if there are requirements attached to the current issue:
What if we don't like the new panel?
- Please notify us and explain us. We may find solutions to improve your situation, and more importantly, we want to know about it before we go further with this implementation.
- Disable the panel: Go to UPM (the plugin manager), in our plugin, in the list of modules, disable the modules "issue-view-panel" and "sprint-board-panel" in UPM.
- Set up the custom field instead (see below). The custom field will take a much smaller visual footprint.
Upgrade job
The data should migrate automatically from RILs to our panel:
- The links are migrated when you display the "Add links" dialog on a Jira issue,
- The links are migrated when a requirement is changed in Confluence and its text is propagated to Jira,
- The links are migrated if you go to the Requirement Yogi administration, tab "Upgrade job" and provide a query in the "Manual" section. Please start with a small query, like "key = JRA-9".
- The links are migrated automatically by a background job which runs for 45s every 3 minutes, starting when you upgrade.
The upgrade job should work smoothly, but in case you are having any problems you can trigger the upgrade manually in the administration panel.
If this is not enough:
- The job executes tasks which are in AO_42D05A_AOTASK.
- The job stops when there's a task with type="UPGRADE_RIL_SUMMARY" and value="FAILED" or "SUCCESS".
- The job uses OfBiz to query data. If it can't, for any reason, the you can create items yourself in the table:
- For each issue to migrate, create 1 AO_42D05A_AOTASK, with type='UPGRADE_RIL', status=null and details=the jira issue id or key ("10001" or "JRA-1" are both valid).
- Then go to the administration and click "Relaunch".
Custom Field
The custom field requires the Confluence plugin to be upgraded (both should be 2.2.5+). You can add our custom field to your issue's screens to easily create links.
The custom fields needs some configuration. Make sure you click "Configure" and you configure the relationship.
You can then use the field in Jira:
Note that for custom fields the plugin will fail to get the requirements description if you are running an old version of RequirementYogi (Confluence), so make sure to upgrade RequirementYogi to the latest version.
JQL Function
We have now a JQL Function named requirementYogiLinks to search for issues that are linked to RY requirements.
Usage: issue in requirementYogiLinks('applink_id', 'relationship', 'space_key', 'key#baseline_number')
Examples :
Example | Intent |
---|---|
requirementYogiLinks('REQ-001') | Issues linked to requirement REQ-001 |
requirementYogiLinks('REQ-001#3') | Issues linked to requirement REQ-001 in baseline 3 |
requirementYogiLinks('resolves', 'REQ-001') | Issues linked with relationship "resolves" |
requirementYogiLinks('abcd-fff1-acef-4343', 'resolves', '*') | Issues linked to requirements from applink 'abcd-...' with relationship "resolves" |
requirementYogiLinks('abcd-fff1-acef-4343', '*', '*') | Issues linked to requirements from applink 'abcd-...' |
requirementYogiLinks('*', 'resolves', 'REQ-001#1') | Issues linked to requirement REQ-001 and baseline 1 with the relationship resolves |
Any argument can be replaced with '*' if it's not relevant.