Skip to content

Releases: MrRefactoring/bitbucket-codeowners

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 29 Jun 08:13

What's new in 0.1.2

A docs-and-release-process patch — the plugin code is unchanged from 0.1.1 (same behavior, same
bytecode). What changed:

  • Both platform artifacts are now published on every release. A ready-to-install Bitbucket 9.x
    LTS
    jar (-bb9, Java 17) is attached alongside the default 10.x jar (Java 21), so 9.x
    operators no longer need a local -Pbb9 build.
  • Removed the no-op version field from the configuration docs and examples. The parser never
    read it; existing files that still include it keep working (unknown top-level keys are ignored).

Install

Pick the artifact matching your instance, upload it via Administration → Manage apps → Upload
app
, then enable Code Owners Merge Check per repository/project under Merge checks:

Your Bitbucket Download
DC 10.x (Java 21) bitbucket-codeowners-0.1.2.jar
DC 9.x LTS (Java 17) bitbucket-codeowners-0.1.2-bb9.jar

The default .jar is compiled for Java 21 and will not load on a 9.x instance (Java 17) —
use the -bb9 artifact there. Both are built from the same source.

Config reference:
docs/configuration.md
· full list of changes in the
CHANGELOG.

Verified

mvn clean verify green on both profiles — default (Bitbucket 10.3.1 / Java 21) and bb9
(Bitbucket 9.3.0 / Java 17), 37 tests each. Merge-check behavior was live-checked on a Bitbucket
9.3.2 instance in the 0.1.1 cycle and is unchanged here.

License: MIT. Upgrading from 0.1.0 / 0.1.1: drop-in; no config changes required.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 28 Jun 20:37

What's new in 0.1.1

Advisory rules (minApprovals: 0) — model non-mandatory reviewers on the same paths as the
mandatory ones. A rule with minApprovals: 0 still auto-adds its owners as reviewers, but it
never blocks the merge (not even when its owners can't be resolved) and contributes no veto
line
.

rules:
  - paths: ["frontend/**"]
    owners: ["@frontend-seniors"]
    minApprovals: 1          # mandatory: at least one senior must approve
  - paths: ["frontend/**"]   # same paths
    owners: ["@frontend-all"]
    minApprovals: 0          # advisory: added as reviewers, never blocks

On a frontend/** change the whole team is added as reviewers, but only a senior approval
clears the gate — with a single, clear veto message (no redundant line from the advisory rule).

Install

Two artifacts are attached — pick the one matching your platform line, upload it via
Administration → Manage apps → Upload app, then enable Code Owners Merge Check per
repository/project under Merge checks:

Your Bitbucket Download
DC 10.x (Java 21) bitbucket-codeowners-0.1.1.jar
DC 9.x LTS (Java 17) bitbucket-codeowners-0.1.1-bb9.jar

The default .jar is compiled for Java 21 and will not load on a 9.x instance (Java 17) —
use the -bb9 artifact there. Both are built from the same source (identical behavior); you
can also build the 9.x one yourself with mvn -B -Pbb9 clean package.

Config reference:
docs/configuration.md
· full list of changes in the
CHANGELOG.

Verified

mvn clean verify green on both profiles — default (Bitbucket 10.3.1 / Java 21) and bb9
(Bitbucket 9.3.0 / Java 17), 37 tests each — and the advisory behavior was live-checked on a
Bitbucket 9.3.2 instance: a mandatory+advisory pair on the same path blocks with a single veto,
and an advisory-only path merges freely.

License: MIT. Upgrading from 0.1.0: drop-in; no config changes required.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Jun 20:10

First release of Bitbucket Code Owners — a self-hosted, open-source Bitbucket Data Center app
that enforces path-based code ownership with subgroup approval thresholds: the gap native Code
Owners (suggests reviewers only) and native merge checks (global, not path-based) can't close on
their own.

What it does

  • Merge check — blocks a merge until the configured number of approvals from each matched owner
    group is reached for the paths a pull request changes.
  • Subgroup thresholds — express "≥1 senior must approve" by making the owner group contain only
    seniors with minApprovals: 1; a junior's approval does not count.
  • Auto-reviewers — optionally adds the matched owners as reviewers when a PR is opened.
  • Config-as-codecodeowners.yml (or codeowners.yaml) at the repository root, read
    from the PR's target branch, so the rules gating a merge can't be weakened by the same PR.
  • Fail-closed — an invalid config blocks the merge with an explanatory message instead of being
    silently ignored.
# codeowners.yml — at the repository root
version: 1
groups:
  frontend-seniors: { users: [alice, bob] }
rules:
  - paths: ["frontend/**", "**/*.tsx"]
    owners: ["@frontend-seniors"]
    minApprovals: 1
options:
  autoAddReviewers: true
  unmatchedPolicy: allow

Install

The attached bitbucket-codeowners-0.1.0.jar targets Bitbucket DC 10.x (Java 21). Upload it via
Administration → Manage apps → Upload app, then enable Code Owners Merge Check per
repository/project under Merge checks.

Running Bitbucket 9.x LTS (Java 17)? Build the compatible artifact from the same source:

mvn -B -Pbb9 clean package   # -> target/bitbucket-codeowners-0.1.0.jar for Bitbucket 9.x

See docs/deployment.md
and docs/configuration.md.

Verified

mvn clean verify is green on both profiles — default (Bitbucket 10.3.1 / Java 21) and bb9
(Bitbucket 9.3.0 / Java 17), 32 tests each — and the enforcement was live-checked on a Bitbucket
9.3.2 instance (merge blocked until the required owner approval is present).

License: MIT.