Rebaixa para debug uma serie de logs "heartbeat" que disparavam todo ciclo (a cada 1 minuto) independente de qualquer mudanca real, competindo com os logs de acao/erro que realmente importam: buscas por watermark, contagem de tickets pendentes/monitorados, checagens de comentario ja sincronizado, abertura de conexao GLPI/PostgreSQL, e o resumo de sincronizacao do SN (que a margem de seguranca de 6h do watermark sempre retorna nao-vazio, mesmo sem mudanca real de campo). Corrige tambem um bug real encontrado em teste: no fluxo GLPI -> SN, todo comentario historico de um ticket era sanitizado e checado contra a API do SN a cada ciclo antes mesmo de verificar se ja tinha sido sincronizado (ticket_updates.destiny_id). Em tickets com historico longo isso significava dezenas de chamadas desnecessarias por minuto. Agora a checagem local (barata) roda primeiro, e so sanitiza/consulta o SN quando o comentario realmente ainda nao foi sincronizado. Corrige tambem o log de configuracao do pool PostgreSQL, que imprimia "[object Object]" por passar o objeto de config como mensagem em vez de metadado. LOG_LEVEL default muda de debug para info em .env.example e .env.production, unica forma do rebaixamento acima ter efeito pratico. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
86 lines
3.0 KiB
Plaintext
86 lines
3.0 KiB
Plaintext
# ===================================================================
|
|
# EXEMPLO DE ARQUIVO DE CONFIGURACAO DE AMBIENTE
|
|
#
|
|
# Copie este arquivo para .env.development e .env.production
|
|
# e preencha com os valores corretos para cada ambiente.
|
|
# Nao adicione senhas ou chaves secretas diretamente neste arquivo.
|
|
# ===================================================================
|
|
|
|
# --- Configuracao Geral da Aplicacao ---
|
|
NODE_ENV=development
|
|
PORT=3000
|
|
|
|
# Frequencia de execucao do cron job (formato cron). Padrao: '* * * * *' (a cada 1 minutos)
|
|
CRON_SCHEDULE='* * * * *'
|
|
ENABLE_GLPI_WEBHOOK=true
|
|
ENABLE_GLPI_CLOSE_CRON=true
|
|
|
|
# Mandante (regras 19-22): sistema cujo status intermediario (Aguardando Atendimento/Em
|
|
# Atendimento/Em Espera) e espelhado automaticamente no outro sistema. Nunca afeta status
|
|
# finais (Resolvido/Encerrado/fora de escopo), so esses tres intermediarios.
|
|
# Valores: GLPI | SNOW | vazio (nenhum espelhamento, comportamento padrao)
|
|
MANDANTE=
|
|
|
|
# Numero maximo de vezes que um ticket em estado de erro e reprocessado
|
|
# automaticamente antes de ser marcado como 'error_permanent' (exige intervencao manual).
|
|
MAX_ERROR_RETRIES=5
|
|
|
|
# --- Configuracao da API do ServiceNow ---
|
|
# URL base da sua instancia do ServiceNow
|
|
SERVICENOW_INSTANCE=https://your-instance.service-now.com
|
|
SERVICENOW_USERNAME=
|
|
SERVICENOW_PASSWORD=
|
|
|
|
# Sys_id do grupo de atribuicao no ServiceNow que sera monitorado para novos tickets
|
|
SERVICENOW_ASSIGNMENT_GROUP=
|
|
|
|
# Sys_id do usuario padrao no ServiceNow que sera usado pela integracao para criar/atualizar tickets
|
|
SERVICENOW_DEFAULT_USER_SYSID=
|
|
SERVICENOW_DEFAULT_USER=
|
|
SERVICENOW_RESOLVED_BY_SYSID=
|
|
SERVICENOW_IGNORE_DEFAULT_USER_JOURNAL=true
|
|
SERVICENOW_IGNORE_USERS_JOURNAL=SOTHIS.CAOA,admin.caoa
|
|
|
|
# Endpoints de tabela usados pela aplicacao
|
|
SERVICENOW_TABLE_INCIDENT_URL=
|
|
SERVICENOW_TABLE_REQUEST_URL=
|
|
SERVICENOW_TABLE_JOURNAL_URL=
|
|
SERVICENOW_SC_ITEM_OPTION_URL=
|
|
SERVICENOW_EXTERNAL_TICKET_FIELD=u_external_tickets
|
|
# Sys_id do grupo de TI da CAOA (destino de tickets fora do escopo Sothis)
|
|
SERVICENOW_CAOA_TI_GROUP_ID=
|
|
|
|
# --- Configuracao do Banco de Dados do GLPI (MySQL) ---
|
|
GLPI_DB_TYPE=mysql
|
|
GLPI_DB_HOST=localhost
|
|
GLPI_DB_PORT=3306
|
|
GLPI_DB_USER=
|
|
GLPI_DB_PASSWORD=
|
|
GLPI_DB_NAME=glpi
|
|
GLPI_DB_CHARSET=utf8mb4
|
|
|
|
# ID do usuario padrao do GLPI para criacao de tickets e comentarios
|
|
GLPI_DEFAULT_USER_ID=1118
|
|
GLPI_DEFAULT_GROUP_ID=30
|
|
GLPI_DEFAULT_ENTITY_ID=127
|
|
GLPI_OOS_SOLUTION_TYPE_ID=27
|
|
GLPI_REQ_DEFAULT_JUSTIFICATIVA=Chamado aberto por colaborador CAOA sem Justificativa
|
|
GLPI_REQ_DEFAULT_DESCRIPTION=Chamado aberto por colaborador CAOA sem Descricao
|
|
|
|
# --- Configuracao do Banco de Dados Intermediario (PostgreSQL) ---
|
|
SNGLPI_DB_HOST=localhost
|
|
SNGLPI_DB_PORT=5432
|
|
SNGLPI_DB_NAME=snglpi_sync
|
|
SNGLPI_DB_USER=
|
|
SNGLPI_DB_PASSWORD=
|
|
|
|
# --- Mapeamento de Localidades (Opcional) ---
|
|
# Caminho absoluto para o arquivo .csv que mapeia localidades do SNOW para entidades do GLPI
|
|
LOCATION_MAPPING_CSV_PATH=/path/to/your/location_mapping.csv
|
|
|
|
# Logging
|
|
LOG_LEVEL=info
|
|
LOG_TO_CONSOLE=true
|
|
LOG_RETENTION_DAYS=10
|
|
LOG_DIR=logs
|