Backlog-mgmt rules for enforcing Bitbucket branch naming fro

We use a backlog-management rule that enforces branch naming conventions tied to Jira issue keys. When developers create branches in Bitbucket, the branch name must follow the pattern feature/PROJ-123-description or bugfix/PROJ-456-description. This ensures traceability between code changes and backlog items.

After migrating to Jira Data Center, our branch validation stopped working. Developers can now create branches with any name, breaking our traceability requirements. The automation rule that checks branch names against patterns seems to never trigger.

Our rule uses this regex pattern:


^(feature|bugfix|hotfix)/[A-Z]+-\d+-.+$

The DVCS connector between Jira DC and Bitbucket Server shows as “Connected” in application links, and we can see commit information flowing into Jira issues. But webhook events for branch creation don’t seem to reach our automation rules. We’re behind a load balancer, which might be affecting webhook delivery. How do we configure backlog rules that depend on Jira issue keys to work reliably in a Data Center environment with Bitbucket integration?

You need to understand how Jira DC integrates with Bitbucket for backlog management enforcement. The issue is that you’re mixing two different integration mechanisms.

DVCS/App Links Between Jira and Bitbucket: The DVCS application link provides commit and pull request data to Jira issues. It works via polling (every few minutes) and handles the “Development” panel in Jira issues. However, it does NOT send real-time branch creation events to Jira automation rules. This is why your backlog rule never triggers - the DVCS connector isn’t designed for that use case.

Branch Permission Regex Patterns: The correct solution is to enforce branch naming in Bitbucket itself, not Jira. Configure branch permissions in each Bitbucket repository:

  1. Go to Repository settings → Branch permissions
  2. Add a branch permission pattern: `{feature,bugfix,hotfix}/*
  3. Enable “Require issue key in branch name”
  4. Set the pattern to require format: `[A-Z]±\d+ This prevents developers from creating branches that don’t match your naming convention at the source control level, which is more reliable than post-creation validation.

Webhook Configuration Behind Load Balancer: If you still want Jira automation rules to react to branch events (for notifications or backlog updates), configure Bitbucket webhooks:

  1. In Bitbucket, go to Repository settings → Webhooks → Add webhook
  2. URL: `https://jira-loadbalancer.company.com/rest/webhooks/1.0/webhook
  3. Events: Select “Branch created”, “Branch deleted”
  4. Secret token: Generate a token and store it in both Bitbucket and Jira webhook configuration

Your load balancer must allow these webhook requests through without requiring authentication, but Jira will validate the secret token.

Backlog Rules Depending on Jira Issue Keys: Once webhooks are configured, create a Jira automation rule:

  • Trigger: Webhook received (branch created event)
  • Condition: Branch name matches regex `^(feature|bugfix|hotfix)/{{issue.key}}-.*$
  • Action: Add comment to linked issue or update backlog status

The key insight: Use smart value {{webhookData.branch.name}} to extract branch name from the webhook payload, then validate it contains the issue key.

For Data Center specifically, ensure your automation rules are set up as global rules (not project-specific) so they trigger regardless of which node receives the webhook. The combination of Bitbucket branch permissions (preventive control) and Jira automation rules (reactive monitoring) gives you complete traceability while working reliably in a DC clustered environment.

The load balancer is definitely a factor here. Bitbucket webhooks need special configuration in DC environments. Your load balancer must support long-lived HTTP connections for webhook delivery, and you need to configure webhook retry logic in Bitbucket in case the initial delivery fails. Also, check if your automation rule is scoped to the correct project - DC automation rules can have different scope than Server rules, and global rules might not trigger for DVCS events.

Check your Bitbucket webhook configuration. In Data Center setups, webhooks need to target the load balancer URL, not individual Jira nodes. If your webhook is pointing to a specific node’s IP address, events might not reach the automation engine consistently.

Branch permission enforcement should really happen in Bitbucket, not Jira. You can configure branch permissions in Bitbucket using regex patterns that require issue keys in branch names. This prevents invalid branches from being created in the first place, rather than trying to validate them after the fact in Jira. Configure it under Repository settings → Branch permissions → Add pattern.