Uma aplicação full-stack para controle e lançamento de horas trabalhadas no Jira. Com ela você inicia o dia, registra tarefas, pausas e ao final do expediente lança automaticamente o tempo gasto em cada issue.
lancador-de-horas/
├── lancador-de-horas-backend/ # API Python (FastAPI)
└── lancador-de-horas-frontend/ # Interface React + TypeScript (Vite)
API REST feita com FastAPI que se autentica no Jira via token e registra worklogs.
- Python 3.8+
- Conta no Jira com permissão para lançar horas
cd lancador-de-horas-backend
python -m venv .venv
# Windows
source .venv/Scripts/activate
# Linux/macOS
source .venv/bin/activate
pip install -r requirements.txtCopie o arquivo de exemplo e preencha com suas credenciais:
cp .env.example .envJIRA_USERNAME=seu-email@empresa.com
JIRA_API_TOKEN=seu-token-de-api
JIRA_SERVER=https://sua-instancia.atlassian.netGere seu token em: https://id.atlassian.com/manage-profile/security/api-tokens
uvicorn src.main:app --reloadA API ficará disponível em http://localhost:8000.
POST /log_time
{
"issue_key": "PROJ-123",
"time_spent": "2h",
"comment": "Desenvolvimento da feature X",
"started": "2024-01-15T09:00:00"
}Interface web feita com React, TypeScript e Bootstrap para controlar o dia de trabalho em tempo real.
- Node.js 18+
cd lancador-de-horas-frontend
npm installnpm run devAcesse http://localhost:5173.
- Iniciar dia — registra o horário de início e a issue principal do dia
- Play/Pause — controla pausas (almoço, reuniões, etc.)
- Iniciar tarefa — registra uma issue extra trabalhada durante o dia
- Teste em par — lança tempo em issues de teste em par
- Resumo do dia — exibe o tempo corrido e as tarefas registradas
- Encerrar dia — calcula o tempo de cada issue e lança automaticamente no Jira via API
npm run test # modo watch
npm run test:coverage # com cobertura- O usuário inicia o dia informando a issue principal.
- Durante o dia pode pausar, retomar e adicionar tarefas extras.
- Ao encerrar o dia, o frontend calcula o tempo gasto em cada issue (descontando pausas e outras tarefas) e chama o backend para registrar os worklogs no Jira.
MIT