Version 1.3.0
Released: March 2026
Jira DC: 10.3.0 – 10.7.x
Adds two new dashboard gadgets for project-level approval oversight, non-destructive plugin disable, improved gadget status filters, and removal notifications for approvers.
New Features
Approval Status Overview Gadget
- New project-scoped dashboard gadget showing a summary of issue approval statuses across a project
- Displays counts and breakdowns by overall status: Awaiting Decisions, Approval Passed, Approval Failed
- Optional grouping by issue type for detailed visibility
- Configurable filters: project, Jira workflow status, include/exclude issues with no approvers
- Completion percentage and pass rate metrics computed in real-time
- Auto-refresh interval support
Approval Cycle Metrics Gadget
- New project-scoped dashboard gadget displaying process health metrics from the approval audit trail
- Key performance indicators: average time-to-decision, first-attempt approval rate, return rate, SoD violation rate
- Configurable date ranges: 7, 30, 90, 365, or 730 days
- Filter by all issues or completed issues only
- Helps process owners identify bottlenecks and measure approval efficiency
Notify Approver on Removal
- Approvers now receive an email notification when removed from an issue
- Conditional logic based on approver status: PENDING, APPROVED, and RETURNED approvers are always notified; ADDED approvers are notified only if the “email on add” setting is enabled
- Closes the communication loop for approvers who were expecting to act on an issue
Enhancements
Non-Destructive Plugin Disable
- Removed the “Remove all pending approvers” option from both global and project disable flows
- Disabling the plugin now never deletes approver data — all existing approvers, decisions, and audit history are preserved
- Two remaining disable options: “Allow pending approvals to finish” (finishing mode) and “Disable plugin completely”
- Aligns DC behavior with the Forge version of the plugin
My Approvals Gadget — “Added” Status Filter
- New “Added (not yet notified)” filter option in the My Approvals gadget status dropdown
- Narrows existing “Pending (needs my action)” filter to match only PENDING approvers (previously included both ADDED and PENDING)
- Default selection remains “Pending” for the most actionable view
- Separates approvers who haven’t been notified from those actively awaiting a decision
Version 1.2.0
Released: February 2026
Jira DC: 10.3.0 – 10.7.x
Adds “Not Started” approval status, Jira Audit Log integration, My Approvals dashboard gadget, improved notification controls, and approver workflow refinements.
New Features
My Approvals Dashboard Gadget
- New dashboard gadget showing issues where the logged-in user is an approver
- Configurable filters for approval status (Pending, Approved, Returned, All), project, and max results
- Auto-refresh interval to keep the approver inbox current
“Not Started” Approval Status
- New fourth overall approval status for issues where approvers have been added but none notified
- Grey “Not Started” lozenge displayed in the panel and BSO – Status custom field
- Completes the four-state lifecycle: Not Started → Awaiting Decisions → Approval Passed / Returned
- JQL support:
"BSO - Status" = "Not Started"
Jira Audit Log Integration
- Administrative actions now appear in the Jira Audit Log (System > Audit Log)
- Structured events with from/to change tracking for configuration changes
- Audited actions: global and project config changes, plugin disable transitions, CSV export start/download, debug logging toggles
- No event emitted on no-op saves (avoids audit noise)
Selective Reset Decisions by Role/Group
- New workflow post-function that resets approver decisions based on project role or group membership
- Useful in multi-stage workflows where backward transitions should only reset the relevant stage’s approvals
- Supports OR logic (match either role or group), fail-closed when no filters configured
Three-Option Notify Dialog
- Notify Approvers dialog now offers three options:
- Notify new approvers only — emails only approvers in ADDED status
- Notify all new and pending approvers — emails all undecided approvers
- Reset all decisions and notify all approvers — clears decisions and re-notifies everyone
- Smart defaults select the most appropriate option based on current approver states
Hide Decision Buttons for Added Approvers
- Approve/Return buttons hidden for approvers not yet notified (ADDED status)
- Informational message shown: “Once notified, you can approve or return this issue.”
- Buttons appear automatically after the approver is notified
- Server-side hardening rejects decision attempts from un-notified approvers
Enhancements
Distinguish Add Notify from Review Notify
- Audit history now differentiates “you’ve been added” notifications (badge: ADD NOTIFY) from “please review” notifications (badge: NOTIFIED)
- Previously both appeared as identical NOTIFIED entries
Version 1.1.0
Released: February 2026
Jira DC: 10.3.0 – 10.7.x
Adds decision locking, decision authority controls, enhanced workflow validators, panel layout improvements, and Jira 10.5+ compatibility fixes.
New Features
Lock Decisions After Status Change
- Approval decisions can now be locked when the issue transitions to a new workflow status
- Once locked, approvers cannot change their decision unless the issue returns to the original status
- Configurable at global and project levels with project override support
- Reset post-function respects decision locks (silently skips locked approvals)
Decision Authority Setting
- New “Require Edit permission to decide” setting controls who can record approval decisions
- When enabled (default), approvers must have Jira Edit Issues permission on the project
- When disabled, any user with Browse permission can approve (useful for read-only stakeholders)
- Configurable at global and project levels with project override support
- Fail-closed enforcement: if permission check fails unexpectedly, the decision is denied
Selective Notify Approvers by Role/Group
- New workflow post-function: “Notify Approvers by Role/Group”
- Selectively notifies only pending approvers matching specified project roles or groups
- Supports OR logic (match either role or group), multi-role and multi-group selection
- Fail-closed: if no filters configured, no approvers are notified
- Works in Finishing Mode (no plugin enabled check)
Enhancements
Enhanced Group/Role Approval Validator
- Two-tier evaluation: existence check (are enough approvers assigned?) then approval check (are enough approved?)
- Explicit
minApproved count per rule — set exact number of required approvals
- Threshold-percentage fallback when
minApproved is omitted — uses the project’s effective approval threshold
- Backward compatible with existing validator configurations
Approver Panel Layout
- Redesigned compact Cloud-inspired panel layout
- Merged two-row header into single row
- Improved approver card layout with avatar display
- Relocated decision locked badge for better visibility
Notify Approvers Dialog
- Updated dialog UI for notifying approvers
Audit History Dialog
- Updated dialog UI for viewing approval history
SoD Violation in CSV Export
- CSV audit export now includes a column indicating whether the approval violates strict Separation of Duties rules
Bug Fixes
- Fixed decision authority check using fail-open pattern (changed to fail-closed)
- Fixed null user handling in Edit permission check
- Fixed setup-permissions.sh to update all permission schemes (not just the first one matching “Default”)
Compatibility
Jira 10.5+ Velocity Allowlist Fix
- Fixed Velocity method allowlist that was entirely disabled on Jira 10.5+ due to invalid
ImmutableGroup entry
- Removed invalid
<allow> XML elements (replaced with proper <method> syntax)
- Added missing allowlist entries for
HtmlEncoder.encode() and SignoffProjectConfigAction methods
- Plugin now loads and renders correctly on Jira 10.5, 10.6, and 10.7.x
Version 1.0.0
Released: January 2026
Jira DC: 10.3.0 – 10.4.x
Initial release of Business Sign-off for Jira Data Center. Adds structured approval workflows, audit-grade history tracking, and configurable governance controls to Jira issues.
Approval Workflow
- Add and remove approvers on any Jira issue via the sign-off panel
- Record approval or return decisions with optional comments
- Configurable approval thresholds (50% – 100%) at global and project levels
- Automatic status calculation: Pending, Approved, Returned, Partially Approved
- Email notifications to approvers when added or when decisions are needed
Governance & Compliance
- Separation of Duties (SoD) enforcement — reporters and assignees excluded from approving
- Eligible approver filters by project role or group membership
- Configurable comment requirements (all decisions, approvals only, returns only)
- Global finishing mode to freeze all approvals across projects
- Protection against removal of decided approvers (admin override available)
Custom Fields
- BSO - Approvers — multi-user field with type-ahead search, synced with sign-off panel
- BSO - Approval Status — text field with JQL autocomplete, synced with approval decisions
- Full JQL support for filtering and reporting on approval status
- Approver selection on create-issue screen with real-time eligibility validation
Audit & Export
- Complete approval history log with action tracking (added, removed, approved, returned)
- CSV export of audit history with date-range and multi-issue filtering
- Async background export with progress tracking for large datasets
- History pagination and summary endpoints
Workflow Integration
- Workflow conditions: require approval status before transitions
- Workflow validators: enforce approval thresholds at transition time
- Workflow post-functions: trigger notifications and status updates on transitions
Data Center Ready
- Cluster-safe architecture with distributed locking and shared storage
- Node-local log level synchronization across cluster nodes
- ActiveObjects-backed persistence for all plugin data
- Automatic cleanup of orphaned data on issue and project deletion
Administration
- Global configuration panel for plugin-wide settings
- Per-project configuration with override capabilities
- Debug logging controls with automatic expiry (1 min – 24 hours)
- License management with expiry notifications and grace period handling
- REST API for all operations (
/rest/bso-signoff/1.0/)
← Back to Documentation