Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

This section has use cases that help you understand the usage of the Conditions provided by JMWE.

On this page:

...

This section has use cases that help you understand the usage of the Conditions provided by JMWE.

On this page:

Table of Contents

Build-your-own (scripted) Condition

This condition can be used to hide/show a transition based on a Jira expression

Sample use cases:

(lightbulb)Only the Reporter of the issue should be able to close the service ticket. 

Expand
  • Add the Build-your-own (scripted) condition to the Close issue transition.

  • Write this content in the Jira expression

    Code Block
    user == issue.reporter

(lightbulb) Hide the transition from the current user if he is not in the Approvers field

Expand
  • Add the Build-your-own (scripted) condition to the transition you wish to hide

  • Write this content in the Jira expression.

    Code Block
    !! issue.customfield_10002 && issue.customfield_10002.some(it => it == user)

    Replace the custom field id with the id of the Approvers field in your instance

(lightbulb) Block a specific transition when the Time to resolution is breached.

Expand
  • Add the Build-your-own (scripted) condition to the transition you wish to hide

  • Write this content in the Jira expression.

    Code Block
    !! issue.customfield_10102 && (!issue.customfield_10102.ongoingCycle || !issue.customfield_10102.ongoingCycle.breached)

    where customfield_10101 is the id of the Time to resolution field.

(lightbulb) Prevent the users from "Return/Exchange" on the purchase order after 15 days from the item delivery date

Expand
  • Add the Build-your-own (scripted) condition to the transition "Return/Exchange"

  • Write this content in the Jira expression.

  • Code Block
    new Date().minusDays(15) < issue.created

(lightbulb) Enable the "Start Progress" only on issues in the current sprint

Expand
  • Add the Build-your-own (scripted) validator to the Start Progress transition.

  • Name the validator as “Check Sprint”

  • Write the following script in Jira expression field

    Code Block
    !!issue.sprint && issue.sprint.state == "active"

(lightbulb) Ensure at least one pdf file is attached before the issue can be transitioned

Expand
  • Add the Build-your-own (scripted) validator to the Start Progress transition.

  • Name the validator as “Check attachments”

  • Write the following script in Jira expression field

    Code Block
    issue.attachments.filter(attachment => attachment.mimeType == 'application/pdf').length > 0

(lightbulb) Show transition “Reject” only for users of the “Management” project role and “jira-administrators” group

Expand
  • Add the Build-your-own (scripted) validator to the Reject transition.

  • Name the validator as “Current user Project Role and Group”

  • Write the following script in Jira expression field

    Code Block
    user.getProjectRoles(issue.project).some(pr => pr.name == "Management") || user.groups.includes("jira-administrators")

Current Status Condition

This condition can be used to hide/show a particular transition from the list of available workflow actions, based on the current status of the issue. 

Sample use cases:

...

(lightbulb) Disable a global transition from certain statuses

Expand
  • Add the Current status condition to the transition.

  • Select the statuses from which the Global transition should be enabled from the Current Status field.

(lightbulb) Block issue transition from current status to itself

...

Expand
  • Add

...

  • the Current status condition

...

  •  to all the transitions of the workflow, the issue follows.

  • On each condition select all the status(es) from

...

  • the Current Status

...

  •  field except the

...

(lightbulb) Allow users to transition the issue to Approve status only when the issue is in Verified status

Panel
  • Add the Current status condition to the transition "Approve".
  • Select "Verified" status from the "Current status" field
  • destination status of the current transition

(lightbulb) Block transition to 'On Hold' status when the issue is in 'Closed' status

...

Expand
  • Add

...

  • the Current status condition

...

  •  to the transition "On Hold".

  • Select all the status(es) applicable to the current issue, except the 'On Hold' status.

Linked Issues Condition

This condition can be used to hide/show a particular transition from the list of available transitions, based on the issue's linked issues. 

Sample use cases:

...

(lightbulb) Hide the transition "Triage" until at least one assigned subtask is available for the issue

Expand

...

  • Add

...

  • the Linked Issue

...

  • condition to the "Triage"

...

  •  transition.

  • Select the issue link

...

  • type is Parent Of

...

  •  from the Issue Link Type

...

  •  field.

  • Select the issue type as Sub-task

  • Select the option "At least one linked issue must satisfy the condition below"

  • Input the Jira expression:

    Code Block
    linkedIssue.assignee !=null

(lightbulb)

...

 Hide the "Start Progress" transition on a ticket when there is

...

an issue linked to it through the “is blocked by” link type

Expand

...

  • Add

...

  • the Linked Issue

...

  • condition to the "Start Progress" transition.

  • Select the issue link

...

  • type is blocked by from the Issue Link Type field.

  • Select the option "Every linked issue must satisfy the condition below"

  • Input the Jira expression:

    Code Block
    false

(lightbulb) For a parent of issue type “Story” hide the In Progress transition until all its subtasks are in “In Progress”

Expand
  • Add the Linked Issue condition to the "Start Progress" transition of the workflow.

  • Select the issue link type is Parent Of from the Issue Link Type field.

  • Select the option "Every linked issue must satisfy the condition below"

  • Input the Jira expression:

    Code Block

...

  • issue.issueType.name != "Story" || linkedIssue.status.name == "In Progress"

Linked Issues Status Condition

This condition can be used to hide/show a particular transition from the list of available transitions, based on the status of the issue's linked issues. 

Sample use cases:

...

(lightbulb) Hide the "Close" transition of the Epic until all its Stories are closed.

Expand

...

  • Add

...

  • the Linked Issue Status

...

  • condition to

...

  • the Close

...

  •  transition.

...

  • Select is Epic of

...

  •  as the Issue Link

  • Select the "Closed" status

...

  • from Statuses

(lightbulb) Prevent the user from resolving the ticket, if there are any unresolved bugs associated to it.

Expand

...

...

  • Add

...

  • the Linked Issue Status

...

  • condition to

...

  • the Resolve transition.

...

  • Select is blocked by

...

  •  as the Issue Link Type

...

  • Select Bug

...

  •  as the Issue Type

  • Select the "Resolved" status

...

Build-your-own (scripted) Condition

This condition can be used to hide/show a transition based on a Jira expression

Sample use cases:

(lightbulb) Only the Reporter of the issue should be able to close the service ticket. 

...

titleSteps

...

Write this content in the Jira expression.

Code Block
user == issue.reporter

(lightbulb) Hide the transition from the current user if he does not belong to the Approvers

...

titleSteps

...

Write this content in the Jira expression.

Code Block
!! issue.customfield_10002 && issue.customfield_10002.some(it => it == user)

(lightbulb) Block a specific transition when the Time to resolution is breached.

Expand
titleSteps
  • Add the Build-your-own (scripted) condition to the transition you wish to hide
  • Write this content in the Jira expression.

    Code Block
    !! issue.customfield_10102 && (!issue.customfield_10102.ongoingCycle || !issue.customfield_10102.ongoingCycle.breached)

    where customfield_10101 is the id of the Time to resolution field.

(lightbulb) Prevent the users from "Return/Exchange" on the purchase order after 15 days from the item delivery date

...

titleSteps

...

Write this content in the Jira expression.

Code Block
new Date().minusDays(15) < issue.created

(lightbulb) Enable the "Start Progress" only on issues in the current sprint

...

titleSteps

Add the Build-your-own (scripted) validator to the Start Progress transition.

...

Name the validator as “Check Sprint”

Write the following script in Jira expression field

...

  • from Statuses