CLI Commands
Quick reference for all atlcli commands.
Global Options
Section titled “Global Options”| Flag | Description |
|---|---|
--profile <name> |
Auth profile to use |
--json |
Output as JSON |
--no-log |
Disable logging for this command |
--help |
Show help |
--version |
Show version |
Authentication
Section titled “Authentication”# Interactive setupatlcli auth init # Initialize default profileatlcli auth init --profile work # Initialize named profile
# Non-interactive login (Cloud)atlcli auth login --site <url> --email <email> --token <token>atlcli auth login --profile work --site <url>
# Non-interactive login (Server/Data Center with PAT)atlcli auth login --bearer --site <url> --token <token>atlcli auth login --bearer --site <url> --username <user> # Uses keychain
# Server/Data Center with self-signed or internal CA certificateatlcli auth login --bearer --site <url> --token <token> --ca-file /path/to/ca.pematlcli auth login --bearer --site <url> --token <token> --insecure # Skip verify (testing only)
# Profile managementatlcli auth status # Show current profile statusatlcli auth list # List all profilesatlcli auth switch <name> # Switch active profileatlcli auth rename <old> <new> # Rename profile
# Cleanupatlcli auth logout # Clear active profile credentialsatlcli auth logout <name> # Clear specific profile credentialsatlcli auth delete <name> # Delete profile entirelyatlcli auth delete <name> --delete-keychain # Also delete keychain creds (macOS)Configuration
Section titled “Configuration”# View configurationatlcli config list # Show all config (redacted)atlcli config get defaults.project # Get a specific value
# Set defaults (avoids repetitive flags)atlcli config set defaults.project PROJ # Default Jira projectatlcli config set defaults.space DOCS # Default Confluence spaceatlcli config set defaults.board 123 # Default Jira board ID
# Logging settingsatlcli config set logging.level debug # Set log levelatlcli config set logging.global true # Enable global logs
# Remove settingsatlcli config unset defaults.project # Remove a valueAvailable keys:
| Key | Type | Description |
|---|---|---|
defaults.project |
string | Default Jira project key |
defaults.space |
string | Default Confluence space key |
defaults.board |
number | Default Jira board ID |
logging.level |
string | off, error, warn, info, debug |
logging.global |
boolean | Enable global logs |
logging.project |
boolean | Enable project logs |
Diagnostics
Section titled “Diagnostics”atlcli doctor # Run all health checksatlcli doctor --fix # Auto-fix safe issues (create dirs, etc.)atlcli doctor --json # JSON output for scriptingChecks performed:
- Config file exists and is valid JSON
- At least one profile configured
- Active profile has credentials
- Confluence API reachable and authenticated
- Jira API reachable and authenticated
- Log directory writable
Exit codes: 0 = all passed, 1 = failures detected
Confluence
Section titled “Confluence”atlcli wiki docs init <dir> --space <key> # Initialize sync directoryatlcli wiki docs pull <dir> # Pull from Confluenceatlcli wiki docs pull --dir <dir> # Same, when running from elsewhereatlcli wiki docs pull <dir> --page-id <id> # Pull specific pageatlcli wiki docs pull <dir> --version <n> # Pull specific versionatlcli wiki docs pull <dir> --label <name> # Pull pages with labelatlcli wiki docs pull <dir> --force # Overwrite local edits (markdown + attachments)atlcli wiki docs push <dir> # Push to Confluenceatlcli wiki docs push <dir> --dry-run # Preview changesatlcli wiki docs push <dir> --force # Force overwriteatlcli wiki docs push <dir> --legacy-editor # Use legacy editor (v1)atlcli wiki docs sync <dir> --page-id <id> # Start the bidirectional sync daemonatlcli wiki docs sync <dir> --dry-run # Report the plan; changes nothing on diskatlcli wiki docs sync <dir> --on-conflict remote # Conflicts: merge (default) | local | remoteatlcli wiki docs sync --help # Full sync option listatlcli wiki docs status <dir> # Show sync statusatlcli wiki docs add <dir> --template <name> # Add page from templateatlcli wiki docs diff <dir> # Show local vs remote diff (title only for folders)atlcli wiki docs resolve <dir> # Resolve sync conflictsatlcli wiki docs check <dir> # Validate docs (includes folder checks)atlcli wiki docs check --dir <dir> # Same, when running from elsewhere (exits 1 if nothing to validate)atlcli wiki docs preview <dir> # Preview markdown renderingatlcli wiki docs convert <file> --to-new-editor # Convert to v2 editoratlcli wiki docs convert <file> --to-legacy-editor # Convert to v1 editoratlcli wiki docs convert <dir> --to-new-editor --dry-run # Preview bulk conversionatlcli wiki docs convert <dir> --to-new-editor --confirm # Bulk convert directory# Basic auditatlcli audit wiki --all # Run all checksatlcli audit wiki --all --stale-high 12 # With 12-month stale threshold
# Check typesatlcli audit wiki --stale-high 12 --stale-medium 6 --stale-low 3 # Stale contentatlcli audit wiki --orphans # Orphaned pages (no incoming links)atlcli audit wiki --broken-links # Broken internal linksatlcli audit wiki --single-contributor # Bus factor riskatlcli audit wiki --inactive-contributors # Pages with inactive authorsatlcli audit wiki --external-links # List external URLsatlcli audit wiki --check-external # Verify external URLs via HTTPatlcli audit wiki --missing-label <label> # Pages missing required labelatlcli audit wiki --restricted # Pages with restrictionsatlcli audit wiki --drafts # Unpublished draftsatlcli audit wiki --archived # Archived pagesatlcli audit wiki --high-churn <n> # Pages with N+ versionsatlcli audit wiki --folders # Check folder structure
# Scope filteringatlcli audit wiki --label <label> # Only audit pages with labelatlcli audit wiki --under-page <id> # Only pages under ancestoratlcli audit wiki --exclude-label <label> # Exclude pages with labelatlcli audit wiki --dir <path> # Audit specific directory
# Output formatsatlcli audit wiki --all --json # JSON outputatlcli audit wiki --all --markdown # Markdown report
# Fix modeatlcli audit wiki --all --fix --dry-run # Preview fixesatlcli audit wiki --all --fix # Apply fixesatlcli audit wiki --all --fix --fix-label <label> # Custom stale label
# Advancedatlcli audit wiki --include-remote # Include unsynced remote pagesatlcli audit wiki --refresh-users # Refresh user status from APIatlcli audit wiki --rebuild-graph # Rebuild link graph from markdownatlcli audit wiki --export-graph # Export link graph as JSONatlcli wiki page list --space <key> # List pages in spaceatlcli wiki page list --cql <query> # Filter with CQLatlcli wiki page list --label <name> # Filter by labelatlcli wiki page get --id <id> # Get page contentatlcli wiki page get --id <id> --version <n> # Get specific versionatlcli wiki page create --space <key> --title <title> --body <file>atlcli wiki page create --space <key> --title <title> --body <file> --parent <id>atlcli wiki page update --id <id> --body <file>atlcli wiki page update --id <id> --body <file> --title <title>atlcli wiki page delete --id <id> --confirmatlcli wiki page delete --cql <query> --dry-run # Bulk delete previewatlcli wiki page delete --cql <query> --confirm # Bulk deleteatlcli wiki page move --id <id> --parent <id>atlcli wiki page move <file> --before <target> # Position before siblingatlcli wiki page move <file> --after <target> # Position after siblingatlcli wiki page move <file> --first # First child positionatlcli wiki page move <file> --last # Last child positionatlcli wiki page move --id <id> --position <n> # Specific positionatlcli wiki page copy --id <id> --title <title>atlcli wiki page copy --id <id> --title <title> --space <key>atlcli wiki page children --id <id> # List child pagesatlcli wiki page children --id <id> --limit <n> --jsonatlcli wiki page sort <file> --alphabeticalatlcli wiki page sort <file> --natural # Natural sort (Chapter 2 < Chapter 10)atlcli wiki page sort <file> --by createdatlcli wiki page sort --id <id> --by modified --reverseatlcli wiki page archive --id <id> --confirmatlcli wiki page archive --cql <query> --dry-runatlcli wiki page open <id> # Open page in browseratlcli wiki page convert --id <id> --to-new-editor # Convert to v2 editoratlcli wiki page convert --id <id> --to-legacy-editor # Convert to v1 editor
# Cross-product linking (Confluence ↔ Jira)atlcli wiki page link-issue --id <id> --issue <key> # Link Jira issue to pageatlcli wiki page link-issue --id <id> --issue <key> --comment # With commentatlcli wiki page issues --id <id> # List linked Jira issuesatlcli wiki page issues --id <id> --project <key> # Filter by projectatlcli wiki page unlink-issue --id <id> --issue <key> # Remove linkPage History
Section titled “Page History”atlcli wiki page history --id <id> # List versionsatlcli wiki page history --id <id> --limit <n>atlcli wiki page diff --id <id> --version <n> # Unified diff with currentatlcli wiki page diff --id <id> --from <n> --to <n> --context <n>atlcli wiki page diff --id <id> --from <n> --to <n> --format text --word-diffatlcli wiki page diff --id <id> --from <n> --to <n> --format semanticatlcli wiki page diff --id <id> --from <n> --to <n> --format semantic --jsonatlcli wiki page diff --id <id> --from <n> --to <n> --format review --word-diffatlcli wiki page diff --id <id> --from <n> --to <n> --format review --jsonatlcli wiki page restore --id <id> --version <n> --confirmatlcli wiki page restore --id <id> --version <n> --message <text> --confirmPage diff defaults to the existing line-oriented unified format. text is
an explicit alias; --word-diff replaces paired changed lines with an inline
[-removed-] / {+added+} review presentation. JSON keeps the applicable
unified patch and adds ANSI-free wordDiff only when requested. The opt-in
semantic format emits a plain-language, grouped terminal review or one
atlcli.change-set/1 JSON envelope. The terminal view does not expose AST
paths, raw canonical JSON, collection IDs, or attachment UUIDs; use --json
when a tool needs exact paths and operation metadata. review combines that
semantic view with Markdown text hunks acquired from the same exact-version
pair; its JSON contains both changeSet and textDiff. --context applies to
text/unified/review;
--no-color and NO_COLOR disable ANSI output. Cloud prefers exact-version ADF
for both sides and can fall back to exact Storage for both sides. Data Center
uses Storage only; that path is contract-tested but not project-live-certified.
Large semantic bodies use a private, one-version-at-a-time spill store; it is
cleaned before output and a spill/cleanup failure is fatal rather than a
high-memory fallback.
Comments
Section titled “Comments”# Footer commentsatlcli wiki page comments list --id <id>atlcli wiki page comments add --id <id> "Comment text"atlcli wiki page comments reply --id <id> --parent <comment-id> "Reply text"atlcli wiki page comments update --id <id> --comment <comment-id> "Updated text"atlcli wiki page comments delete --id <id> --comment <comment-id> --confirmatlcli wiki page comments resolve --id <id> --comment <comment-id>atlcli wiki page comments reopen --id <id> --comment <comment-id>
# Inline commentsatlcli wiki page comments list --id <id> --inlineatlcli wiki page comments add-inline --id <id> --selection <text> "Comment"Labels
Section titled “Labels”atlcli wiki page label list --id <id> # List labels on pageatlcli wiki page label add <label> [<label>...] --id <id> # Add labelsatlcli wiki page label add <label> --cql <query> --dry-run # Bulk add previewatlcli wiki page label add <label> --cql <query> --confirm # Bulk addatlcli wiki page label remove <label> --id <id>atlcli wiki page label remove <label> --cql <query> --confirm # Bulk removeSearch
Section titled “Search”atlcli wiki search <query> # Full-text searchatlcli wiki search <query> --space <key> # Search in spaceatlcli wiki search --cql <query> # CQL searchatlcli wiki search --label <label> # Search by labelatlcli wiki search --creator <email> # Search by creatoratlcli wiki search --type page # Filter by typeatlcli wiki search --ancestor <id> # Search in page treeatlcli wiki search --modified-since <duration>atlcli wiki search --created-since <duration>atlcli wiki search --title <text> # Search titles onlyatlcli wiki search --limit <n> --start <n> # Paginationatlcli wiki search --format compact # Compact outputatlcli wiki search --verbose # Detailed outputMy Pages
Section titled “My Pages”atlcli wiki my # Pages I created (default)atlcli wiki my --contributed # Pages I contributed toatlcli wiki my --space <key> # Filter by spaceatlcli wiki my --label <name> # Filter by labelatlcli wiki my --limit <n> # Limit results (default 25)Recent Pages
Section titled “Recent Pages”atlcli wiki recent # Last 7 days (default)atlcli wiki recent --days 30 # Last 30 daysatlcli wiki recent --space <key> # Filter by spaceatlcli wiki recent --label <name> # Filter by labelatlcli wiki recent --limit <n> # Limit results (default 25)Spaces
Section titled “Spaces”atlcli wiki space list # List all spacesatlcli wiki space list --limit <n>atlcli wiki space get --key <key> # Get space detailsatlcli wiki space create --key <key> --name <name>atlcli wiki space create --key <key> --name <name> --description <text>Templates
Section titled “Templates”atlcli wiki docs template list # List saved templatesatlcli wiki docs template get <name> # Show templateatlcli wiki docs template save --page <id> --name <name>atlcli wiki docs template apply <name> --space <key> --title <title>atlcli wiki docs template delete <name>atlcli wiki docs template export <name> -o <file>atlcli wiki docs template import --file <path>DOCX and PDF Export
Section titled “DOCX and PDF Export”# Foreground export through the durable job runtimeatlcli wiki export <page-id> --output ./page.docxatlcli wiki export <page-id> --code-theme dracula --output ./page.docxatlcli wiki export <page-id> --format pdf --output ./page.pdfatlcli wiki export <page-id> --format pdf --code-theme nord --output ./page.pdfatlcli wiki export <page-id> --format pdf --pdf-standard ua-1 --output ./page-ua.pdfatlcli wiki export <page-id> --format pdf \ --template ./brand.wiki-pdf-template --output ./brand-page.pdfatlcli wiki export <page-id> --scope tree --output ./handbook.docxatlcli wiki export --scope space --space DOCS --format pdf --out-dir ./dist
# Inspect and manage activity across DOCX and PDFatlcli wiki export jobs listatlcli wiki export jobs list --status running,waiting --format pdf --since 12hatlcli wiki export jobs show <job-id>atlcli wiki export jobs watch <job-id>atlcli wiki export jobs watch <job-id> --jsonlatlcli wiki export jobs cancel <job-id>atlcli wiki export jobs resume <queued-id>atlcli wiki export jobs retry <failed-id> --output ./retry.docxatlcli wiki export jobs rerun <succeeded-id> --output ./copy.pdfatlcli wiki export jobs clear --before 30d --confirmresume reclaims the same queued row and its durable checkpoints after a
foreground runner was lost. retry accepts failed, interrupted, or cancelled
jobs; rerun accepts successful jobs. Those two create a linked new job and
leave the source row unchanged. list, show, cancel, retry, rerun, and clear accept
--json; watch accepts --jsonl. Ordinary exports stay foreground and print
progress while another process can monitor or cancel them. There is no
--detach mode. See DOCX and PDF Export for export flags
and Export Jobs & Operations for recovery and
retention.
Static Web Publishing
Section titled “Static Web Publishing”# Inspect Confluence and route changes without activating a bundleatlcli wiki publish plan --project .atlcli/publish.json --profile work
# Acquire, validate, and atomically activate an immutable bundleatlcli wiki publish refresh --project .atlcli/publish.json --profile work
# Build the active bundle with the project-owned Astro siteatlcli wiki publish build --project .atlcli/publish.json
# Verify the latest build, or select one by digestatlcli wiki publish verify --project .atlcli/publish.jsonatlcli wiki publish verify --project .atlcli/publish.json --build <digest>
# Run refresh, build, and verify in sequenceatlcli wiki publish run --project .atlcli/publish.json --profile work
# Inspect and safely prune local retained stateatlcli wiki publish status --project .atlcli/publish.jsonatlcli wiki publish prune --project .atlcli/publish.json --confirm| Flag | Operations | Meaning |
|---|---|---|
--project <path> |
all | Project JSON; defaults to .atlcli/publish.json |
--workspace <path> |
all | Private bundle/build workspace; defaults to .atlcli/publish/<publicationKey> |
--profile <name> |
plan, refresh, run |
Atlassian authentication profile used only during acquisition |
--confirm-public |
source-reading operations | Required when visibility is public |
--allow-partial |
source-reading operations | Required when completeness is allow-partial |
--dry-run |
refresh, run |
Produce and persist the plan without bundle activation or build |
--build <digest> |
verify |
Verify a specific retained build instead of the newest |
--confirm |
prune |
Required before verified unreachable state can be removed |
--json |
all | Emit the versioned machine-readable stage result |
plan reads source data but writes only last-plan.json in the private
workspace. refresh is the only bundle-activation stage. build receives the
active bundle and inventory paths through a bounded, non-secret child
environment; it does not receive Atlassian credentials. verify reports a
verified local artifact, never a remote deployment.
Public and partial acknowledgements are independent and fail closed when
missing. An incomplete plan, stale bundle/build digest, failed Astro command,
unowned output, broken link/anchor, unsafe resource, privacy marker, or manifest
drift produces a non-zero command failure. Use --json in CI and retain the
reported bundle/build digests with the deployed artifact.
See Publish Confluence as a static Astro site, the complete configuration reference, and operations and rollback.
PDF Template Authoring
Section titled “PDF Template Authoring”# Guided Word-design importatlcli pdf-template import ./brand.docxatlcli pdf-template status ./brand-pdf-templateatlcli pdf-template review ./brand-pdf-templateatlcli pdf-template preview ./brand-pdf-templateatlcli pdf-template build ./brand-pdf-template \ --output ./brand.wiki-pdf-templateatlcli pdf-template undo ./brand-pdf-template
# Expert / automation surfacesatlcli pdf-template analyze ./brand.docx --json --no-logatlcli pdf-template reanalyze ./brand-v2.docx --dir ./brand-pdf-templateatlcli pdf-template diff ./brand-pdf-template --detailsatlcli pdf-template decide --dir ./brand-pdf-template <explicit-action>atlcli pdf-template set --dir ./brand-pdf-template \ --target <capability-path> --value '<json>'atlcli pdf-template validate ./brand-pdf-templateatlcli pdf-template pack ./brand-pdf-template \ --output ./brand.wiki-pdf-template
# Declarative Recipe V2atlcli pdf-template explain ./recipe.yaml --jsonatlcli pdf-template validate ./recipe.yamlatlcli pdf-template build ./recipe.yaml \ --output ./recipe.wiki-pdf-templateThe default import uses Editorial Indigo as a complete baseline and applies no
suggestion silently. Graphics require explicit role, rights, accessibility,
and placement decisions. JSON mode is non-interactive and emits one
atlcli.pdf-template-result/1 document on stdout; progress is JSONL on stderr.
See PDF Template Authoring CLI for
all stages, options, schemas, and recovery behavior.
Recipe V2 pins an installed baseline by exact id, version, Catalog version, and
digest; explain performs no asset I/O. PDF output standards remain a separate
wiki export --pdf-standard <standard> policy.
Issues
Section titled “Issues”atlcli jira issue get --key <key> # Get issue detailsatlcli jira issue get --key <key> --expand allatlcli jira issue create --project <key> --type <type> --summary <text>atlcli jira issue create --project <key> --type <type> --summary <text> \ --description <text> --assignee <email> --labels <labels>atlcli jira issue create --project <key> --type <type> --summary <text> \ --field customfield_10028=5 --field customfield_10077='{"value":"Feature"}'atlcli jira issue update --key <key> --summary <text>atlcli jira issue update --key <key> --field customfield_10028=8atlcli jira issue update --key <key> --priority <name>atlcli jira issue update --key <key> --add-labels <labels>atlcli jira issue update --key <key> --remove-labels <labels>atlcli jira issue update --key <key> --assignee <account-id>atlcli jira issue delete --key <key> --confirmatlcli jira issue transition --key <key> --to <status>atlcli jira issue transitions --key <key> # List available transitionsatlcli jira issue assign --key <key> --assignee <email>atlcli jira issue assign --key <key> --assignee none # Unassignatlcli jira issue link --from <key> --to <key> --type <type>atlcli jira issue attach <key> <file> [file...] [--comment <text>] # Attach filesatlcli jira issue attachments <key> # List attachmentsatlcli jira issue attachment download <id> [-o <path>] [--overwrite]atlcli jira issue attachment download <key> <filename> [-o <path>] [--overwrite]atlcli jira issue attachment delete <id> --confirmatlcli jira issue attachment delete <key> <filename> --confirmatlcli jira issue open <key> # Open issue in browser
# Cross-product linking (Jira ↔ Confluence)atlcli jira issue link-page --key <key> --page <id> # Link to Confluence pageatlcli jira issue link-page --key <key> --page <id> --comment # With commentatlcli jira issue pages --key <key> # List linked Confluence pagesatlcli jira issue unlink-page --key <key> --link <id> # Remove link
atlcli jira watch <key> # Watch issueatlcli jira unwatch <key> # Stop watchingatlcli jira watchers <key> # List watchersSearch
Section titled “Search”atlcli jira search --jql <query> # JQL searchatlcli jira search --assignee me # My issuesatlcli jira search --assignee <email>atlcli jira search --status "In Progress"atlcli jira search --project <key>atlcli jira search --type Bugatlcli jira search --type Bug,Task # Multiple typesatlcli jira search --label <label> # Filter by labelatlcli jira search --sprint <id> # Filter by sprintatlcli jira search --limit <n>Current User
Section titled “Current User”atlcli jira me # Get current user infoMy Issues
Section titled “My Issues”atlcli jira my # My open/unresolved issuesatlcli jira my --all # All my issues (including resolved)atlcli jira my --project <key> # Filter by projectatlcli jira my --status "In Progress" # Filter by statusatlcli jira my --type Bug # Filter by issue typeatlcli jira my --limit <n> # Limit results (default 25)Comments
Section titled “Comments”atlcli jira issue comment --key <key> "Comment text"Worklogs
Section titled “Worklogs”atlcli jira worklog list --issue <key>atlcli jira worklog add <key> <duration>atlcli jira worklog add <key> 2h --comment <text>atlcli jira worklog add <key> 1h30m --started <datetime>atlcli jira worklog add <key> 1h --round 15matlcli jira worklog update --issue <key> --id <id> --time <duration>atlcli jira worklog delete --issue <key> --id <id> --confirm
# Timer modeatlcli jira worklog timer start <key>atlcli jira worklog timer start <key> --comment <text>atlcli jira worklog timer start <key> --profile <name> # Record a specific profileatlcli jira worklog timer stop # Stop and log timeatlcli jira worklog timer stop --round 15matlcli jira worklog timer stop --profile <name> # Override the recorded profileatlcli jira worklog timer status # Show running timeratlcli jira worklog timer cancel # Cancel without logging
# Reportatlcli jira worklog report # Current user, last 30 daysatlcli jira worklog report --user <user> --since <date> --until <date>atlcli jira worklog report --group-by issueatlcli jira worklog report --group-by dateBoards
Section titled “Boards”atlcli jira board list # List all boardsatlcli jira board list --project <key>atlcli jira board list --type scrum # Filter by typeatlcli jira board list --name <pattern>atlcli jira board get --id <id> # Get board detailsatlcli jira board backlog --id <id> # Get backlog issuesatlcli jira board issues --id <id> # Get board issuesSprints
Section titled “Sprints”atlcli jira sprint list --board <id>atlcli jira sprint get --id <id>atlcli jira sprint create --board <id> --name <name>atlcli jira sprint create --board <id> --name <name> \ --start <date> --end <date> --goal <text>atlcli jira sprint start --id <id>atlcli jira sprint close --id <id>atlcli jira sprint delete --id <id> --confirmatlcli jira sprint add <issues...> --sprint <id>atlcli jira sprint remove <issues...> # Move to backlogatlcli jira sprint report <id> # Sprint metrics reportatlcli jira epic list --project <key>atlcli jira epic list --board <id>atlcli jira epic list --project <key> --done # Include done epicsatlcli jira epic get <key>atlcli jira epic create --project <key> --summary <text>atlcli jira epic issues <key> # List child issuesatlcli jira epic add <issues...> --epic <key> # Add issues to epicatlcli jira epic remove <issues...> # Remove issues from epicatlcli jira epic progress <key> # Show completion progressSubtasks
Section titled “Subtasks”atlcli jira subtask list --parent <key>atlcli jira subtask create --parent <key> --summary <text>atlcli jira subtask create --parent <key> --summary <text> \ --assignee <email> --description <text>Components
Section titled “Components”atlcli jira component list --project <key>atlcli jira component create --project <key> --name <name>atlcli jira component create --project <key> --name <name> \ --lead <email> --description <text>atlcli jira component update --id <id> --name <name>atlcli jira component delete --id <id> --confirmVersions
Section titled “Versions”atlcli jira version list --project <key>atlcli jira version create --project <key> --name <name>atlcli jira version create --project <key> --name <name> \ --start-date <date> --release-date <date>atlcli jira version release --id <id>atlcli jira version delete --id <id> --confirmTemplates
Section titled “Templates”# List with filteringatlcli jira template listatlcli jira template list --level global # Global templates onlyatlcli jira template list --level profile # Profile templates onlyatlcli jira template list --level project # Project templates onlyatlcli jira template list --type Bug # Filter by issue typeatlcli jira template list --tag <tag> # Filter by tagatlcli jira template list --search <text> # Search name/descriptionatlcli jira template list --all # Include overridden templatesatlcli jira template list --expand # Show full field details
atlcli jira template get <name>
# Save to different levelsatlcli jira template save <name> --issue <key> # Global (default)atlcli jira template save <name> --issue <key> --level profile # Profile levelatlcli jira template save <name> --issue <key> --project <key> # Project levelatlcli jira template save <name> --issue <key> --tags bug,urgent # With tagsatlcli jira template save <name> --issue <key> --force # Overwrite
atlcli jira template apply <name> --project <key> --summary <text>atlcli jira template delete <name> --confirmatlcli jira template export <name> -o <file>atlcli jira template import --file <path>atlcli jira template import --file <path> --project <key> # To project levelStorage hierarchy (precedence: project > profile > global):
- Global:
~/.atlcli/templates/jira/global/ - Profile:
~/.atlcli/templates/jira/profiles/{name}/ - Project:
~/.atlcli/templates/jira/projects/{key}/
Choosing a level — save, import, delete and list all use the same rule:
- an explicit
--level <global|profile|project>always wins; - otherwise
--project <key>selects project storage; - otherwise
--profile <name>selects profile storage; - otherwise global.
--profile is primarily the auth-profile flag, so it is the weakest storage
signal. An unrecognised --level value is rejected rather than silently
falling back to another level.
Bulk Operations
Section titled “Bulk Operations”atlcli jira bulk edit --jql <query> --set "field=value"atlcli jira bulk edit --jql <query> --set "priority=High"atlcli jira bulk edit --jql <query> --dry-run --limit <n>atlcli jira bulk transition --jql <query> --to <status>atlcli jira bulk transition --jql <query> --to <status> --dry-runatlcli jira bulk label add <label> --jql <query>atlcli jira bulk label remove <label> --jql <query>atlcli jira bulk delete --jql <query> --confirmFilters
Section titled “Filters”atlcli jira filter listatlcli jira filter get --id <id>atlcli jira filter create --name <name> --jql <query>atlcli jira filter update --id <id> --jql <query>atlcli jira filter delete --id <id> --confirmatlcli jira filter run --id <id> # Execute filteratlcli jira filter share --id <id> --user <email>atlcli jira filter share --id <id> --group <name>Analytics
Section titled “Analytics”atlcli jira analyze velocity --board <id>atlcli jira analyze velocity --board <id> --sprints <n>atlcli jira analyze burndown --sprint <id>atlcli jira analyze burndown --sprint <id> --idealatlcli jira analyze predictability --board <id>Fields
Section titled “Fields”atlcli jira field list # List all fieldsatlcli jira field list --custom # Custom fields onlyatlcli jira field list --system # System fields onlyatlcli jira field get --id <id>atlcli jira field search <query> # Search fields by nameatlcli jira field options --id <id> # List field optionsImport/Export
Section titled “Import/Export”atlcli jira export --jql <query> -o <file>.csvatlcli jira export --jql <query> -o <file>.jsonatlcli jira export --jql <query> --fields key,summary,statusatlcli jira import --file <path>.csv --project <key>atlcli jira import --file <path>.json --project <key>atlcli jira import --file <path> --dry-runWebhooks
Section titled “Webhooks”# Start local webhook server (use with ngrok/cloudflare tunnel)atlcli jira webhook serve --port 3000atlcli jira webhook serve --port 3000 --projects PROJ,TEAMatlcli jira webhook serve --port 3000 --events jira:issue_updatedatlcli jira webhook serve --secret <secret> # HMAC validation
# Manage registered webhooksatlcli jira webhook list # List registered webhooksatlcli jira webhook register --url <url> --events <events>atlcli jira webhook register --url <url> --events jira:issue_created --jql <filter>atlcli jira webhook delete <id> # Delete webhookatlcli jira webhook refresh <id> # Refresh expiration (30 day limit)Event types: jira:issue_created, jira:issue_updated, jira:issue_deleted, comment_created, comment_updated, comment_deleted, sprint_created, sprint_started, sprint_closed, worklog_created, worklog_updated, worklog_deleted
Logging
Section titled “Logging”atlcli log list # List recent entriesatlcli log list --limit <n>atlcli log list --since <duration>atlcli log list --since <date> --until <date>atlcli log list --level erroratlcli log list --level warnatlcli log list --type apiatlcli log list --type cli.commandatlcli log list --type sync
atlcli log tail -f # Follow logsatlcli log tail -f --level erroratlcli log tail --project # Project logs only
atlcli log show <id> # Show entry details
atlcli log clear --before <duration> --confirmatlcli log clear --before <duration> --global --confirmatlcli log clear --before <duration> --project --confirmPlugins
Section titled “Plugins”atlcli plugin list # List all pluginsatlcli plugin list --enabledatlcli plugin enable <name>atlcli plugin disable <name>atlcli plugin install <path> # Install from local pathatlcli plugin remove <name>Feature Flags
Section titled “Feature Flags”Feature flags control experimental or optional functionality. Flags can be set at three levels with decreasing precedence: environment variables, project config, global config.
atlcli flag list # List all flags with sourcesatlcli flag ls # Alias for list
atlcli flag get <name> # Get a flag valueatlcli flag get helloworld
atlcli flag set <name> <value> # Set flag (project-level)atlcli flag set helloworld trueatlcli flag set export.backend libreoffice --global # Set globally
atlcli flag unset <name> # Remove flag (project-level)atlcli flag rm <name> # Alias for unsetatlcli flag unset helloworld --global # Remove from global configFlag value types: boolean (true/false), string, number
Precedence (highest to lowest):
| Level | Location | Environment Variable |
|---|---|---|
| 1. Environment | FLAG_* |
FLAG_HELLOWORLD=true |
| 2. Project | .atlcli/config.json |
- |
| 3. Global | ~/.atlcli/config.json |
- |
Environment variable format: FLAG_ prefix + uppercase name with dots replaced by underscores.
Example: helloworld → FLAG_HELLOWORLD, export.backend → FLAG_EXPORT_BACKEND
Utility Commands
Section titled “Utility Commands”Research
Section titled “Research”ANTHROPIC_API_KEY=... atlcli research \ "Which Jira work is explicitly related to our Confluence documentation?" \ --profile work --project PLATFORM --space DOCS \ --from 2026-07-24 --to 2026-07-31 \ --max-run-minutes 10 --output /absolute/path/report.mdNormal stdout is the canonical Markdown; progress is written to stderr.
--json emits one structured report document. Project and space flags are
repeatable and accept comma-separated keys. See
Jira and Confluence Research for the complete contract and
security boundaries.
Helloworld
Section titled “Helloworld”Test command to verify the feature flag system works. Only available when flag.helloworld is true.
# Enable the commandatlcli flag set helloworld true
# Run itatlcli helloworld# Output: Hello dear user, thank you that you use me! Star me at https://github.com/BjoernSchotte/atlcli
# Disable (command will no longer be available)atlcli flag set helloworld falsePurpose: Simple test to verify feature flags work correctly. When the flag is not set or false, the command behaves as if it doesn’t exist.
Update
Section titled “Update”atlcli update # Check for and install updatesatlcli update --check # Check only, don't installVersion
Section titled “Version”atlcli version # Show versionatlcli --version # Same as aboveatlcli -v # Short formRelated Topics
Section titled “Related Topics”- Shell Completions - Tab completion setup
- Environment Variables - Environment configuration
- Troubleshooting - Common issues