Skip to content

CLI Commands

Quick reference for all atlcli commands.

FlagDescription
--profile <name>Auth profile to use
--jsonOutput as JSON
--no-logDisable logging for this command
--helpShow help
--versionShow version
Terminal window
# Interactive setup
atlcli auth init # Initialize default profile
atlcli 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
# Profile management
atlcli auth status # Show current profile status
atlcli auth list # List all profiles
atlcli auth switch <name> # Switch active profile
atlcli auth rename <old> <new> # Rename profile
# Cleanup
atlcli auth logout # Clear active profile credentials
atlcli auth logout <name> # Clear specific profile credentials
atlcli auth delete <name> # Delete profile entirely
atlcli auth delete <name> --delete-keychain # Also delete keychain creds (macOS)
Terminal window
# View configuration
atlcli 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 project
atlcli config set defaults.space DOCS # Default Confluence space
atlcli config set defaults.board 123 # Default Jira board ID
# Logging settings
atlcli config set logging.level debug # Set log level
atlcli config set logging.global true # Enable global logs
# Remove settings
atlcli config unset defaults.project # Remove a value

Available keys:

KeyTypeDescription
defaults.projectstringDefault Jira project key
defaults.spacestringDefault Confluence space key
defaults.boardnumberDefault Jira board ID
logging.levelstringoff, error, warn, info, debug
logging.globalbooleanEnable global logs
logging.projectbooleanEnable project logs
Terminal window
atlcli doctor # Run all health checks
atlcli doctor --fix # Auto-fix safe issues (create dirs, etc.)
atlcli doctor --json # JSON output for scripting

Checks 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

