Zammad: reports lança exceção na geração de ticketlist ao deletar tickets via API

Criado em 16 abr. 2019  ·  3Comentários  ·  Fonte: zammad/zammad

Olá, obrigado por registrar um problema. Certifique-se das seguintes coisas antes de criar um problema - obrigado! 🤓 Desde 15 de novembro atendemos todas as solicitações, exceto bugs reais, em nosso fórum comunitário. Explicação completa: https://community.zammad.org/t/major-change-regarding-github-issues-community-board/21 Poste: - Solicitações de recursos - Perguntas de desenvolvimento - Perguntas técnicas no quadro -> https:// /community.zammad.org ! Se você acha que encontrou um bug, por favor continue: - Pesquise problemas existentes e o CHANGELOG.md para o seu problema - pode haver uma solução já - Certifique-se de usar a versão mais recente do Zammad se possível - Adicione o arquivo `log/production. log` do seu sistema. Atenção: Certifique-se de que não há dados confidenciais nele! - Por favor, escreva o problema em inglês - Não remova o template - caso contrário fecharemos o problema sem mais comentários - Faça perguntas sobre a configuração e uso do Zammad em nossa lista de discussão. Veja: https://zammad.org/participate Nota: Sempre fazemos o nosso melhor. Infelizmente, às vezes há muitos pedidos e não podemos lidar com tudo de uma vez. Se você deseja priorizar/escalar seu problema, pode fazê-lo por meio de um contrato de suporte (consulte https://zammad.com/pricing#selfhosted). * O bloco de texto superior será removido automaticamente quando você enviar seu problema *

Este post foi editado por @MrGeneration para atender nosso formato necessário e também, para preenchê-lo com mais informações

Informações:

  • Versão Zammad usada: 3.0
  • Método de instalação (fonte, pacote, ..): qualquer
  • Sistema operacional: qualquer
  • Banco de dados + versão: qualquer
  • Versão do Elasticsearch: 5.6 (provavelmente qualquer)
  • Navegador + versão: qualquer
  • ID do bilhete: #1047094, #1048216

Comportamento esperado:

Ao usar o agendador para excluir tickets (ou fazer isso manualmente via API ou console), isso não afetará o módulo de relatórios. Isso significa que seu relatório funcionará como deveria e retornará todos os dados válidos disponíveis.

Comportamento real:

Ao usar o agendador, console ou API para excluir um ticket, isso gerará erros, se o elasticsearch retornar tickets que não existem mais em nosso banco de dados.

O console lançará o seguinte:
image

O gráfico será criado sem problemas, mas a lista de tickets abaixo não será atualizada ou criada.

Isso é parcialmente uma regressão de #2246 (apenas parcialmente porque suprime um erro que leva um erro no joelho em outra parte do relatório).

Etapas para reproduzir o comportamento:

  • criar alguns bilhetes
  • abra o console do seu navegador
  • abra os relatórios e verifique as estatísticas, tudo deve estar funcionando (o console do navegador está "limpo")
  • excluir um ou dois tickets
  • recarregue e abra o relatório novamente (o console do navegador lançará o erro acima)

Reson para este comportamento:

Esse problema é causado por um índice elasticsearch desatualizado (isso será coberto por outro problema, em breve) e um escape de erro não muito robusto.

Sim, tenho certeza de que isso é um bug e nenhuma solicitação de recurso ou uma pergunta geral.

Postagem original

Informações:

  • Versão Zammad usada: docker mais recente 2.9.x
  • Método de instalação (fonte, pacote, ..): docker

Comportamento esperado:

  • lista de ingressos shows como este
    image

Comportamento real:

  • nenhuma tabela de tickets é mostrada, o console js mostra o erro:
application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:22 > Uncaught TypeError: Cannot read property 'customer_id' of null
    at Function.n._fillUp (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:22)
    at Function.n.fullLocal (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:21)
    at Object.success (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:42)
    at c (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:2)
    at Object.fireWith [as resolveWith] (application->a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:2)
    at i (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:3)
    at XMLHttpRequest.<anonymous> (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:3)

Etapas para reproduzir o comportamento:

  • exclua alguns tickets via API como este:
export TOKEN=`cat TOKEN`
TICKETS=``curl -H "Authorization: Token token=$TOKEN" https://YOURDOMAINHERE/api/v1/tickets/search?query=group:_delete_these_tickets_|jq ".tickets[]"`
for i in $TICKETS ; do
        echo $I
        curl -H "Authorization: Token token=$TOKEN" -s https://YOURDOMAINHERE/api/v1/tickets/$i -X > DELETE
done

Agora os ingressos ainda aparecem em ' https://YOURDOMAINHERE/api/v1/reports/sets ' Chamada AJAX

duplicate

Comentários muito úteis

funciona como o seu disse @thorsteneckel
obrigado por consertar

Todos 3 comentários

Ei @SummerStorm - eu estava depurando isso junto com @MrGeneration em uma máquina do cliente e encontramos a causa raiz e uma solução viável. A correção está a caminho. Estou assumindo daqui 👍

Descobrimos que esse problema é um sintoma do #2611 que já foi corrigido com o Zammad 3.1. Você poderia atualizar sua instalação do Zammad para o mais recente estável, reconstruir seu índice de pesquisa (executando zammad run rake searchindex:rebuild ) e tente novamente. Isso deve resolver. Se não, por favor me avise. Vou fechar isso por enquanto.

funciona como o seu disse @thorsteneckel
obrigado por consertar

Esta página foi útil?
0 / 5 - 0 avaliações