Redmine plugin/integration project
Find a file
Gemini 4a285f65ac docs: documentação de API para desenvolvedores (GLPI -> Redmine)
Endpoints, payloads, cabeçalhos, mapeamento de campos, impersonation,
idempotência e exemplos completos. Material de treino para a equipe.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 22:04:42 -03:00
docs docs: documentação de API para desenvolvedores (GLPI -> Redmine) 2026-06-29 22:04:42 -03:00
front feat: vínculo Entidade -> Projeto Redmine (clientes de suporte recorrente) 2026-06-29 22:00:36 -03:00
inc feat: vínculo Entidade -> Projeto Redmine (clientes de suporte recorrente) 2026-06-29 22:00:36 -03:00
templates feat: vínculo Entidade -> Projeto Redmine (clientes de suporte recorrente) 2026-06-29 22:00:36 -03:00
.gitignore Redmine Integration 1.3.0 2026-06-29 18:32:19 -03:00
CHANGELOG.md docs: adiciona README (descritivo p/ marketplace) e CHANGELOG 2026-06-29 18:42:06 -03:00
hook.php feat: vínculo Entidade -> Projeto Redmine (clientes de suporte recorrente) 2026-06-29 22:00:36 -03:00
logo.png Redmine Integration 1.3.0 2026-06-29 18:32:19 -03:00
README.md docs: adiciona README (descritivo p/ marketplace) e CHANGELOG 2026-06-29 18:42:06 -03:00
setup.php feat: vínculo Entidade -> Projeto Redmine (clientes de suporte recorrente) 2026-06-29 22:00:36 -03:00

Redmine Integration para GLPI

Integração nativa entre o GLPI e o Redmine para gestão de projetos: transforme o trabalho registrado nos chamados do GLPI em tarefas (issues) e lançamentos de tempo no Redmine, automaticamente e com os autores corretos.

Desenvolvido pela Mindtek · Licença GPLv3+ · Requer GLPI ≥ 11.0.0


O problema que resolve

Equipes que executam o atendimento no GLPI mas gerenciam projetos e horas no Redmine acabam lançando tempo em dois lugares — ou perdem a rastreabilidade. Este plugin elimina o retrabalho: o técnico continua trabalhando normalmente no chamado do GLPI, e o Redmine recebe a tarefa e as horas sem nenhuma digitação dupla.

Como funciona

Projeto GLPI ───(vínculo manual na aba "Redmine")──▶ Projeto Redmine

Chamado GLPI ──────────────────────────────────────▶ 1 ISSUE no Redmine
  • título   = título do chamado
  • tipo / prioridade / atividade = padrões configuráveis
  • categoria = padrão por projeto
  • status   = espelha o status do chamado (mapa configurável)

TicketTask "Feito" ────────────────────────────────▶ 1 lançamento de TEMPO na issue
  • horas    = tempo gasto da tarefa (convertido p/ decimal)
  • autor    = o técnico que lançou (via impersonation)
  • comentário = descrição da tarefa
  • Uma issue por chamado: o chamado nasce e "morre" no GLPI; para o Redmine importam as horas e o andamento.
  • Tempo só sobe quando a tarefa é concluída (Feito): enquanto não concluída, fica apenas no GLPI.
  • Autores corretos: a issue é criada como o técnico atribuído e cada lançamento de tempo como o técnico que o registrou, usando impersonation do Redmine — não tudo como "admin".

Funcionalidades

  • Vínculo de Projeto GLPI ↔ Projeto Redmine (criar novo ou vincular existente), com módulos, subprojeto e visibilidade.
  • Criação automática de issues a partir dos chamados, com valores padrão (tracker, prioridade, atividade) e categoria por projeto.
  • Lançamento automático de tempo das tarefas concluídas (idempotente — sem duplicar).
  • Mapa de status Chamado GLPI → Status Redmine, totalmente configurável.
  • Autoria real via impersonation (X-Redmine-Switch-User), com inclusão automática do técnico como membro do projeto Redmine.
  • Mapeamento de usuários GLPI → Redmine: associação automática por e-mail + overrides manuais.
  • Observadores padrão configuráveis nas issues.
  • Chave de API criptografada em repouso (GLPIKey).
  • Interface 100% nativa do GLPI 11 (componentes Twig).

Requisitos

Requisito Detalhe
GLPI ≥ 11.0.0
Redmine API REST habilitada (Administração → Configurações → API)
Chave de API de um usuário administrador do Redmine (necessária para impersonation e gestão de membros)
Conectividade o GLPI precisa alcançar a URL do Redmine

Instalação

  1. Copie a pasta redmine para o diretório de plugins do GLPI (plugins/).
  2. Em Configurar → Plugins, instale e ative o Redmine Integration.

Configuração (passo a passo)

Acesse Configurar → Plugins → Redmine Integration:

  1. Conexão — informe a URL do Redmine e a Chave de API (admin). Clique em Sincronizar Metadados.
  2. Valores padrão — escolha o Tipo (tracker), Prioridade e Atividade padrão das issues/tempos.
  3. Autores e observadores — defina o Papel padrão (usado para adicionar o técnico como membro do projeto) e os Observadores padrão.
  4. Mapa de status — para cada status de chamado do GLPI, escolha o status correspondente no Redmine.
  5. Mapeamento de usuários — usuários com o mesmo e-mail nos dois sistemas são associados automaticamente; cadastre overrides apenas para as exceções.

Depois, em cada Projeto do GLPI, abra a aba Redmine para vincular ao projeto correspondente no Redmine e definir a categoria padrão.

Fluxo de uso

  1. Vincule o Projeto GLPI ao Projeto Redmine (aba Redmine do projeto).
  2. A partir de uma tarefa de projeto, crie um chamado ("Criar chamado a partir desta tarefa de projeto").
  3. No chamado, o técnico registra tarefas (TicketTask) e o tempo gasto.
  4. Ao marcar a tarefa como Feito, o plugin cria/atualiza a issue no Redmine e lança o tempo — com o autor correto.

Notas e limitações

  • O tempo de uma tarefa é lançado uma única vez (ao concluir). Edições posteriores de horas não re-sincronizam.
  • A impersonation exige que o usuário Redmine exista e seja membro do projeto — o plugin adiciona o técnico automaticamente; se não houver usuário correspondente, o lançamento usa o admin (com aviso em log).
  • Categorias do Redmine são por projeto: a categoria padrão é definida no vínculo de cada projeto.

Suporte

Mindtek — integração GLPI/Redmine.