Skip to main content
1

Configure an auth profile

Run the interactive login wizard to create a named profile with connection details for each Atlassian product.
cops auth login
The wizard prompts you for a profile name, then walks through each product (Jira, Confluence, Bitbucket, Bamboo). For each one you want to configure, provide the base URL and your credentials.
Profile name (e.g. dc-prod): dc-prod
Configure jira? (y/n): y
  jira base URL (e.g. https://jira.company.com): https://jira.example.com
  jira auth type [bearer/basic] (default: bearer): bearer
  jira PAT/token: ********
Configure confluence? (y/n): y
  ...
Supported auth types:
  • bearer (default) — Personal Access Token sent as Authorization: Bearer <pat>
  • basic — username and token sent as Authorization: Basic <base64>
After saving, list your profiles and confirm which is active:
cops auth profiles
To switch to a specific profile:
cops auth use dc-prod
cops auth login sets the newly created profile as the current profile automatically. You only need cops auth use when switching between multiple profiles.
2

Run a quick product command

With an auth profile active, query any of the four supported products directly.
# Get a single issue
cops jira issue get ABC-123

# Search by JQL with JSON output
cops jira issue search --jql "project = ABC AND sprint in openSprints()" --output json

# Get fixVersion release status (minimal API calls)
cops jira release status --project ABC --fixVersion 2026-04-17 --output json
All data commands support three output formats via the --output flag:
FlagDescription
--output tableHuman-readable table (default)
--output jsonEnveloped JSON with schemaVersion: "v1" — suitable for scripts and automation
--output markdownMarkdown — suitable for pasting into wikis or PR descriptions
You can also send a natural-language query to the Devin CLI assistant integration:
cops ask "What is the status of the story ABC-123?"
cops ask requires the Devin CLI to be available and configured. All other commands work independently.
3

Initialize a release config

cops uses a per-project config file (cops.project.json) to define which release gates to run. Generate one from a built-in template:
cops init --template backend-service
By default this writes cops.project.json to the global config directory (~/.config/cops/ on Linux/macOS, %APPDATA%\cops\ on Windows). To write it into the current working directory instead:
cops init --template backend-service --target local
Open the generated file and fill in your real project keys, page IDs, plan keys, and repo names.Validate that the policy is structurally correct before running checks:
cops release policy validate --project backend-service
Then run all configured gates:
cops release check --all --project backend-service
Supported gate types include jira-stories-exist, confluence-page-freshness, bitbucket-release-branch-exists, bamboo-latest-build-success, and others. See the configuration guide for the full list.
Use cops release summary --project backend-service for a cross-product readiness overview without running individual gates.
4

Generate and validate release evidence

Once gates pass, generate a versioned evidence artifact that captures the state of each gate at release time:
cops release evidence generate --project backend-service --outDir output
This writes two files to output/:
  • release-evidence-backend-service.json — structured evidence envelope (schemaVersion: "v1")
  • release-evidence-backend-service.md — human-readable Markdown summary
Validate the JSON artifact against the v1 contract:
cops release evidence validate --file output/release-evidence-backend-service.json --strict
The --strict flag treats any gate that did not pass as a validation failure. Omit it to validate the schema only.
cops release evidence diff \
  --previous output/release-evidence-backend-service-prev.json \
  --current output/release-evidence-backend-service.json
Evidence files use a stable schemaVersion: "v1" JSON envelope. You can safely consume them in scripts, dashboards, or compliance workflows without worrying about breaking changes between cops versions.

Next steps

Command reference

Full reference for every cops command, flag, and alias.

Configuration guide

Auth profile storage, project config precedence, and all supported gate types.

Build docs developers (and LLMs) love