A lightweight, containerized wrapper for Atlassian CLI (ACLI) that simplifies Jira Cloud operations through Docker.
Use it to download Jira issues and interact with Jira from the command line.
Using this wrapper:
- Provides an alternative to MCP: reducing time and consuming fewer tokens
- Zero-configuration global installation
- Does not require special instructions for LLMs to use since it's just a CLI
- Use it to compose powerful scripts without the need for an MCP integration
- More complete feature set than the Jira MCP
- Quick Start
- Prerequisites
- Installation
- Configuration
- Usage
- Image Information
- Development
- Contributing
- License
- One-Line Install
curl -fsSL https://raw.githubusercontent.com/zero-to-prod/acli/main/install.sh | bash- Authenticate:
Get a token from https://id.atlassian.com/manage-profile/security/api-tokens
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli:latest jira auth login- View an issue:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem view PROJ-123- Alias (Recommended) Since this package is a Docker wrapper, an LLM should need no specific instructions to use the underlying CLI.
Adding an alias makes the wrapper transparent, allowing it to be used naturally.
alias acli='docker run -it --rm -v ~/.config/acli:/root/.config/acli -v $(pwd):/workspace -w /workspace davidsmith3/acli'- Run Directly (Optional)
Use this to run in non-interactive contexts such as CI/CD pipelines, scripts, or other automation.
docker run --rm -v ~/.config/acli:/root/.config/acli -v $(pwd):/workspace -w /workspace davidsmith3/acli jira workitem view [ISSUE_KEY]# Pull the image
docker pull davidsmith3/acli:latest
# Authenticate (one-time setup)
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira auth login
# Run a command (example: view a Jira issue)
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem view PROJ-123For convenience, create an alias in your shell configuration (.bashrc, .zshrc):
alias acli='docker run -it --rm -v ~/.config/acli:/root/.config/acli -v $(pwd):/workspace -w /workspace davidsmith3/acli'Before using this Docker image, ensure you have:
- Docker: Version 20.10+ or Docker Desktop (Windows/Mac)
- Docker Compose (optional): Version 1.29+
- Atlassian Account: With API token for authentication
Pull the latest image from Docker Hub:
docker pull davidsmith3/acli:latestCreate a docker-compose.yml:
services:
acli:
image: davidsmith3/acli:latest
container_name: acli
volumes:
- ~/.config/acli:/root/.config/acli
environment:
- TZ=UTCRun with:
docker-compose run --rm acli --helplatest- Current stable release (recommended){X.Y.Z}- Specific versions (e.g.,1.1.3){X.Y}- Major.minor versions (e.g.,1.1)
ACLI requires authentication to connect to your Atlassian instance.
Configure ACLI with your credentials:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira auth loginFollow the interactive prompts to:
- Set your Atlassian instance URL
- Provide your email address
- Enter your API token
Optional environment variables you can set:
docker run -it --rm \
-e ACLI_HOME=/root/.config/acli \
-e TZ=UTC \
-v ~/.config/acli:/root/.config/acli \
davidsmith3/acli [COMMAND]Supported variables:
ACLI_HOME- Configuration directory (default:/root/.config/acli)TZ- Timezone setting (default:UTC)
Essential volumes:
| Volume | Purpose | Required |
|---|---|---|
~/.config/acli:/root/.config/acli |
Credentials & configuration | Yes |
$(pwd):/workspace |
Current directory access | Optional |
Example with workspace mount:
docker run -it --rm \
-v ~/.config/acli:/root/.config/acli \
-v $(pwd):/workspace \
-w /workspace \
davidsmith3/acli [COMMAND]- Credentials are stored in
~/.config/aclion your host machine - Never commit
.config/aclito version control - Ensure file permissions are restrictive:
chmod 700 ~/.config/acli - Use API tokens instead of passwords for authentication
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli [COMMAND] [OPTIONS]Display help:
# General help
docker run -it --rm davidsmith3/acli --help
# Command-specific help
docker run -it --rm davidsmith3/acli [COMMAND] --helpView an issue:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem view PROJ-123View with all fields:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem view PROJ-123 --fields '*all'Search for issues:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem search --jql "project = MY-PROJECT"Create an issue:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem create \
--project MY-PROJECT \
--type Bug \
--summary "Issue summary" \
--description "Issue description"Add a comment:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem comment \
PROJ-123 \
--add "This is a comment"Transition an issue:
docker run -it --rm -v ~/.config/acli:/root/.config/acli davidsmith3/acli jira workitem transition \
PROJ-123 \
--name "In Progress"After adding the alias, restart your shell or run source ~/.bashrc. Then you can use:
acli jira workitem view PROJ-123# Run a command
docker-compose run --rm acli jira workitem search --jql "project = MY-PROJECT"
# Interactive mode
docker-compose run --rm acliExport issues using JQL search with CSV format:
docker run -it --rm \
-v ~/.config/acli:/root/.config/acli \
-v $(pwd):/workspace \
-w /workspace \
davidsmith3/acli jira workitem search \
--jql "project = MY-PROJECT" \
--csv > export.csv- Repository: davidsmith3/acli
- Pull Command:
docker pull davidsmith3/acli
# Pull the latest version
docker pull davidsmith3/acli:latest
# Verify the update
docker run --rm davidsmith3/acli --versionFor development or custom builds, see Image Development.
- GitHub Repository: zero-to-prod/acli
- Docker Hub: davidsmith3/acli
- ACLI Official Docs: Atlassian CLI Reference
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
Please read our:
- Contributing Guide - Contribution guidelines
- Code of Conduct - Community standards
- Security Policy - Vulnerability reporting
- Fork the repository
- Create a new branch (
git checkout -b feature-branch) - Make your changes
- Commit changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature-branch) - Create a Pull Request
This project is licensed under the MIT License - see LICENSE.md for details.
Maintained by: ZeroToProd Last Updated: 2025-11-16