Versions Compared

Key

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


Note

Documentation for JMWE

Status
colourYellow
titleJMWE 5.0.0 - 6.1.3
 is available here


Excerpt

A workflow condition that allows you to hide/show a particular transition from the list of available transitions based on issues related to the current issue. It can be used to test the existence of certain related issues (such as linked issues, Stories of an Epic, Epic of a Story, subtasks of an issue, issues returned by a Groovy script or a JQL search, etc.). The transition to which the condition is added will be available only if the related issues respect certain conditions.


Note
  • This post-function does not work with remote links (links to Jira issues residing on another Jira instance/server).
  • JMWE now considers "symmetrical" link types (such as "relates to") as one link direction instead of two on the configuration screens and in the condition's execution. 

To add 'Related Issues Condition' to a transition:

  1. Click Edit for the workflow that has the transition you wish to configure the condition on.

  2. In the Workflow Designer, select the transition.

  3. Click on Conditions in the properties panel.

  4. Click on Add condition.

  5. Select Related Issues Condition from the list of conditions.

  6. Click on Add to add the condition to the transition.

  7. Select the related issues from Which issue(s) drop-down

  8. Select the minimum number of related issues required from the Min. Related Issues field.

  9. Click on Add to add the condition to the transition.

When you add this condition to a transition, the add-on checks the related issues, against the number of issues entered in the Min. Related Issues field. You can further customize the condition using the following options:

What to validate

Require certain related issues: The transition is hidden if related issues respecting the constraints below do not exist.

Check related issues: The transition is hidden if the specified related issues do not respect the provided constraints.

Target Issues

Select the issues to check the constraints on. They can be:

  • Linked issues: Select issue(s) linked to the current issue through any link type or a specific link type such as blocks, is cloned by, etc.

  • Sub-tasks of the current issue: Select this option to operate on the sub-tasks of the current issue

  • Parent issue of the current sub-task: Select this option to operate on the parent of the current issue

  • Issues that belong to the current Epic: Select this option to operate on the issues that belong to the current Epic

  • Epic of the current issue: Select this option to operate on the Epic of the current issue

  • Child issues of the current issue in the Portfolio hierarchy: Select this option to operate on the child issues of the current issue in the Portfolio hierarchy

  • Parent issue of the current issue in the Portfolio hierarchy: Select this option to operate on the parent issue of the current issue in the Portfolio hierarchy

  • Issues returned by a Groovy script:  Input a Groovy script that returns either a single Issue object, or a Collection of Issue objects, or a String representing the key of an issue, or a Collection of Strings each representing an issue key. For example:

    • "TEST-1"

    • ["TEST-1","TEST-2"]

    • ComponentAccessor.issueManager.getIssueObject("TEST-1")

    • [ComponentAccessor.issueManager.getIssueObject("TEST-1"),ComponentAccessor.issueManager.getIssueObject("TEST-2")]

    • issue.parentObject

    • issue.getLinkedIssues()

  • Issues returned by a JQL search:  Input a JQL search expression, including an optional Groovy Template markup. For example:

    • project = TEST returns issues of the project with the key TEST

    • project = ${issue.get("project").key} and assignee = ${currentUser.name} returns issues of the project the current issue belongs to and assigned to the current user.

    • To operate on issues of a project with key TEST and issue type name same as the value in a text field

      Code Block
      <% if (issue.get("Single line text")) { %>
          project = TEST and issuetype = ${issue.get("Single line text")}
      <% } else { %>
          issuekey=INVALID-1
      <% } %>


Note
  • Note that the <% if %> block is necessary to avoid an invalid JQL query when the Single-line text field is empty. In that case, the template will return a valid JQL query that returns no issue (issuekey=INVALID-1). This is in general applicable to JQL operating on select type fields with pre-determined values like Affects Version/s, Checkboxes etc.

  • The maximum number of issues returned by a valid JQL is limited to 1000.

Issue constraints

Min. Related Issues

Select the minimum number of related issues to enforce. By default, it is 1.

Max. Related Issues

Select the maximum number of related issues beyond which the condition will fail. Leave it blank for no limit.

Condition on related issues

Input a Groovy condition in this field to check on each related issue. Leave blank if you don't need any additional constraint on the target issues. See the Groovy help editor for more information on writing the Groovy condition.

All related issues must verify the condition above

By default, this option is checked and the Groovy condition written above is checked on each related issue of the current issue. If you uncheck this option, at least one related issue, instead of all, must verify the condition.