π 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β
| Field | Description |
|---|---|
| Comment | Text 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β
| Field | Description |
|---|---|
| Expression | Jira Expression returning boolean |
| Error message | Message 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β
| Field | Description |
|---|---|
| Expression | Jira Expression returning boolean |
Exampleβ
user.groups.includes("jira-administrators")
Behaviorβ
trueβ transition visiblefalseβ transition hidden
Jira Expression Contextβ
All expressions can use standard Jira Expression context objects:
issueuserprojecttransitionnow
π 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 app from Atlassian Marketplace
-
Go to Jira Settings β Workflows
-
Edit a workflow
-
Add:
- Condition
- Validator
- Post Function
-
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