atlassian-cli
Servidor MCP e CLI em binário único para Jira e Confluence. Amigável para CI/CD, eficiente em contexto, suporta Cloud e Server/DC.
Documentação
atlassian-cli
Instalação
go install (recomendado)
Requer Go 1.21+:
go install github.com/putcho01/atlassian-cli@latest
Se
$GOPATH/binnão estiver no seu$PATH, adicione o seguinte ao seu arquivo de configuração do shell (~/.zshrc, etc.):export PATH="$PATH:$(go env GOPATH)/bin"
A partir do código-fonte
git clone https://github.com/putcho01/atlassian-cli.git
cd atlassian-cli
go build -o atlassian-cli .
Início Rápido
Cloud (atlassian.net)
-
Defina as variáveis de ambiente:
export JIRA_URL=https://your-domain.atlassian.net
export JIRA_EMAIL=you@example.com
export JIRA_API_TOKEN=your-api-token
- Verifique a autenticação:
atlassian-cli jira myself
Para usar também o Confluence, defina as variáveis adicionais:
export CONFLUENCE_URL=https://your-domain.atlassian.net/wiki
export CONFLUENCE_EMAIL=you@example.com
export CONFLUENCE_API_TOKEN=your-api-token
Server/Data Center
export JIRA_URL=https://jira.example.com
export JIRA_PERSONAL_TOKEN=your-pat
Se
JIRA_EMAILnão estiver definido, a autenticação Bearer (PAT) é usada automaticamente.
Autenticação
Dois métodos de autenticação são suportados:
Cloud - Token de API (Autenticação Básica)
Usado com Atlassian Cloud (*.atlassian.net). Autentica via autenticação básica usando seu endereço de e-mail e token de API.
| Variável | Descrição |
|---|---|
JIRA_URL | URL do Jira Cloud (ex.: https://your-domain.atlassian.net) |
JIRA_EMAIL | Endereço de e-mail da sua conta Atlassian |
JIRA_API_TOKEN | Token de API |
JIRA_DEFAULT_PROJECT | Chave de projeto padrão usada quando --project é omitida (opcional) |
CONFLUENCE_URL | URL do Confluence Cloud (ex.: https://your-domain.atlassian.net/wiki) |
CONFLUENCE_EMAIL | Endereço de e-mail da sua conta Atlassian |
CONFLUENCE_API_TOKEN | Token de API |
Server/Data Center - Token de Acesso Pessoal (Bearer)
Usado com Jira/Confluence Server/DC auto-hospedados. Autentica via autenticação Bearer usando um PAT.
| Variável | Descrição |
|---|---|
JIRA_URL | URL base do Jira (ex.: https://jira.example.com) |
JIRA_PERSONAL_TOKEN | Token de Acesso Pessoal |
JIRA_DEFAULT_PROJECT | Chave de projeto padrão usada quando --project é omitida (opcional) |
CONFLUENCE_URL | URL base do Confluence |
CONFLUENCE_PERSONAL_TOKEN | Token de Acesso Pessoal |
Se
Apenas as variáveis do serviço que você usa são necessárias. Por exemplo, se você usa apenas o Jira, não precisa definir as variáveis do Confluence.
Comandos
Jira
# Authentication
atlassian-cli jira myself # Show authenticated user
# Issues
atlassian-cli jira issue get PROJ-123 # Get issue (includes description)
atlassian-cli jira issue open PROJ-123 # Open issue in browser
atlassian-cli jira issue search "project = PROJ" # Search issues via JQL
atlassian-cli jira issue search "project = PROJ" -i # Interactive TUI picker (↑/↓ navigate, enter detail, o open, q quit)
atlassian-cli jira issue create --project PROJ --summary "New task" # or omit --project if JIRA_DEFAULT_PROJECT is set
atlassian-cli jira issue update PROJ-123 --field summary="Updated summary"
atlassian-cli jira issue delete PROJ-123
atlassian-cli jira issue subtasks PROJ-123
atlassian-cli jira issue transition PROJ-123 "In Progress"
# Comments
atlassian-cli jira issue comment list PROJ-123
atlassian-cli jira issue comment add PROJ-123 --body "Looks good to me"
Confluence
# Pages
atlassian-cli confluence page get 12345 # Get page content
atlassian-cli confluence page create --space PROJ --title "New Page" --body "<p>Hello</p>"
atlassian-cli confluence page create --space PROJ --title "Child Page" --parent 12345 --body "<p>Child</p>"
atlassian-cli confluence page update 12345 --title "Updated Title" --body "<p>New content</p>" # version auto-detected
atlassian-cli confluence page update 12345 --title "Updated Title" --body "<p>New content</p>" --version 3 # explicit version
# Labels
atlassian-cli confluence label list 12345
atlassian-cli confluence label add 12345 important,reviewed
atlassian-cli confluence label remove 12345 outdated
# Page Restrictions
atlassian-cli confluence restriction list 12345
atlassian-cli confluence restriction add 12345 --operation update --type user --name <account-id>
atlassian-cli confluence restriction remove 12345 --operation update --type user --name <account-id>
Formatos de Saída
Todos os comandos suportam três formatos de saída via a flag --output / -o:
# Default: human-readable table
atlassian-cli jira issue search "project = PROJ" -o table
# Machine-readable JSON
atlassian-cli jira issue search "project = PROJ" -o json
# GitHub-flavored Markdown (great for Claude Code)
atlassian-cli jira issue search "project = PROJ" -o markdown
Conversão de HTML para Markdown
Ao usar -o markdown, o conteúdo HTML (descrições do Jira, corpos de páginas e comentários do Confluence) é automaticamente convertido para Markdown limpo no estilo GitHub. Macros de formato de armazenamento do Confluence também são tratados:
- Blocos de código (
ac:structured-macro name="code") -> blocos de código cercados - Admoestações (note, info, warning, tip) -> citações em bloco com rótulos
- Links de páginas (
ac:link) -> texto enfatizado - Macros de sumário -> removidas
Servidor MCP
Inicie como um servidor MCP para integração com assistentes de IA:
atlassian-cli mcp-server
Filtragem de Grupos de Ferramentas
Filtre as ferramentas disponíveis usando a flag --tools:
# Only enable Jira issue and search tools
atlassian-cli mcp-server --tools jira_issue,jira_search
# Only enable Confluence tools
atlassian-cli mcp-server --tools confluence_page,confluence_label
Grupos de ferramentas disponíveis:
jira_user- Autenticação do usuáriojira_issue- Obter issue, subtarefasjira_search- Pesquisar issues via JQLjira_create- Criar issuesjira_update- Atualizar issuesjira_delete- Excluir issuesjira_transition- Transicionar issues, obter transições disponíveisconfluence_page- Obter conteúdo de páginasconfluence_label- Gerenciamento de rótulosconfluence_restriction- Gerenciamento de restrições de páginas
Integração com Claude Code
Adicione às configurações MCP do seu Claude Code:
{
"mcpServers": {
"atlassian": {
"command": "atlassian-cli",
"args": ["mcp-server"],
"env": {
"JIRA_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "you@example.com",
"JIRA_API_TOKEN": "your-api-token",
"CONFLUENCE_URL": "https://your-domain.atlassian.net/wiki",
"CONFLUENCE_EMAIL": "you@example.com",
"CONFLUENCE_API_TOKEN": "your-api-token"
}
}
}
}
Por que não o ACLI oficial?
A Atlassian fornece uma CLI oficial (ACLI) e um servidor MCP remoto para integração com IA. Veja como esta ferramenta difere:
vs. ACLI
| atlassian-cli | ACLI | |
|---|---|---|
| Distribuição | Binário único, sem dependências | Requer instalação de pacotes |
| Autenticação | Apenas variáveis de ambiente | acli auth login interativo |
| Compatibilidade com CI/CD | Alta — sem necessidade de fluxo de navegador | Limitada — login headless é complicado |
| Suporte a Server/DC | Sim (autenticação PAT) | Focado em Cloud |
| Público-alvo | Desenvolvedores, automação, agentes de IA | Administradores, operações em massa |
vs. servidor MCP remoto da Atlassian
O servidor MCP remoto da Atlassian tornou-se GA em fevereiro de 2026, mas vem com desvantagens:
- Pesado em contexto — carrega 73 esquemas de ferramentas antecipadamente, consumindo 40–50% da janela de contexto antes de qualquer trabalho real
- OAuth obrigatório — fluxo de autenticação baseado em navegador; não adequado para ambientes headless ou CI/CD
- Dependência de rede — requer uma conexão de saída para o servidor remoto da Atlassian
A flag --tools desta ferramenta permite carregar apenas os grupos que você precisa, mantendo o uso de tokens mínimo para agentes de IA.
Quando escolher esta ferramenta
- Executando em pipelines de CI/CD ou scripts de automação (autenticação apenas via variáveis de ambiente)
- Usando tanto Server/Data Center quanto Cloud com uma única interface
- Incorporando como um servidor MCP em agentes de IA onde a eficiência de contexto é importante
Licença
MIT