Skip to main content

πŸ“‚ Workflow Extensions

Overview​

Workflow Extensions is a Forge app that enhances Jira Cloud workflows by adding three powerful workflow extensions:

  • βœ… Condition – control visibility of transitions
  • βœ… Validator – enforce rules before transition
  • βš™οΈ Post Function – automate actions after transition

All extensions are powered by Jira Expressions, allowing flexible, dynamic logic without external infrastructure.


Features​

Add Comment (Post Function)​

Automatically adds a comment to the issue when a transition is executed.

Key capabilities:

  • Add static or dynamic comments
  • Use Jira Expressions to generate content
  • Reference issue fields, user, or transition data

Jira Expression Validator​

Validates whether a transition should be allowed.

Behavior:

  • The transition proceeds only if expression = true
  • If false β†’ transition is blocked

Typical use cases:

  • Ensure required fields are filled
  • Validate issue relationships
  • Restrict transitions based on user roles

Jira Expression Condition​

Controls whether a transition is visible to the user.

Behavior:

  • Transition button is shown only if expression = true
  • If false β†’ transition is hidden

Typical use cases:

  • Show transitions only to specific users
  • Conditional workflow paths
  • Context-aware UI behavior

Module Details​


Post Function​

Key: add-comment-post-function Name: Add Comment (Workflow Extensions) Description: Adds a comment to the issue after a transition.

Configuration​

FieldDescription
CommentText or Jira Expression result

Example​

`Transition executed by ${user.displayName}`

Behavior​

  • Runs after transition execution
  • Comment is added as the current user (or app user, depending on config)

Validator​

Key: jira-expression-validator Name: Jira Expression Validator (Workflow Extensions) Description: Validates transitions using a Jira Expression.

Configuration​

FieldDescription
ExpressionJira Expression returning boolean
Error messageMessage shown if validation fails

Example​

issue.fields.priority != null

Behavior​

  • If expression returns true β†’ transition allowed
  • If false β†’ blocked with error message

Condition​

Key: jira-expression-condition Name: Jira Expression Condition (Workflow Extensions) Description: Controls transition visibility using a Jira Expression.

Configuration​

FieldDescription
ExpressionJira Expression returning boolean

Example​

user.groups.includes("jira-administrators")

Behavior​

  • true β†’ transition visible
  • false β†’ transition hidden

Jira Expression Context​

All expressions can use standard Jira Expression context objects:

  • issue
  • user
  • project
  • transition
  • now

πŸ‘‰ Example:

issue.assignee == user

Permissions & Data Storage​

  • βœ… Runs entirely on Atlassian Forge

  • βœ… No external database

  • βœ… Data stored in:

    • Jira configuration
    • Forge storage (if needed)

Security & Compliance​

  • No external API calls required
  • No personal data stored outside Atlassian
  • Fully compliant with Forge security model

Installation​

Install Workflow Extensions from the Atlassian Marketplace and follow the steps below to add an extension to a Jira workflow.

  1. Install the app from the Atlassian Marketplace.
  2. Go to Jira Settings β†’ Issues β†’ Workflows.
  3. Click Edit on the workflow you want to extend.
  4. Select a transition and open its Rules (Post Functions, Validators, or Conditions tab).
  5. Click Add and search for the Workflow Extensions rule you want to add.
  6. Configure the Jira Expression in the rule settings and save.

Example Use Cases​

Example 1: Require assignee before Done​

Validator:

issue.assignee != null

Example 2: Only managers can close issues​

Condition:

user.groups.includes("managers")

Example 3: Auto comment on transition​

Post Function:

`Status changed to ${issue.status.name} by ${user.displayName}`

Limitations​

  • Jira Expressions must be valid and safe
  • Complex logic may affect performance
  • No async operations inside expressions

Future Roadmap (optional for Marketplace)​

  • Expression templates
  • UI builder for expressions
  • Debugging tools
  • Audit logs for workflow executions