JIRA Zephyr
Integra com o sistema de gerenciamento de testes Zephyr do JIRA.
Documentação
Servidor MCP JIRA Zephyr
Um servidor Model Context Protocol (MCP) que fornece integração abrangente com o sistema de gerenciamento de testes Zephyr do JIRA. Este servidor permite operações contínuas de gerenciamento de testes, incluindo criação de planos de teste, gerenciamento de ciclos de teste, execução de testes e leitura de issues do JIRA.
Recursos
Capacidades Principais
- Gerenciamento de Planos de Teste: Crie e liste planos de teste no Zephyr
- Gerenciamento de Ciclos de Teste: Crie e gerencie ciclos de execução de testes
- Integração com JIRA: Leia detalhes e metadados de issues do JIRA
- Execução de Testes: Atualize resultados e status de execução de testes
- Acompanhamento de Progresso: Monitore o progresso e estatísticas de execução de testes
- Vinculação de Issues: Associe casos de teste a issues do JIRA
- Relatórios: Gere relatórios abrangentes de execução de testes
Ferramentas Disponíveis
- read_jira_issue - Recupera informações de issues do JIRA
- create_test_plan - Cria novos planos de teste no Zephyr
- list_test_plans - Navega pelos planos de teste existentes
- create_test_cycle - Cria ciclos de execução de testes
- list_test_cycles - Visualiza ciclos de teste com status de execução
- execute_test - Atualiza resultados de execução de testes
- get_test_execution_status - Verifica o progresso da execução de testes
- link_tests_to_issues - Associa testes a issues do JIRA
- generate_test_report - Cria relatórios de execução de testes
Pré-requisitos
- Node.js 18.0.0 ou superior
- Instância do JIRA com Zephyr Scale ou Zephyr Squad
- Credenciais válidas da API do JIRA
- Token de acesso à API do Zephyr
Integração com Cursor
Clone o projeto e adicione o seguinte à sua configuração do Cursor:
{
"mcpServers": {
"jira-zephyr": {
"command": "node",
"args": ["/path/to/jira-zephyr-mcp/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_USERNAME": "your-email@company.com",
"JIRA_API_TOKEN": "your-jira-api-token",
"ZEPHYR_API_TOKEN": "your-zephyr-api-token"
}
}
}
}
Usando Docker
Alternativamente, você pode configurar o Cursor para executar o servidor MCP em Docker (certifique-se de que a imagem foi construída primeiro):
{
"mcpServers": {
"jira-zephyr": {
"command": "docker",
"args": ["run", "--rm", "-i","-e","JIRA_BASE_URL","-e","JIRA_USERNAME","-e","JIRA_API_TOKEN","-e","ZEPHYR_API_TOKEN", "jira-zephyr-mcp"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_USERNAME": "your-email@company.com",
"JIRA_API_TOKEN": "your-jira-api-token",
"ZEPHYR_API_TOKEN": "your-zephyr-api-token"
}
}
}
}
Instalação (para desenvolvimento)
- Clone o repositório:
git clone https://github.com/your-username/jira-zephyr-mcp.git
cd jira-zephyr-mcp
- Instale as dependências:
npm install
- Compile o projeto:
npm run build
Configuração
- Copie o arquivo de ambiente de exemplo:
cp .env.example .env
- Configure suas credenciais do JIRA e Zephyr em
.env:
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_USERNAME=your-email@company.com
JIRA_API_TOKEN=your-jira-api-token
ZEPHYR_API_TOKEN=your-zephyr-api-token
Obtendo Tokens de API
Token da API do JIRA
- Acesse Configurações da Conta Atlassian
- Navegue até Segurança → Tokens de API
- Crie um novo token de API
- Copie o token para o seu arquivo
.env
Token da API do Zephyr
- No JIRA, acesse Apps → Zephyr Scale → Tokens de Acesso à API
- Gere um novo token
- Copie o token para o seu arquivo
.env
Uso
Desenvolvimento
npm run dev
Produção
npm start
Executando com Docker
Você pode containerizar e executar o servidor MCP usando Docker.
Pré-requisitos
- Docker instalado no seu sistema
- O projeto clonado localmente
Construindo a Imagem Docker
- Navegue até o diretório do projeto:
cd /path/to/jira-zephyr-mcp
- Construa a imagem Docker:
docker build -t jira-zephyr-mcp:latest .
Você pode especificar uma tag diferente, se desejar, por exemplo, -t jira-zephyr-mcp:v1.0.0.
Executando o Container
- Execute o container com as variáveis de ambiente necessárias:
docker run -d --name jira-zephyr-mcp \
-e JIRA_BASE_URL=https://your-domain.atlassian.net \
-e JIRA_USERNAME=your-email@company.com \
-e JIRA_API_TOKEN=your-jira-api-token \
-e ZEPHYR_API_TOKEN=your-zephyr-api-token \
jira-zephyr-mcp:latest
Nota: Para integração com sistemas como o Cursor, use a configuração Docker mostrada na seção 'Integração com Cursor' acima. Certifique-se de que a imagem foi construída com a tag desejada que corresponda à sua configuração do Cursor. O servidor se comunica via stdio, então certifique-se de que sua configuração suporte isso ao executar em um container.
Exemplos de Uso das Ferramentas
Lendo Issues do JIRA
// Read basic issue information
await readJiraIssue({ issueKey: "ABC-123" });
// Read specific fields
await readJiraIssue({
issueKey: "ABC-123",
fields: ["summary", "status", "assignee"]
});
Criando Planos de Teste
await createTestPlan({
name: "Release 2.0 Test Plan",
description: "Comprehensive testing for release 2.0",
projectKey: "ABC",
startDate: "2024-01-15",
endDate: "2024-01-30"
});
Gerenciando Ciclos de Teste
// Create a test cycle
await createTestCycle({
name: "Sprint 10 Testing",
description: "Testing for sprint 10 features",
projectKey: "ABC",
versionId: "10001",
environment: "Production"
});
// List test cycles
await listTestCycles({
projectKey: "ABC",
limit: 25
});
Execução de Testes
// Update test execution status
await executeTest({
executionId: "12345",
status: "PASS",
comment: "All tests passed successfully"
});
// Get execution status
await getTestExecutionStatus({ cycleId: "67890" });
Gerando Relatórios
// Generate JSON report
await generateTestReport({
cycleId: "67890",
format: "JSON"
});
// Generate HTML report
await generateTestReport({
cycleId: "67890",
format: "HTML"
});
Tratamento de Erros
O servidor implementa tratamento abrangente de erros:
- Validação de entrada usando esquemas Zod
- Mapeamento de erros de API e mensagens amigáveis ao usuário
- Tratamento de timeout de rede
- Detecção de erros de autenticação
Desenvolvimento
Scripts
npm run build- Compila o projeto TypeScriptnpm run dev- Executa em modo de desenvolvimento com monitoramento de arquivosnpm run lint- Executa ESLintnpm run typecheck- Executa verificação de tipos TypeScript
Estrutura do Projeto
src/
├── index.ts # Main MCP server entry point
├── clients/ # API clients
│ ├── jira-client.ts # JIRA REST API client
│ └── zephyr-client.ts # Zephyr API client
├── tools/ # MCP tool implementations
│ ├── jira-issues.ts # JIRA issue tools
│ ├── test-plans.ts # Test plan management
│ ├── test-cycles.ts # Test cycle management
│ └── test-execution.ts # Test execution tools
├── types/ # TypeScript type definitions
│ ├── jira-types.ts # JIRA API types
│ └── zephyr-types.ts # Zephyr API types
└── utils/ # Utility functions
├── config.ts # Configuration management
└── validation.ts # Input validation schemas
Contribuindo
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça suas alterações
- Adicione testes para novas funcionalidades
- Envie um pull request
Segurança
- Nunca envie tokens de API ou credenciais para o repositório
- Use variáveis de ambiente para toda configuração sensível
- Rotacione os tokens de API regularmente
- Implemente controles de acesso adequados na sua instância do JIRA
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes
Suporte
Para problemas e perguntas:
- Verifique as issues existentes no GitHub
- Crie uma nova issue com informações detalhadas
- Inclua logs de erro e configuração (sem dados sensíveis)
Roadmap
- Suporte para Zephyr Squad (além do Zephyr Scale)
- Operações de execução de testes em lote
- Relatórios avançados com gráficos e métricas
- Criação e gerenciamento de casos de teste
- Integração com pipelines de CI/CD
- Suporte a campos personalizados para gerenciamento de testes