Capability Library · Pack detail

bitbucket v1.0.0

Bitbucket Cloud: list workspace repositories, pull requests and pipelines, approve a pull request, and trigger a pipeline.

Review state: draft· Not in the distributable release manifest

Release identity

SHA-256 of the pack file bytes: 1c015c114e4691a44ef4d7a618086842cd07e0306027c82ca2b9c0d83ff2876a

Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.

Capabilities (5)

bitbucket.repositories.read v1.0.0R0

Action
read
Endpoint
GET https://api.bitbucket.org/2.0/repositories/WORKSPACE
Connector
http
Custody
customer_vault
Credential ref
secret-ref-bitbucket-api-token
Data class
internal

List repositories in one workspace via GET /2.0/repositories/WORKSPACE. The registered path covers the collection read only — single repository records, workspace membership, and workspace-level settings are not registered by this pack. WORKSPACE is a placeholder the deployment binds to a concrete workspace before enabling.

bitbucket.pullrequests.read v1.0.0R0

Action
read
Endpoint
GET https://api.bitbucket.org/2.0/repositories/WORKSPACE/REPO_SLUG/pullrequests
Connector
http
Custody
customer_vault
Credential ref
secret-ref-bitbucket-api-token
Data class
internal

List pull requests for one repository via GET /2.0/repositories/WORKSPACE/REPO_SLUG/pullrequests. The registered path covers the collection read only — single pull request records, diffs, comments, and activity reads are not registered by this pack. WORKSPACE and REPO_SLUG are placeholders the deployment binds to concrete values before enabling.

bitbucket.pipelines.read v1.0.0R0

Action
read
Endpoint
GET https://api.bitbucket.org/2.0/repositories/WORKSPACE/REPO_SLUG/pipelines
Connector
http
Custody
customer_vault
Credential ref
secret-ref-bitbucket-api-token
Data class
internal

List pipelines for one repository via GET /2.0/repositories/WORKSPACE/REPO_SLUG/pipelines. The registered path covers the collection read only — single pipeline records, step details, and log reads are not registered by this pack. WORKSPACE and REPO_SLUG are placeholders the deployment binds to concrete values before enabling.

bitbucket.pullrequest.approve v1.0.0R3

Action
approve
Endpoint
POST https://api.bitbucket.org/2.0/repositories/WORKSPACE/REPO_SLUG/pullrequests/PULL_REQUEST_ID/approve
Connector
http
Custody
customer_vault
Credential ref
secret-ref-bitbucket-api-token
Data class
internal

Approve a pull request via POST /2.0/repositories/WORKSPACE/REPO_SLUG/pullrequests/PULL_REQUEST_ID/approve. Bitbucket documents this call as recording the caller's approval, which typically counts toward merge checks — the capability is registered as approve at the R3 floor, and approve is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), so an irreversible action cannot be taken without a person. A documented unapprove endpoint exists, but this pack does not register it, so reversing an approval is outside this pack and this pack claims no general reversibility. WORKSPACE, REPO_SLUG and PULL_REQUEST_ID are placeholders the deployment binds to concrete values before enabling.

bitbucket.pipeline.trigger v1.0.0R3

Action
deploy
Endpoint
POST https://api.bitbucket.org/2.0/repositories/WORKSPACE/REPO_SLUG/pipelines
Connector
http
Custody
customer_vault
Credential ref
secret-ref-bitbucket-api-token
Data class
internal

Trigger a pipeline for one repository via POST /2.0/repositories/WORKSPACE/REPO_SLUG/pipelines. Bitbucket documents that the request body carries the caller-chosen target (branch, tag, commit or pull request), selector and variables, and its Run-a-pipeline reference documents an on-demand pipeline form whose request body is a full caller-supplied YAML definition (sent as application/yaml, with the target metadata in query parameters) that overrides the repository's bitbucket-pipelines.yml for that run — so the caller chooses the commands that run, not merely which existing pipeline starts, and an installer's intention is not a restriction. That effect-widening, together with the provider's own description of pipelines as build, test and deploy infrastructure, is why the capability is registered as deploy at the R3 floor, and deploy is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), so an irreversible action cannot be taken without a person. A triggered pipeline is outwardly visible, consumes billable build minutes, and any deployment it performs cannot be undone by this pack. WORKSPACE and REPO_SLUG are placeholders the deployment binds to concrete values before enabling.

