Skip to content

Bitbucket Pipelines

CodeCharter in Bitbucket Pipelines integrieren.

bitbucket-pipelines.yml:

image: mcr.microsoft.com/dotnet/sdk:9.0

pipelines:
  default:
    - step:
        name: CodeCharter
        caches:
          - codecharter
        script:
          - curl -sSL -H "Authorization: Bearer $CODECHARTER_API_KEY" \
              -o codecharter.tar.gz \
              https://codecharter.tools/api/v1/cli/linux-x64/1.4.0
          - mkdir -p /opt/codecharter && tar -xzf codecharter.tar.gz -C /opt/codecharter
          - chmod +x /opt/codecharter/codecharter
          - export PATH="/opt/codecharter:$PATH"
          - codecharter analyze . --fail-on error --output console
        artifacts:
          - codecharter.sarif

definitions:
  caches:
    codecharter: ~/.cache/codecharter

API-Key

In Bitbucket: Repository settings → Repository variables, Variable CODECHARTER_API_KEY anlegen, "Secured" aktivieren.

PR-Annotations via Bitbucket Reports API

Optional könnt ihr die Findings als Bitbucket Code Insights posten. CodeCharter hat dafür keinen direkten Konverter, aber das JSON-Format ist gut handzuhaben:

- codecharter analyze . --output json --output-file findings.json
- # Wandle findings.json in Code-Insights-API-Calls um
- python3 ./scripts/publish-to-bitbucket-insights.py findings.json

Caching

Der caches: codecharter-Block oben mit der Custom-Cache-Definition unten persistiert ~/.cache/codecharter zwischen Pipelines.

Versions-Pinning

Wie immer empfohlen: konkrete CLI-Version pinnen, siehe Versionierung.