Terminal window
atlcli wiki docs init <dir> --space <key> # Initialize sync directory
atlcli wiki docs pull <dir> # Pull from Confluence
atlcli wiki docs pull <dir> --page-id <id> # Pull specific page
atlcli wiki docs pull <dir> --version <n> # Pull specific version
atlcli wiki docs pull <dir> --label <name> # Pull pages with label
atlcli wiki docs push <dir> # Push to Confluence
atlcli wiki docs push <dir> --dry-run # Preview changes
atlcli wiki docs push <dir> --force # Force overwrite
atlcli wiki docs push <dir> --legacy-editor # Use legacy editor (v1)
atlcli wiki docs sync <dir> --watch # Watch and sync
atlcli wiki docs status <dir> # Show sync status
atlcli wiki docs add <dir> --template <name> # Add page from template
atlcli wiki docs diff <dir> # Show local vs remote diff (title only for folders)
atlcli wiki docs resolve <dir> # Resolve sync conflicts
atlcli wiki docs check <dir> # Validate docs (includes folder checks)
atlcli wiki docs preview <dir> # Preview markdown rendering
atlcli wiki docs convert <file> --to-new-editor # Convert to v2 editor
atlcli wiki docs convert <file> --to-legacy-editor # Convert to v1 editor
atlcli wiki docs convert <dir> --to-new-editor --dry-run # Preview bulk conversion
atlcli wiki docs convert <dir> --to-new-editor --confirm # Bulk convert directory
Terminal window
# Basic audit
atlcli audit wiki --all # Run all checks
atlcli audit wiki --all --stale-high 12 # With 12-month stale threshold
# Check types
atlcli audit wiki --stale-high 12 --stale-medium 6 --stale-low 3 # Stale content
atlcli audit wiki --orphans # Orphaned pages (no incoming links)
atlcli audit wiki --broken-links # Broken internal links
atlcli audit wiki --single-contributor # Bus factor risk
atlcli audit wiki --inactive-contributors # Pages with inactive authors
atlcli audit wiki --external-links # List external URLs
atlcli audit wiki --check-external # Verify external URLs via HTTP
atlcli audit wiki --missing-label <label> # Pages missing required label
atlcli audit wiki --restricted # Pages with restrictions
atlcli audit wiki --drafts # Unpublished drafts
atlcli audit wiki --archived # Archived pages
atlcli audit wiki --high-churn <n> # Pages with N+ versions
atlcli audit wiki --folders # Check folder structure
# Scope filtering
atlcli audit wiki --label <label> # Only audit pages with label
atlcli audit wiki --under-page <id> # Only pages under ancestor
atlcli audit wiki --exclude-label <label> # Exclude pages with label
atlcli audit wiki --dir <path> # Audit specific directory
# Output formats
atlcli audit wiki --all --json # JSON output
atlcli audit wiki --all --markdown # Markdown report
# Fix mode
atlcli audit wiki --all --fix --dry-run # Preview fixes
atlcli audit wiki --all --fix # Apply fixes
atlcli audit wiki --all --fix --fix-label <label> # Custom stale label
# Advanced
atlcli audit wiki --include-remote # Include unsynced remote pages
atlcli audit wiki --refresh-users # Refresh user status from API
atlcli audit wiki --rebuild-graph # Rebuild link graph from markdown
atlcli audit wiki --export-graph # Export link graph as JSON
Terminal window
atlcli wiki page list --space <key> # List pages in space
atlcli wiki page list --cql <query> # Filter with CQL
atlcli wiki page list --label <name> # Filter by label
atlcli wiki page get --id <id> # Get page content
atlcli wiki page get --id <id> --version <n> # Get specific version
atlcli 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> --confirm
atlcli wiki page delete --cql <query> --dry-run # Bulk delete preview
atlcli wiki page delete --cql <query> --confirm # Bulk delete
atlcli wiki page move --id <id> --parent <id>
atlcli wiki page move <file> --before <target> # Position before sibling
atlcli wiki page move <file> --after <target> # Position after sibling
atlcli wiki page move <file> --first # First child position
atlcli wiki page move <file> --last # Last child position
atlcli wiki page move --id <id> --position <n> # Specific position
atlcli 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 pages
atlcli wiki page children --id <id> --limit <n> --json
atlcli wiki page sort <file> --alphabetical
atlcli wiki page sort <file> --natural # Natural sort (Chapter 2 < Chapter 10)
atlcli wiki page sort <file> --by created
atlcli wiki page sort --id <id> --by modified --reverse
atlcli wiki page archive --id <id> --confirm
atlcli wiki page archive --cql <query> --dry-run
atlcli wiki page open <id> # Open page in browser
atlcli wiki page convert --id <id> --to-new-editor # Convert to v2 editor
atlcli 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 page
atlcli wiki page link-issue --id <id> --issue <key> --comment # With comment
atlcli wiki page issues --id <id> # List linked Jira issues
atlcli wiki page issues --id <id> --project <key> # Filter by project
atlcli wiki page unlink-issue --id <id> --issue <key> # Remove link
Terminal window
atlcli wiki page history --id <id> # List versions
atlcli wiki page history --id <id> --limit <n>
atlcli wiki page diff --id <id> --version <n> # Compare with current
atlcli wiki page diff --id <id> --from <n> --to <n>
atlcli wiki page restore --id <id> --version <n>
atlcli wiki page restore --id <id> --version <n> --message <text> --confirm
Terminal window
# Footer comments
atlcli 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> --confirm
atlcli wiki page comments resolve --id <id> --comment <comment-id>
atlcli wiki page comments reopen --id <id> --comment <comment-id>
# Inline comments
atlcli wiki page comments list --id <id> --inline
atlcli wiki page comments add-inline --id <id> --selection <text> "Comment"
Terminal window
atlcli wiki page label list --id <id> # List labels on page
atlcli wiki page label add <label> [<label>...] --id <id> # Add labels
atlcli wiki page label add <label> --cql <query> --dry-run # Bulk add preview
atlcli wiki page label add <label> --cql <query> --confirm # Bulk add
atlcli wiki page label remove <label> --id <id>
atlcli wiki page label remove <label> --cql <query> --confirm # Bulk remove
Terminal window
atlcli wiki search <query> # Full-text search
atlcli wiki search <query> --space <key> # Search in space
atlcli wiki search --cql <query> # CQL search
atlcli wiki search --label <label> # Search by label
atlcli wiki search --creator <email> # Search by creator
atlcli wiki search --type page # Filter by type
atlcli wiki search --ancestor <id> # Search in page tree
atlcli wiki search --modified-since <duration>
atlcli wiki search --created-since <duration>
atlcli wiki search --title <text> # Search titles only
atlcli wiki search --limit <n> --start <n> # Pagination
atlcli wiki search --format compact # Compact output
atlcli wiki search --verbose # Detailed output
Terminal window
atlcli wiki my # Pages I created (default)
atlcli wiki my --contributed # Pages I contributed to
atlcli wiki my --space <key> # Filter by space
atlcli wiki my --label <name> # Filter by label
atlcli wiki my --limit <n> # Limit results (default 25)
Terminal window
atlcli wiki recent # Last 7 days (default)
atlcli wiki recent --days 30 # Last 30 days
atlcli wiki recent --space <key> # Filter by space
atlcli wiki recent --label <name> # Filter by label
atlcli wiki recent --limit <n> # Limit results (default 25)
Terminal window
atlcli wiki space list # List all spaces
atlcli wiki space list --limit <n>
atlcli wiki space get --key <key> # Get space details
atlcli wiki space create --key <key> --name <name>
atlcli wiki space create --key <key> --name <name> --description <text>
Terminal window
atlcli wiki docs template list # List saved templates
atlcli wiki docs template get <name> # Show template
atlcli 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>
Terminal window
atlcli jira issue get --key <key> # Get issue details
atlcli jira issue get --key <key> --expand all
atlcli 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=8
atlcli 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> --confirm
atlcli jira issue transition --key <key> --to <status>
atlcli jira issue transitions --key <key> # List available transitions
atlcli jira issue assign --key <key> --assignee <email>
atlcli jira issue assign --key <key> --assignee none # Unassign
atlcli jira issue link --from <key> --to <key> --type <type>
atlcli jira issue attach --key <key> <file> # Attach file
atlcli 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 page
atlcli jira issue link-page --key <key> --page <id> --comment # With comment
atlcli jira issue pages --key <key> # List linked Confluence pages
atlcli jira issue unlink-page --key <key> --link <id> # Remove link
atlcli jira watch <key> # Watch issue
atlcli jira unwatch <key> # Stop watching
atlcli jira watchers <key> # List watchers
Terminal window
atlcli jira search --jql <query> # JQL search
atlcli jira search --assignee me # My issues
atlcli jira search --assignee <email>
atlcli jira search --status "In Progress"
atlcli jira search --project <key>
atlcli jira search --type Bug
atlcli jira search --type Bug,Task # Multiple types
atlcli jira search --label <label> # Filter by label
atlcli jira search --sprint <id> # Filter by sprint
atlcli jira search --limit <n>
Terminal window
atlcli jira me # Get current user info
Terminal window
atlcli jira my # My open/unresolved issues
atlcli jira my --all # All my issues (including resolved)
atlcli jira my --project <key> # Filter by project
atlcli jira my --status "In Progress" # Filter by status
atlcli jira my --type Bug # Filter by issue type
atlcli jira my --limit <n> # Limit results (default 25)
Terminal window
atlcli jira issue comment --key <key> "Comment text"
Terminal window
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 15m
atlcli jira worklog update --issue <key> --id <id> --time <duration>
atlcli jira worklog delete --issue <key> --id <id> --confirm
# Timer mode
atlcli jira worklog timer start <key>
atlcli jira worklog timer start <key> --comment <text>
atlcli jira worklog timer stop # Stop and log time
atlcli jira worklog timer stop --round 15m
atlcli jira worklog timer status # Show running timer
atlcli jira worklog timer cancel # Cancel without logging
# Report
atlcli jira worklog report # Current user, last 30 days
atlcli jira worklog report --user <user> --since <date> --until <date>
atlcli jira worklog report --group-by issue
atlcli jira worklog report --group-by date
Terminal window
atlcli jira board list # List all boards
atlcli jira board list --project <key>
atlcli jira board list --type scrum # Filter by type
atlcli jira board list --name <pattern>
atlcli jira board get --id <id> # Get board details
atlcli jira board backlog --id <id> # Get backlog issues
atlcli jira board issues --id <id> # Get board issues
Terminal window
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> --confirm
atlcli jira sprint add <issues...> --sprint <id>
atlcli jira sprint remove <issues...> # Move to backlog
atlcli jira sprint report <id> # Sprint metrics report
Terminal window
atlcli jira epic list --project <key>
atlcli jira epic list --board <id>
atlcli jira epic list --project <key> --done # Include done epics
atlcli jira epic get <key>
atlcli jira epic create --project <key> --summary <text>
atlcli jira epic issues <key> # List child issues
atlcli jira epic add <issues...> --epic <key> # Add issues to epic
atlcli jira epic remove <issues...> # Remove issues from epic
atlcli jira epic progress <key> # Show completion progress
Terminal window
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>
Terminal window
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> --confirm
Terminal window
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> --confirm
Terminal window
# List with filtering
atlcli jira template list
atlcli jira template list --level global # Global templates only
atlcli jira template list --level profile # Profile templates only
atlcli jira template list --level project # Project templates only
atlcli jira template list --type Bug # Filter by issue type
atlcli jira template list --tag <tag> # Filter by tag
atlcli jira template list --search <text> # Search name/description
atlcli jira template list --all # Include overridden templates
atlcli jira template list --expand # Show full field details
atlcli jira template get <name>
# Save to different levels
atlcli jira template save <name> --issue <key> # Global (default)
atlcli jira template save <name> --issue <key> --level profile # Profile level
atlcli jira template save <name> --issue <key> --project <key> # Project level
atlcli jira template save <name> --issue <key> --tags bug,urgent # With tags
atlcli jira template save <name> --issue <key> --force # Overwrite
atlcli jira template apply <name> --project <key> --summary <text>
atlcli jira template delete <name> --confirm
atlcli jira template export <name> -o <file>
atlcli jira template import --file <path>
atlcli jira template import --file <path> --project <key> # To project level

