-
Type:
Suggestion
-
Resolution: Unresolved
-
Component/s: Space - Settings - Versions, Work Item - Releases
-
None
-
1
Current behavior
In Jira Cloud, users must manually monitor the status of issues within a version to determine when it is ready for release. This involves regularly checking the Releases page or setting up custom scripts, which can be time-consuming and inefficient. Currently, there is no built-in feature to automatically notify users via email when all issues in a version are resolved and the version is ready for release.
Expected behavior
Jira Cloud should provide a built-in feature that allows automatic email notifications to be sent to designated users when all issues in an unreleased version are resolved. This feature should be configurable to allow users to select which versions to monitor and who should receive the notifications. The notification/email should include details such as the version name, a list of resolved issues, and links to the issues for easy access.
Potential Impact
- Efficiency gains
Eliminates the need for manual checks, saving time and reducing the administrative burden on project managers and release coordinators
- Improved accuracy
Reduces the risk of human error associated with manual monitoring, ensuring timely and accurate releases
- Enhanced productivity
Allows team members to focus on other high-priority tasks rather than continuously checking the status of versions
- User satisfaction
Improves the user experience by streamlining the release process and ensuring stakeholders are promptly informed when a version is ready.
Workaround #1 (Monitor the earliest unreleased version)
Currently, users can use Jira Automation as a workaround; this workaround will only monitor the earliest unreleased version. Here’s a brief guide for creating the automation rule:
1) Trigger
Set the rule to trigger when work items (issues) transition to resolved statuses (e.g., "Done", "Completed", "Canceled").
2) JQL Condition
Add a condition to check if the transitioned work items (issue) are part of the earliest unreleased version using this JQL:
fixVersion = earliestUnreleasedVersion()
3) Lookup Issues
Use the "Lookup issues" action to identify all work items (issues) in the earliest unreleased version and check if any remain unresolved:
fixVersion = earliestUnreleasedVersion() AND status NOT IN (Done, Completed, Canceled)
4) Conditional check
Use an "Advanced compare condition" to ensure that {{lookupIssues.size}} equals 0, indicating all work items (issues) related to that version are resolved
5) Email notification
Configure an email action to notify designated users. The email could include the version name and a list of resolved issues:
<h2>Version Ready for Release!</h2> <p>All issues in version <strong>{{issue.fixVersions.name}}</strong> have been resolved. You can now proceed with the release.</p> <ul> {{#lookupIssues}} <li><a href="{{url}}">{{key}}: {{summary}}</a></li> {{/}} </ul> <strong>Happy release!</strong>
Workaround #2 (Monitor all unreleased versions)
This workaround will monitor all unreleased versions. Here’s a brief guide for creating the automation rule:
1) Trigger
Set the rule to trigger on schedule and define it to run a JQL for example, for the work items (issues) that were completed in the past 24 hours or in specific projects
2) Advanced branching
Create an advanced branching to store the name of each related version (we'll need this later in the automation). Craft the branching in this way:
Smart value:
{{issue.fixVersions.name}}
Variable name:
fixVersion
3) Related work items condition
Within the branch, include a Related work items condition to check if all the work items (issues) related to each unreleased version are already in a completed status.
Related work items:
JQL Work items
Related work items JQL:
fixVersion = "{{fixVersion}}"
Condition:
All match specified JQL
Matching JQL:
status IN (Done, Completed, Canceled)
4) Email notification
For each version where all its related work items (issues) are in a completed status, define the email that must be sent. Example:
<h2>Version Ready for Release!</h2> <p>All issues in version <strong>{{issue.fixVersions.name}}</strong> have been resolved. You can now proceed with the release.</p> <ul> {{#lookupIssues}} <li><a href="{{url}}">{{key}}: {{summary}}</a></li> {{/}} </ul> <strong>Happy release!</strong>