Credential reference

The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.

Reference
secret-ref-bitbucket-api-token
Custody
customer_vault
Injection
header (Authorization)

An Atlassian account API token for Bitbucket Cloud, held in the client's own secret manager. The stored material must be the complete Authorization header value: the word Basic, one separating space, then the base64 encoding of <atlassian-account-email>:<api-token>. Bitbucket documents that API tokens authenticate with HTTP Basic per RFC 2617 using the account email address as the username and the token as the password, that an expiry date is required at token creation with a maximum lifetime of one year, and that a token cannot be viewed or adjusted after creation — rotation means creating a new token and updating the stored value, and deleting a token in the Atlassian account settings invalidates that issued token. App passwords are deprecated by the provider and must not be substituted. Request the least-privilege scopes: read:repository:bitbucket, read:pullrequest:bitbucket and read:pipeline:bitbucket cover the three read capabilities; pullrequest.approve additionally needs write:pullrequest:bitbucket and pipeline.trigger additionally needs write:pipeline:bitbucket — scopes do not imply one another, so grant the write scopes only where the R3 capabilities are enabled, and nothing broader. Renewal ownership sits with an external deployment process: the executor injects the stored value verbatim and performs no token lifecycle itself, and it must never substitute a different credential without an approved pack change. Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • bitbucket-workspace (api, internal): https://api.bitbucket.org/2.0/repositories/WORKSPACE
  • bitbucket-repository (repo, internal): https://api.bitbucket.org/2.0/repositories/WORKSPACE/REPO_SLUG

Pack notes and exclusions

The registered host is api.bitbucket.org (Bitbucket Cloud). Bitbucket Data Center is a different product with its own host and API surface: this pack does not cover it, and a Data Center deployment needs its own separately reviewed pack rather than a host substitution into this one. WORKSPACE, REPO_SLUG and PULL_REQUEST_ID in the endpoint paths are placeholders the deployment substitutes with concrete values at registration time, before enabling: the pack is installed with the concrete paths it will actually call, not rebound per request. This pack registers only endpoints the public Bitbucket Cloud REST API documentation describes: listing a workspace's repositories, listing a repository's pull requests, listing a repository's pipelines, approving a pull request, and triggering a pipeline. Documented exclusions: pull request create, update, merge, decline, request-changes and comments (a comment notifies watchers and is judged by its documented effect), pipeline stop, pipeline schedules, deployment endpoints, repository variables, runners, SSH keys, webhooks, branch restrictions, and every endpoint outside the registered list — a documented exclusion, not an approximated capability; each addition is a pack change and requires its own review. Tiering rationale: reads sit at the R0 floor. pipeline.trigger is registered as deploy at the R3 floor because Bitbucket documents that the request body carries the caller-chosen target (branch, tag, commit or pull request), selector and variables, and its Run-a-pipeline reference documents an on-demand pipeline form whose request body is a full caller-supplied YAML definition (sent as application/yaml, with the target metadata in query parameters) that overrides the repository's bitbucket-pipelines.yml for that run — so the caller chooses the commands that run, not merely which existing pipeline starts, and an installer's intention is not a restriction; deploy is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer). pullrequest.approve is registered as approve at the R3 floor because the approval is recorded under the caller's identity and typically counts toward merge checks, and approve is one of the IRREVERSIBLE ACTIONS. AAES has not been certified by Atlassian; reviewable default, not a vendor guarantee.

Review record

Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)

A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.