{"id":40077170,"url":"https://github.com/omar16100/atlassian-cli","last_synced_at":"2026-03-14T01:54:59.511Z","repository":{"id":325197372,"uuid":"1100163773","full_name":"omar16100/atlassian-cli","owner":"omar16100","description":"Unified CLI for Jira, Confluence, Bitbucket \u0026 JSM. Automate your entire Atlassian Cloud stack from the terminal.","archived":false,"fork":false,"pushed_at":"2026-01-26T03:01:31.000Z","size":524,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-26T07:25:35.265Z","etag":null,"topics":["atlassian","automation","bitbucket","cli","confluence","devops","jira","rust"],"latest_commit_sha":null,"homepage":"https://atlassiancli.com/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omar16100.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-19T23:24:26.000Z","updated_at":"2026-01-25T14:43:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/omar16100/atlassian-cli","commit_stats":null,"previous_names":["omar16100/atlassian-cli"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/omar16100/atlassian-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar16100%2Fatlassian-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar16100%2Fatlassian-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar16100%2Fatlassian-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar16100%2Fatlassian-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omar16100","download_url":"https://codeload.github.com/omar16100/atlassian-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omar16100%2Fatlassian-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28932621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atlassian","automation","bitbucket","cli","confluence","devops","jira","rust"],"created_at":"2026-01-19T09:02:11.293Z","updated_at":"2026-03-14T01:54:59.495Z","avatar_url":"https://github.com/omar16100.png","language":"Rust","readme":"# atlassian-cli\n\n\u003e Unified CLI for Jira, Confluence, Bitbucket \u0026 JSM\n\nAutomate your entire Atlassian Cloud stack from the terminal. Bulk operations,\ndry-run mode, multiple output formats (JSON/CSV/YAML/table), and profile-based\nmulti-instance support.\n\n[![CI](https://github.com/omar16100/atlassian-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/omar16100/atlassian-cli/actions)\n[![crates.io](https://img.shields.io/crates/v/atlassian-cli.svg)](https://crates.io/crates/atlassian-cli)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n## Installation\n\n### Homebrew (macOS/Linux)\n\n```bash\n# Add the tap (first time only)\nbrew tap omar16100/atlassian-cli\n\n# Install\nbrew install atlassian-cli\n\n# Verify installation\natlassian-cli --version\n```\n\n### Cargo (from crates.io)\n\n```bash\ncargo install atlassian-cli\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/omar16100/atlassian-cli\ncd atlassian-cli\ncargo install --path crates/cli\n```\n\n### Pre-built Binaries\n\nDownload the latest release for your platform from the [Releases page](https://github.com/omar16100/atlassian-cli/releases).\n\n## Project Layout\n```\ncrates/\n  cli/       # Clap-based binary entry point\n  api/       # Thin HTTP client wrapper (reqwest)\n  auth/      # Encrypted credential storage (AES-256-GCM)\n  config/    # YAML profile loader (~/.atlassian-cli/config.yaml)\n  output/    # Output formatting helpers (table/json/yaml/csv/quiet)\n  bulk/      # Concurrency + dry-run aware executor\n```\n\n## Getting Started\n1. Install the Rust toolchain (rustup) and ensure `cargo` is on your PATH.\n2. Fetch dependencies and verify the workspace compiles:\n   ```bash\n   cargo check\n   ```\n3. Install the CLI locally so the `atlassian-cli` binary is available (ensure `~/.cargo/bin` is in your PATH):\n   ```bash\n   cargo install --path crates/cli\n   ```\n4. Run the CLI help to inspect current subcommands:\n   ```bash\n   atlassian-cli --help\n   atlassian-cli jira --help\n   atlassian-cli confluence --help\n   atlassian-cli bitbucket --help  # or use 'bb' alias\n   atlassian-cli bb --help\n   ```\n5. Add a profile and API token:\n   ```bash\n   atlassian-cli auth login \\\n     --profile personal \\\n     --base-url https://example.atlassian.net \\\n     --email you@example.com \\\n     --token $ATLASSIAN_API_TOKEN \\\n     --default\n   ```\n6. List configured profiles (reads `~/.atlassian-cli/config.yaml` if present):\n   ```bash\n   atlassian-cli auth list\n   ```\n   *Tip:* Use `cp configs/config.example.yaml ~/.atlassian-cli/config.yaml` as a starting point before running the login command.\n7. Try the Jira, Confluence, Bitbucket, and JSM commands (requires real data):\n   ```bash\n   # Jira - Issues\n   atlassian-cli jira search --jql \"project = DEV order by created desc\" --limit 5\n   atlassian-cli jira get DEV-123\n   atlassian-cli jira create --project DEV --issue-type Task --summary \"Test task\"\n   atlassian-cli jira update DEV-123 --summary \"Updated summary\"\n   atlassian-cli jira transition DEV-123 --transition \"In Progress\"\n   atlassian-cli jira assign DEV-123 --assignee user@example.com\n   atlassian-cli jira delete DEV-123\n\n   # Jira - Projects\n   atlassian-cli jira project list\n   atlassian-cli jira project get DEV\n   atlassian-cli jira components list --project DEV\n   atlassian-cli jira versions list --project DEV\n\n   # Jira - Roles\n   atlassian-cli jira roles list --project DEV\n   atlassian-cli jira roles get --project DEV --role-id 10002\n   atlassian-cli jira roles actors --project DEV --role-id 10002\n   atlassian-cli jira roles add-actor --project DEV --role-id 10002 --user user@example.com\n   atlassian-cli jira roles remove-actor --project DEV --role-id 10002 --user user@example.com\n\n   # Jira - Custom Fields \u0026 Workflows\n   atlassian-cli jira fields list\n   atlassian-cli jira workflows list\n   atlassian-cli jira workflows export --name \"Software Simplified Workflow\"\n\n   # Jira - Bulk Operations\n   atlassian-cli jira bulk transition --jql \"project = DEV AND status = Open\" --transition \"In Progress\" --dry-run\n   atlassian-cli jira bulk assign --jql \"project = DEV AND assignee is EMPTY\" --assignee admin@example.com\n   atlassian-cli jira bulk export --jql \"project = DEV\" --output issues.json --format json\n\n   # Jira - Automation \u0026 Webhooks\n   atlassian-cli jira automation list\n   atlassian-cli jira webhooks list\n   atlassian-cli jira audit list --from 2025-01-01 --limit 100\n\n   # Confluence - Search\n   atlassian-cli confluence search cql --cql \"space = DEV and type = page\" --limit 5\n   atlassian-cli confluence search text --query \"meeting notes\" --limit 10\n   atlassian-cli confluence search in-space --space DEV --query \"api docs\"\n\n   # Confluence - Spaces\n   atlassian-cli confluence space list --limit 10\n   atlassian-cli confluence space get DEV\n   atlassian-cli confluence space create --key DOCS --name \"Documentation\" --description \"Team docs\"\n   atlassian-cli confluence space update DEV --name \"Development Space\"\n   atlassian-cli confluence space delete OLD --force\n   atlassian-cli confluence space permissions DEV\n   atlassian-cli confluence space add-permission DEV --principal user@example.com --operation read\n\n   # Confluence - Pages\n   atlassian-cli confluence page list --space DEV --limit 25\n   atlassian-cli confluence page get --id 12345\n   atlassian-cli confluence page create --space DEV --title \"New Page\" --body \"\u003cp\u003eContent\u003c/p\u003e\"\n   atlassian-cli confluence page update --id 12345 --title \"Updated Title\"\n   atlassian-cli confluence page delete --id 12345\n   atlassian-cli confluence page versions --id 12345\n   atlassian-cli confluence page add-label --id 12345 --label documentation\n   atlassian-cli confluence page remove-label --id 12345 --label outdated\n   atlassian-cli confluence page comments --id 12345\n   atlassian-cli confluence page add-comment --id 12345 --body \"Great work!\"\n   atlassian-cli confluence page get-restrictions --id 12345\n   atlassian-cli confluence page add-restriction --id 12345 --operation update --user user@example.com\n   atlassian-cli confluence page remove-restriction --id 12345 --operation update --user user@example.com\n\n   # Confluence - Blog Posts\n   atlassian-cli confluence blog list --space DEV --limit 10\n   atlassian-cli confluence blog get --id 67890\n   atlassian-cli confluence blog create --space DEV --title \"Sprint Recap\" --body \"\u003cp\u003eSummary\u003c/p\u003e\"\n   atlassian-cli confluence blog update --id 67890 --title \"Updated Recap\"\n   atlassian-cli confluence blog delete --id 67890\n\n   # Confluence - Attachments\n   atlassian-cli confluence attachment list --page-id 12345\n   atlassian-cli confluence attachment get --id 11111\n   atlassian-cli confluence attachment upload --page-id 12345 --file ./diagram.png\n   atlassian-cli confluence attachment download --id 11111 --output ./download.png\n   atlassian-cli confluence attachment delete --id 11111\n\n   # Confluence - Bulk Operations\n   atlassian-cli confluence bulk delete --space OLD --dry-run\n   atlassian-cli confluence bulk add-labels --cql \"space = DEV\" --labels docs,reviewed --dry-run\n   atlassian-cli confluence bulk export --space DEV --output backup.json --format json\n\n   # Confluence - Analytics\n   atlassian-cli confluence analytics page-views --id 12345 --from 2025-01-01\n   atlassian-cli confluence analytics space-stats --space DEV\n\n   # Bitbucket Commands\n   # Note: You can use 'bb' as a shorthand alias for 'bitbucket' in all commands below\n   # Examples: atlassian-cli bb whoami  OR  atlassian-cli bitbucket whoami\n\n   # Bitbucket - User Info\n   atlassian-cli bitbucket whoami\n\n   # Bitbucket - Repositories\n   atlassian-cli bitbucket --workspace myteam repo list --limit 10\n   atlassian-cli bitbucket --workspace myteam repo get api-service\n   atlassian-cli bitbucket --workspace myteam repo create newrepo --name \"New Repo\" --private\n   atlassian-cli bitbucket --workspace myteam repo update api-service --description \"Updated description\"\n   atlassian-cli bitbucket --workspace myteam repo delete oldrepo --force\n\n   # Bitbucket - Branches\n   atlassian-cli bitbucket --workspace myteam branch list api-service\n   atlassian-cli bitbucket --workspace myteam branch create api-service feature/new --from main\n   atlassian-cli bitbucket --workspace myteam branch delete api-service feature/old --force\n   atlassian-cli bitbucket --workspace myteam branch protect api-service --pattern \"main\" --kind restrict_merges --approvals 2\n   atlassian-cli bitbucket --workspace myteam branch restrictions api-service\n\n   # Bitbucket - Pull Requests\n   atlassian-cli bitbucket --workspace myteam pr list api-service --state OPEN --limit 5\n   atlassian-cli bitbucket --workspace myteam pr get api-service 123\n   atlassian-cli bitbucket --workspace myteam pr create api-service --title \"Add feature\" --source feature/new --destination main\n   atlassian-cli bitbucket --workspace myteam pr update api-service 123 --title \"Updated title\"\n   atlassian-cli bitbucket --workspace myteam pr approve api-service 123\n   atlassian-cli bitbucket --workspace myteam pr merge api-service 123 --strategy merge_commit\n   atlassian-cli bitbucket --workspace myteam pr comments api-service 123\n   atlassian-cli bitbucket --workspace myteam pr comment api-service 123 --text \"Looks good!\"\n\n   # Bitbucket - Workspaces \u0026 Projects\n   atlassian-cli bitbucket workspace list --limit 10\n   atlassian-cli bitbucket workspace get myteam\n   atlassian-cli bitbucket --workspace myteam project list\n   atlassian-cli bitbucket --workspace myteam project create PROJ --name \"My Project\" --private\n   atlassian-cli bitbucket --workspace myteam project delete PROJ --force\n\n   # Bitbucket - Pipelines\n   atlassian-cli bitbucket --workspace myteam pipeline list api-service\n   atlassian-cli bitbucket --workspace myteam pipeline trigger api-service --ref-name main\n   atlassian-cli bitbucket --workspace myteam pipeline stop api-service {uuid}\n\n   # Bitbucket - Webhooks \u0026 SSH Keys\n   atlassian-cli bitbucket --workspace myteam webhook list api-service\n   atlassian-cli bitbucket --workspace myteam webhook create api-service --url https://example.com/hook --events repo:push\n   atlassian-cli bitbucket --workspace myteam ssh-key list api-service\n   atlassian-cli bitbucket --workspace myteam ssh-key add api-service --label deploy --key \"ssh-rsa ...\"\n\n   # Bitbucket - Permissions \u0026 Commits\n   atlassian-cli bitbucket --workspace myteam permission list api-service\n   atlassian-cli bitbucket --workspace myteam permission grant api-service --user-uuid {uuid} --permission write\n   atlassian-cli bitbucket --workspace myteam commit list api-service --branch main\n   atlassian-cli bitbucket --workspace myteam commit diff api-service abc123\n   atlassian-cli bitbucket --workspace myteam commit browse api-service --commit main --path src/\n\n   # Bitbucket - Bulk Operations\n   atlassian-cli bitbucket --workspace myteam bulk archive-repos --days 180 --dry-run\n   atlassian-cli bitbucket --workspace myteam bulk delete-branches api-service --exclude feature/keep --dry-run\n\n   # JSM\n   atlassian-cli jsm servicedesk list --limit 10\n   atlassian-cli jsm request list --limit 10\n   atlassian-cli jsm request get SD-123\n   ```\n\n## Command Aliases\n\nFor convenience, the following command aliases are available:\n\n| Full Command | Alias | Description |\n|-------------|-------|-------------|\n| `bitbucket` | `bb`  | Bitbucket commands |\n\nExample usage:\n```bash\n# Full command\natlassian-cli bitbucket pipeline list --workspace myworkspace\n\n# Using alias (shorter and faster to type)\natlassian-cli bb pipeline list --workspace myworkspace\n\n# Both commands work identically\natlassian-cli bitbucket repo list --workspace myteam\natlassian-cli bb repo list --workspace myteam\n```\n\n## Bitbucket Authentication\n\nBitbucket requires a **separate scoped API token** from Jira/Confluence.\n\n### Why Separate Tokens?\n\n| Product | Token Type | Creation Method |\n|---------|-----------|-----------------|\n| Jira/Confluence | Regular API token | \"Create API token\" |\n| **Bitbucket** | Scoped API token | \"Create API token with scopes\" → select Bitbucket |\n\nAtlassian deprecated Bitbucket app passwords in favor of scoped API tokens. These tokens must be created specifically for Bitbucket with explicit permission scopes.\n\n### Creating a Bitbucket Token\n\n1. Go to https://id.atlassian.com/manage-profile/security/api-tokens\n2. Click **\"Create API token with scopes\"** (not regular \"Create API token\")\n3. Select **Bitbucket** as the app\n4. Add required scopes:\n   - `read:repository:bitbucket` - list/view repos\n   - `write:repository:bitbucket` - create/update repos\n   - `read:pullrequest:bitbucket` - view PRs\n   - `admin:repository:bitbucket` - admin operations\n5. Copy the token\n\n**Note:** Bitbucket `admin:*` scopes do NOT include `read:*` permissions - add both if needed.\n\n### Setting the Bitbucket Token\n\nThe CLI checks these environment variables in order:\n\n| Priority | Variable | Description |\n|----------|----------|-------------|\n| 1 | `ATLASSIAN_CLI_BITBUCKET_TOKEN_{PROFILE}` | Profile-specific Bitbucket token |\n| 2 | `ATLASSIAN_BITBUCKET_TOKEN` | Generic Bitbucket token |\n| 3 | `BITBUCKET_TOKEN` | Simple fallback |\n| 4 | `ATLASSIAN_CLI_TOKEN_{PROFILE}` | Falls back to regular token |\n\n```bash\n# Option 1: Profile-specific (recommended for multiple profiles)\nexport ATLASSIAN_CLI_BITBUCKET_TOKEN_WORK=your-bitbucket-scoped-token\n\n# Option 2: Generic Bitbucket token (simpler for single profile)\nexport ATLASSIAN_BITBUCKET_TOKEN=your-bitbucket-scoped-token\n\n# Option 3: Simple fallback\nexport BITBUCKET_TOKEN=your-bitbucket-scoped-token\n\n# The CLI will use this token for Bitbucket commands\natlassian-cli bitbucket repo list --workspace myteam\n```\n\nIf no Bitbucket-specific token is found, commands fall back to the regular `ATLASSIAN_CLI_TOKEN_{PROFILE}` token.\n\n## Developer Workflow\n- `make fmt` / `make clippy` / `make test` keep the workspace tidy using the standard Rust tooling stack (mirrored in `just fmt`, `just clippy`, etc.).\n- `make install` (or `just install`) compiles and installs the CLI locally from `crates/cli`.\n\n## Testing\n\nThe project includes comprehensive unit and integration tests.\n\n### Running Tests\n\n```bash\n# Run all tests\ncargo test --workspace\n\n# Run tests for specific crate\ncargo test -p atlassian-cli-config\ncargo test -p atlassian-cli-output\ncargo test -p atlassian-cli-bulk\n\n# Run integration tests\ncargo test --test cli_integration\ncargo test --test jira_integration\ncargo test --test bitbucket_integration\ncargo test --test confluence_integration\n\n# Run tests with output\ncargo test -- --nocapture\n```\n\n### Test Coverage\n\n- **Config crate**: 12 tests covering profile management, YAML parsing, and error handling\n- **Output crate**: 22 tests for all output formats (table/JSON/CSV/YAML/quiet)\n- **Bulk crate**: 10 tests for concurrency, dry-run, error handling, and progress tracking\n- **Auth crate**: 3 tests for credential helpers\n- **CLI integration tests**: 17 tests validating CLI commands and help output\n- **Jira integration tests**: 9 tests with wiremock for issues, projects, audit, webhooks, and error handling\n- **Bitbucket integration tests**: 15 tests for repos, branches, PRs, approvals, and branch protection\n- **Confluence integration tests**: 11 tests for spaces, pages, search, and bulk operations\n- **Total**: 99 passing tests\n\n### CI/CD\n\nGitHub Actions workflow runs on every push/PR:\n- `cargo fmt --check` - Code formatting\n- `cargo clippy -- -D warnings` - Linting\n- `cargo test --workspace` - Full test suite\n- Multi-platform builds (Linux, macOS, Windows)\n\n## Current Status\n\n### Completed Features\n\n**Phase 1 - Foundation** (100% complete)\n- ✅ Cargo workspace with modular crate structure\n- ✅ Config loader with profile support (~/.atlassian-cli/config.yaml)\n- ✅ API token authentication (Basic auth with email+token)\n- ✅ HTTP client with retry, rate limiting, and pagination\n- ✅ Multi-format output (table/JSON/CSV/YAML/quiet)\n- ✅ Bulk operation executor with concurrency control\n- ✅ Comprehensive unit tests (44 tests)\n- ✅ CI/CD with GitHub Actions\n\n**Phase 2 - Jira CLI** (100% complete)\n- ✅ Issue CRUD operations (create/read/update/delete/search/transition)\n- ✅ Issue management (assign/unassign, watchers, links, comments)\n- ✅ Project lifecycle (list/get/create/update/delete)\n- ✅ Components and versions management\n- ✅ Custom fields (list/get/create/delete)\n- ✅ Workflows (list/get/export)\n- ✅ Bulk operations (transition/assign/label/export/import)\n- ✅ Automation rules (list/get/create/update/enable/disable)\n- ✅ Webhooks (full CRUD + test)\n- ✅ Audit log access (list/export)\n- ✅ Role management (list/get/actors/add-actor/remove-actor)\n- ✅ Integration tests with API mocking (9 tests)\n\n**Phase 4 - Bitbucket CLI** (100% complete)\n- ✅ Repository CRUD operations (list/get/create/update/delete)\n- ✅ Branch management (list/get/create/delete/protect/unprotect)\n- ✅ Pull request workflow (list/get/create/update/merge/decline)\n- ✅ PR approvals, comments, and reviewers\n- ✅ Branch protection and restrictions\n- ✅ Workspace operations (list/get)\n- ✅ Project management (list/get/create/update/delete)\n- ✅ Pipeline operations (list/get/trigger/stop/logs)\n- ✅ Webhooks (list/create/delete)\n- ✅ SSH deploy keys (list/add/delete)\n- ✅ Repository permissions (list/grant/revoke)\n- ✅ Commit operations (list/get/diff/browse)\n- ✅ Bulk operations (archive stale repos, delete merged branches)\n- ✅ User info (whoami)\n- ✅ Integration tests with API mocking (15 tests)\n\n**Phase 3 - Confluence CLI** (100% complete)\n- ✅ Space operations (list/get/create/update/delete/permissions)\n- ✅ Page management (CRUD, versions, labels, comments, restrictions)\n- ✅ Blog posts (list/get/create/update/delete)\n- ✅ Attachments (list/get/upload/download/delete)\n- ✅ Search (CQL, text, in-space)\n- ✅ Bulk operations (delete, add-labels, export)\n- ✅ Analytics (page-views, space-stats)\n- ✅ Integration tests with API mocking (11 tests)\n\n**Additional Products** (Partial)\n- ✅ JSM CLI: Service desk and request operations\n- ⏳ Opsgenie CLI: Placeholder\n- ⏳ Bamboo CLI: Placeholder\n\n### Next Steps\n- Complete Phase 5: JSM CLI (organizations, SLA, Insight assets)\n- Complete Phase 6: Opsgenie CLI\n- Complete Phase 7: Bamboo CLI\n- Add recipe documentation for common workflows\n- Package releases (binaries, Docker, Homebrew)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar16100%2Fatlassian-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomar16100%2Fatlassian-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar16100%2Fatlassian-cli/lists"}