GLPI Integration
GLPI Integration
Instalação — Plugin GLPI “Priax CMDB”
1) Pré-requisitos
1.1) Requisitos do GLPI
- **GLPI 10.x** (recomendado manter no último patch da sua série 10.x)
- Acesso de **Super-Admin** no GLPI para instalar/habilitar plugins
1.2) Dependências opcionais
- **Formcreator** (somente se você for usar integração via formulários)
- O plugin Priax CMDB funciona sem o Formcreator, mas a seção de formulários exige o Formcreator instalado e habilitado.
1.3) Requisitos de infraestrutura / rede
O servidor GLPI precisa conseguir acessar o endpoint do Priax:
- **HTTPS** para a URL base configurada (porta 443 normalmente)
- Resolução DNS e rota de saída adequadas
- Se houver proxy corporativo, o GLPI/PHP deve estar configurado para sair via proxy (quando aplicável)
2) Instalação do plugin
Há dois caminhos principais:
- **A) Instalação manual (ZIP / Git / pasta do plugin)** — mais comum em ambientes offline
- **B) Instalação via Marketplace** — se o plugin estiver publicado/instalável por lá (caso aplicável no seu cenário)
A) Instalação manual (recomendada para ambientes controlados)
Passo A1 — Obter o pacote do plugin
Você terá um ZIP do plugin (ex.: priaxcmdb_glpi_plugin_vX_Y_Z.zip).
Passo A2 — Copiar para a pasta de plugins do GLPI
No servidor onde o GLPI está instalado, descompacte o ZIP dentro de:
- **Linux (padrão)**:
/var/www/glpi/plugins/
O resultado deve ser:
- `/var/www/glpi/plugins/priaxcmdb/`
Importante: o **nome da pasta** precisa ser exatamente `priaxcmdb` (minúsculo).
Se você deixar `priaxcmdb_glpi_plugin_v0_4_28/` ou similar, o GLPI não reconhece corretamente.
Passo A3 — Ajustar permissões
Garanta que o usuário do serviço web (ex.: www-data, apache, nginx) tenha permissão de leitura na pasta do plugin.
Exemplos:
- Debian/Ubuntu (apache/php-fpm com `www-data`):
chown -R www-data:www-data /var/www/glpi/plugins/priaxcmdb
find /var/www/glpi/plugins/priaxcmdb -type d -exec chmod 755 {} \;
find /var/www/glpi/plugins/priaxcmdb -type f -exec chmod 644 {} \;
- RHEL/CentOS (apache com `apache`):
chown -R apache:apache /var/www/glpi/plugins/priaxcmdb
Se o seu GLPI roda em container (Docker/Kubernetes), faça isso no build da imagem ou via volume com permissões compatíveis.
B) Instalação via Marketplace (se aplicável)
1. Acesse: Configurar → Plugins → Marketplace
2. Busque por Priax CMDB
3. Clique em Instalar
4. Ao finalizar, siga para habilitar (próximo tópico)
Se sua instância não usa Marketplace (ou está bloqueado), use o método manual.
3) Habilitar e instalar no GLPI
Depois que os arquivos estiverem na pasta correta:
1. Acesse: Configurar → Plugins
2. Encontre Priax CMDB
3. Clique em Instalar (isso executa migrations/tabelas do plugin)
4. Após instalar, clique em Ativar
Se tudo ocorreu bem:
- o plugin passa a aparecer com status **Ativo**
- surgem os menus do plugin na área de configuração
4) Verificações pós-instalação
4.1) Verificar logs do GLPI
Se houver erro de instalação/ativação, confira:
- **GLPI logs** (interface):
- **Configurar → Logs**
- **Arquivo de log PHP/Apache/Nginx**:
- `/var/log/apache2/error.log` (Debian/Ubuntu)
- `/var/log/httpd/error_log` (RHEL/CentOS)
- logs do PHP-FPM, se aplicável
Erros comuns:
- Pasta errada (`plugins/priaxcmdb_glpi_plugin...` em vez de `plugins/priaxcmdb`)
- Permissão insuficiente
- Incompatibilidade de versão do GLPI/PHP
5) Configuração inicial (primeiro uso)
Após ativar:
1. Vá em: Configurar → Plugins → Priax CMDB → Configuração
2. Preencha:
- **Base URL**
- **Authentication mode**
- **Bearer token** ou **Basic user/password**
- **Timeout**
- **Verify TLS certificate** (conforme ambiente)
3. Salve
5.1) Teste de conectividade
O plugin normalmente valida chamadas reais quando você:
- abre telas de lookup (fields/profiles)
- executa buscas (PAQL search, etc.)
Recomendação de teste:
1. Crie um Priax Field simples com PAQL que retorne poucos itens.
2. Abra um Ticket e verifique se o lookup carrega resultados.
6) Instalar/ativar Formcreator (opcional)
Se você for usar formulários:
1. Instale e ative o Formcreator
2. Em seguida, no Formcreator:
- crie um formulário
- adicione perguntas do tipo **GLPI object**
- selecione **Priax Asset** ou **Priax Field Value** (itemtypes fornecidos pelo plugin)
Se os itemtypes não aparecem na lista do Formcreator:
- confirme que **Priax CMDB está ativo**
- limpe cache do GLPI
- verifique erros em logs
7) Atualização do plugin (upgrade)
7.1) Atualização manual
1. Faça backup:
- banco do GLPI
- pasta atual do plugin (`plugins/priaxcmdb`)
2. Substitua os arquivos pelo novo pacote:
- sobrescreva `/plugins/priaxcmdb/`
3. No GLPI:
- **Configurar → Plugins**
- clique em **Atualizar** (se aparecer) ou **Instalar** (o GLPI aplica migrations pendentes)
4. Confirme que o plugin voltou a ficar Ativo
7.2) Cuidados
- Não renomeie a pasta do plugin.
- Não apague as tabelas do plugin, senão você perde configurações e vínculos.
8) Checklist rápido de instalação (resumo)
✅ Pasta correta: /glpi/plugins/priaxcmdb/
✅ Permissões OK (webserver lê a pasta)
✅ Plugin instalado e ativado em Configurar → Plugins
✅ Configuração inicial preenchida (URL + auth)
✅ Lookup/PAQL funcionando em um teste simples
✅ (Opcional) Formcreator instalado e itemtypes aparecem
Utilização do Plugin GLPI “Priax CMDB” (v0.4.28)
9) Visão geral
O plugin “Priax CMDB” integra o GLPI ao Priax, permitindo:
1. Campos Priax (Priax Fields): campos dinâmicos (lookup) que consultam o Priax via PAQL e armazenam seleção/valor de forma estruturada.
2. Perfis de Ativo Priax (Priax Asset Profiles): regras de busca/seleção de ativos no Priax e (opcionalmente) criação/atualização de itens locais no GLPI via mapeamento de atributos.
3. Formcreator: integração usando questões do tipo “GLPI object”. Suporta dois “objetos” Priax:
- **Priax Asset**
- **Priax Field Value**
Observação: a integração antiga com Formcreator (bridge/iframe) foi removida nas versões 0.4.x.
10) Configuração geral do plugin
Acesse: Configurar → Plugins → Priax CMDB → Configuração
10.1) Priax connector settings
**Base URL**
URL base do Priax (ex.: https://demo.app.priax.io).
**Authentication mode**
- **Bearer token**
- **Basic**
**Basic user / Basic password**
Usados no modo Basic. Se a senha ficar em branco ao salvar, o plugin mantém a senha atual.
**Bearer token**
Usado no modo Bearer token. Se ficar em branco ao salvar, o plugin mantém o token atual.
**Timeout (seconds)**
Tempo máximo para chamadas HTTP ao Priax.
**Verify TLS certificate**
Valida certificado TLS do servidor Priax.
**Cache TTL (seconds)**
TTL global de cache para listas/consultas quando aplicável (0 desabilita).
10.2) Integração com Ativos (Priax ↔ GLPI)
**Enable asset integration (Priax ↔ GLPI)**
Ativa “Asset Profiles”, endpoints e UI de vínculo/sincronismo.
**Show Priax Assets on Ticket tab**
Exibe a aba “Priax Assets” no Ticket.
**Show Priax Assets on Ticket right block**
Exibe um bloco/box de ativos Priax na lateral do Ticket.
11) Priax Fields
Acesse: Configurar → Plugins → Priax CMDB → Manage Priax fields
11.1) Opções do Priax Field
Identificação
- **Name (slug)**: nome técnico/identificador.
- **Label**: rótulo amigável.
- **Help text**: texto de ajuda.
- **Placeholder**: texto do input.
Ativação e comportamento
- **Active**: liga/desliga.
- **Mandatory**: obrigatório (onde suportado).
- **Multi-value**: múltiplos valores (onde suportado).
- **Show icon**: tenta exibir ícone quando disponível.
- **Display weight**: ordem (peso).
Regras de exibição no Ticket
- **Ticket: Request types**: se vazio, qualquer tipo.
- **Ticket: Type (Criar)** / **(Editar)**: filtra Incidente/Requisição.
- **Ticket: Categories**: filtra por categoria.
- **Incluir subcategorias**: inclui categorias filhas.
Busca no Priax (PAQL)
- **Result limit**: limite de retorno.
- **Cache TTL override**: TTL específico do field (sobrescreve o global).
- **Save snapshot JSON**: salva JSON do(s) item(ns) selecionado(s).
- **PAQL initial**: PAQL principal do field.
Dependencies (cascata)
- **Parent field**: field pai.
- **Value path (in parent payload)**: caminho no `payload_json` do pai.
- **Placeholder**: placeholder usado na PAQL do field filho.
11.2) Portal (Helpdesk / Simplified)
- **Exibir este field no Portal**
- Filtros de request type/tipo/categoria para portal
- **Portal: PAQL initial** (se vazio, usa a PAQL inicial padrão)
12) Priax Asset Profiles
Acesse: Configurar → Plugins → Priax CMDB → Manage asset profiles
12.1) Opções do Asset Profile
Identificação
- **Name**: nome do profile.
- **Itemtype**: tipo GLPI alvo (Computer, Software, etc.).
- **Active**: liga/desliga.
Busca no Priax
- **PAQL search (use {{q}})**: PAQL de busca usando `{{q}}`.
- **Portal: PAQL search**: variação para portal.
Portal
- **Exibir este profile no Portal**
- Filtros por request type/tipo (criar/editar)
Snapshot/cache
- **Save snapshot payload on select**
- **Cache TTL (seconds)**
Integração com item local
- **Update local asset on select**
- **Create local asset on select**
12.2) Attribute mappings (mapeamento de atributos)
Cada linha:
- **Active**
- **Priax path** (caminho no JSON)
- **GLPI field** (campo do item GLPI)
- **Policy**:
- `always_overwrite`
- `overwrite_if_empty`
- `never_overwrite`
- **Resolver**:
- `none`, `int`, `bool`, `from_ticket_entity`, `static_map`
- **Transform**:
- `trim`, `upper`, `lower`
13) Formcreator — usando os 2 tipos de campos Priax
A integração é feita com perguntas do tipo GLPI object, usando itemtypes do plugin:
1. Priax Asset
2. Priax Field Value
13.1) Criar pergunta “Priax Asset”
1. Formcreator → editar formulário
2. Adicionar pergunta GLPI object
3. Selecionar itemtype Priax Asset
4. Nas Opções Priax:
- **Asset Profile** (obrigatório)
- **Multi-select** (existente, mas comportamento atual tende a seleção única)
- **Usar variáveis do usuário**
- **Salvar opções Priax**
13.2) Criar pergunta “Priax Field Value”
1. Adicionar pergunta GLPI object
2. Selecionar itemtype Priax Field Value
3. Nas Opções Priax:
- **Field** (obrigatório)
- **PAQL override** (opcional)
- **Multi-select** (reservado para evolução)
- **Usar variáveis do usuário**
- **Salvar opções Priax**
13.3) Após envio do formulário
O plugin persiste:
- ativos selecionados (Priax Asset)
- valores de fields selecionados (Priax Field Value)
vinculados ao alvo gerado (Ticket/Change/Problem).
14) PAQL
Este manual não detalha a linguagem PAQL para uma compreensão da PAQL consulte o manual específico.
6.1) Variáveis de usuário para substituição na PAQL
O plugin suporta substituição de variáveis no template, por exemplo:
- `{{user.id}}`
- `{{user.login}}`
- `{{user.firstname}}`
- `{{user.realname}}`
- `{{user.name}}`
- `{{user.email}}`
No Formcreator, habilite “Usar variáveis do usuário” para aplicar a substituição antes de executar a PAQL.