cops.project.json, then run against live Atlassian Data Center APIs at release time. This page walks through the full workflow from initial setup to auditable evidence.
End-to-end release workflow
Create a release config from a template
Generate a To write it into the current directory instead (useful for repo-local configs):The generated file contains a full set of gates, most of them disabled. You enable and configure only the ones relevant to your project.
cops.project.json in the global config directory using a built-in template:Fill in your project details
Open the generated See Configuration for full documentation of every field.
cops.project.json and replace the placeholder values with your actual project identifiers:Validate the release policy
Before running live checks, validate that the config is structurally correct:This catches duplicate gate IDs, unsupported gate types, missing required parameters, and invalid values. Fix any errors before proceeding.
Run all release gates
Execute all enabled gates against the live APIs:Each gate returns one of four statuses:
Resolve any blocking gates before generating evidence.
| Status | Meaning |
|---|---|
pass | Gate condition met |
warn | Gate condition not met, but severity is low or medium (non-blocking) |
fail | Gate condition not met and severity is high or critical (blocking) |
waived | Gate failed but a valid waiver is in place |
Generate release evidence
Once all required gates pass, generate a timestamped evidence artifact:This writes two files to
output/:release-evidence-my-service.json— structured JSON evidence envelope (schemaVersion: "v1")release-evidence-my-service.md— human-readable Markdown summary
Fast Jira release snapshot
When you only need Jira release state and issue status rollups for a fixVersion — without running the full gate policy — usejira release status. It is optimised to make a minimum number of API calls:
--project (key) or --projectName. The command makes:
- 1 API call for project versions (to resolve
released/unreleasedstate) - 1 API call for issue search (plus pagination only when issue count exceeds
--pageSize)
Operational readiness checklist
Before distributing a release tarball, run the operational checklist to verify your local working tree is ready:CHANGELOG.mdpresence and a populated## [Unreleased]sectionverifyandpackscripts inpackage.json- CI workflow file presence
- A built tarball ready for distribution
