StackGuardian / StackGuardian/tirith

feat(integrations): Bitbucket Cloud Pipe

Open
#308 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
165
Forks
42
Avg merge
1d 3h
Merged PRs (30d)
11

Description

GitHub has the Action and GitLab has a released CI/CD catalog component; Bitbucket Cloud is the
missing surface (Data Center has no Pipelines). The GitHub/Bitbucket asymmetry defines the work:

  • Distribution: there is no pipe marketplace — pipe.yml's image: is a Docker Hub
    coordinate, and discovery is a curated Atlassian catalog reached by a manual process.
  • Reporting: no GITHUB_TOKEN equivalent exists; the Pipelines auth proxy covers only the Code
    Insights API (BCLOUD-21842), so PR-comment/report parity requires a user-supplied token —
    document both tiers (with and without a token).
  • Statuses: Bitbucket has no neutral build status, so the warned→neutral mapping used on
    GitHub needs an explicit decision (warned = successful-with-annotation, or failed).
  • Gating: merge checks count successful builds; a named check cannot be individually
    required, and "prevent merge with unresolved checks" is Premium-only. The zero-config gate that
    works everywhere: --fail-on-error → exit 3 → the step fails → Pipelines records a failed build.
  • Drift decision first: a Pipe would be the third copy of the Action's local-mode logic
    (GitHub Action, GitLab component, Bitbucket Pipe). Either upstream local mode into the Tirith CLI
    and make all three thin wrappers, or accept three copies and carry an anti-drift test that runs
    the same fixture through all three.

Acceptance. A sample Bitbucket Cloud repo runs the same policy set with the same verdict and
exit code as the GitHub Action, gating via the failed-build path with zero config; the
token-optional reporting tiers and the warned-status decision are documented; the drift decision is
recorded (and the anti-drift test exists if three copies is the answer).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The relevant entry points are pipe.yml, the existing GitHub Action and GitLab component local-mode logic, and the Tirith CLI. First resolve whether local mode is upstreamed or duplicated; then validate the Bitbucket Cloud acceptance case for matching verdict and exit code, zero-config failed-build gating, documented token tiers, the warned-status decision, and anti-drift coverage if duplication is chosen.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
ci-cd, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.