Storage hierarchy (precedence: project > profile > global):

  • Global: ~/.atlcli/templates/jira/global/
  • Profile: ~/.atlcli/templates/jira/profiles/{name}/
  • Project: ~/.atlcli/templates/jira/projects/{key}/
Terminal window
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-run
atlcli jira bulk label add <label> --jql <query>
atlcli jira bulk label remove <label> --jql <query>
atlcli jira bulk delete --jql <query> --confirm
Terminal window
atlcli jira filter list
atlcli 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> --confirm
atlcli jira filter run --id <id> # Execute filter
atlcli jira filter share --id <id> --user <email>
atlcli jira filter share --id <id> --group <name>
Terminal window
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> --ideal
atlcli jira analyze predictability --board <id>
Terminal window
atlcli jira field list # List all fields
atlcli jira field list --custom # Custom fields only
atlcli jira field list --system # System fields only
atlcli jira field get --id <id>
atlcli jira field search <query> # Search fields by name
atlcli jira field options --id <id> # List field options
Terminal window
atlcli jira export --jql <query> -o <file>.csv
atlcli jira export --jql <query> -o <file>.json
atlcli jira export --jql <query> --fields key,summary,status
atlcli jira import --file <path>.csv --project <key>
atlcli jira import --file <path>.json --project <key>
atlcli jira import --file <path> --dry-run
Terminal window
# Start local webhook server (use with ngrok/cloudflare tunnel)
atlcli jira webhook serve --port 3000
atlcli jira webhook serve --port 3000 --projects PROJ,TEAM
atlcli jira webhook serve --port 3000 --events jira:issue_updated
atlcli jira webhook serve --secret <secret> # HMAC validation
# Manage registered webhooks
atlcli jira webhook list # List registered webhooks
atlcli 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 webhook
atlcli 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

