We have a risk register in Jira 8 and link each risk issue to specific repositories in Bitbucket. When a CI pipeline fails (build or deployment), we want the linked risk item to automatically transition from “Monitoring” to “Active Risk” status.
We’ve set up Bitbucket webhooks to send build events to Jira, but the risk workflow doesn’t update. Our current approach uses Jira’s development information panel to track builds, but we’re not sure if that’s sufficient to trigger workflow transitions. We also tried a custom field build_status populated via ScriptRunner, but our JQL filters for risk dashboards don’t reflect real-time CI failures:
project = RISK AND build_status = "failed" AND status = "Monitoring"
This query returns zero results even when we know pipelines have failed. Should we be using Jira Automation rules to listen to development events, or is there a better pattern for linking risk workflow to CI build status? Our risk dashboards are critical for compliance reporting, so we need accurate, automated status updates.
Jira’s development information panel tracks builds, but it doesn’t automatically trigger workflow transitions-that’s by design. You need to use Jira Automation to listen to build events and transition issues. Create an automation rule with a “Build status changed” trigger, filter for failed builds, and add a “Transition issue” action to move from Monitoring to Active Risk. Make sure the automation rule is scoped to your RISK project.
Double-check your Bitbucket webhook configuration. The webhook needs to send build events to Jira’s REST API endpoint (/rest/builds/1.0/), not just a generic webhook receiver. If you’re using Bitbucket Server, ensure the Jira integration plugin is installed and linked. Also, Jira 8 has known issues with parsing build events from certain Bitbucket versions-verify that your Bitbucket version is compatible with Jira 8’s development information API.
Your custom field approach might be hitting indexing delays. When ScriptRunner updates build_status, Jira’s search index isn’t updated immediately-it can take a few minutes depending on your instance load. Try reindexing the RISK project or use a scheduled JQL refresh in your dashboard. Also, verify that ScriptRunner’s listener is actually firing when Bitbucket webhooks arrive. Check the ScriptRunner audit log for errors.
Another consideration: if your Bitbucket and Jira instances are on different networks or behind firewalls, webhook delivery might be failing silently. Use Bitbucket’s webhook delivery history to verify that events are actually reaching Jira. We discovered our corporate proxy was blocking webhooks, so we had to whitelist Jira’s IP range in our network config.