Skip to main content

πŸ“‚ Workflow Extensions

Overview​

FlowForge for Jira 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 (FlowForge for Jira) 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 (FlowForge for Jira) 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 (FlowForge for Jira) 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​

  1. Install app from Atlassian Marketplace

  2. Go to Jira Settings β†’ Workflows

  3. Edit a workflow

  4. Add:

    • Condition
    • Validator
    • Post Function
  5. Configure expressions


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