Terminal window
atlcli log list # List recent entries
atlcli log list --limit <n>
atlcli log list --since <duration>
atlcli log list --since <date> --until <date>
atlcli log list --level error
atlcli log list --level warn
atlcli log list --type api
atlcli log list --type cli.command
atlcli log list --type sync
atlcli log tail -f # Follow logs
atlcli log tail -f --level error
atlcli log tail --project # Project logs only
atlcli log show <id> # Show entry details
atlcli log clear --before <duration> --confirm
atlcli log clear --before <duration> --global --confirm
atlcli log clear --before <duration> --project --confirm
Terminal window
atlcli plugin list # List all plugins
atlcli plugin list --enabled
atlcli plugin enable <name>
atlcli plugin disable <name>
atlcli plugin install <path> # Install from local path
atlcli plugin remove <name>

Feature flags control experimental or optional functionality. Flags can be set at three levels with decreasing precedence: environment variables, project config, global config.

Terminal window
atlcli flag list # List all flags with sources
atlcli flag ls # Alias for list
atlcli flag get <name> # Get a flag value
atlcli flag get helloworld
atlcli flag set <name> <value> # Set flag (project-level)
atlcli flag set helloworld true
atlcli flag set export.backend libreoffice --global # Set globally
atlcli flag unset <name> # Remove flag (project-level)
atlcli flag rm <name> # Alias for unset
atlcli flag unset helloworld --global # Remove from global config

Flag value types: boolean (true/false), string, number

Precedence (highest to lowest):

LevelLocationEnvironment Variable
1. EnvironmentFLAG_*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: helloworldFLAG_HELLOWORLD, export.backendFLAG_EXPORT_BACKEND

Test command to verify the feature flag system works. Only available when flag.helloworld is true.

Terminal window
# Enable the command
atlcli flag set helloworld true
# Run it
atlcli 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 false

Purpose: 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.

Terminal window
atlcli update # Check for and install updates
atlcli update --check # Check only, don't install
Terminal window
atlcli version # Show version
atlcli --version # Same as above
atlcli -v # Short form
Jira and Confluence are trademarks of Atlassian Corporation Plc. atlcli is not affiliated with, endorsed by, or sponsored by Atlassian.