Zammad: los informes arrojan una excepción al generar una lista de boletos al eliminar boletos a través de la API

Creado en 16 abr. 2019  ·  3Comentarios  ·  Fuente: zammad/zammad

Hola, gracias por presentar un problema. Asegúrese de lo siguiente antes de crear un problema. ¡Gracias! 🤓 Desde el 15 de noviembre manejamos todas las solicitudes, excepto errores reales, en nuestra junta comunitaria. Explicación completa: https://community.zammad.org/t/major-change-regarding-github-issues-community-board/21 Publique: - Solicitudes de funciones - Preguntas de desarrollo - Preguntas técnicas en el tablero -> https:/ /comunidad.zammad.org! Si cree que encontró un error, continúe: - Busque problemas existentes y CHANGELOG.md para su problema; es posible que ya haya una solución - Asegúrese de usar la última versión de Zammad si es posible - Agregue `log/production. log` archivo de su sistema. Atención: ¡Asegúrese de que no contenga datos confidenciales! - Escriba el problema en inglés - No elimine la plantilla; de lo contrario, cerraremos el problema sin más comentarios - Haga preguntas sobre la configuración y el uso de Zammad en nuestra lista de correo. Ver: https://zammad.org/participate Nota: Siempre hacemos nuestro mejor esfuerzo. Desafortunadamente, a veces hay demasiadas solicitudes y no podemos manejar todo a la vez. Si desea priorizar/escalar su problema, puede hacerlo mediante un contrato de soporte (consulte https://zammad.com/pricing#selfhosted). * El bloque de texto superior se eliminará automáticamente cuando envíe su problema *

Esta publicación ha sido editada por @MrGeneration cumple con nuestro formato necesario y también, para llenarlo con más información.

Información:

  • Versión usada de Zammad: 3.0
  • Método de instalación (fuente, paquete, ..): cualquiera
  • Sistema operativo: cualquiera
  • Base de datos + versión: cualquiera
  • Versión de Elasticsearch: 5.6 (probablemente cualquiera)
  • Navegador + versión: cualquiera
  • Ticket-ID: #1047094 , #1048216

Comportamiento esperado:

Al usar el programador para eliminar tickets (o hacerlo a mano a través de la API o la consola), esto no afectará el módulo de informes. Esto significa que sus informes funcionarán como deberían y devolverán todos los datos válidos disponibles.

Comportamiento real:

Al usar el programador, la consola o la API para eliminar un ticket, esto arrojará errores, si elasticsearch devuelve tickets que ya no existen en nuestra base de datos.

La consola arrojará lo siguiente:
image

El gráfico se creará sin problemas, pero la lista de tickets a continuación no se actualizará ni se creará.

Esto es en parte una regresión de #2246 (solo en parte porque suprime un error que toma un error en la rodilla en otra parte del informe).

Pasos para reproducir el comportamiento:

  • crear algunos boletos
  • abre la consola de tu navegador
  • abra informes y verifique las estadísticas, todo debería funcionar (la consola del navegador está "limpia")
  • eliminar uno o dos boletos
  • Vuelva a cargar y abra los informes nuevamente (la consola del navegador arrojará el error anterior)

Reson para este comportamiento:

Este problema es causado por un índice de búsqueda elástica desactualizado (esto será cubierto por otro problema, pronto) y un error de escape no demasiado robusto.

Sí, estoy seguro de que se trata de un error y no de una solicitud de funciones ni de una pregunta general.

Publicación original

Información:

  • Versión usada de Zammad: docker más reciente 2.9.x
  • Método de instalación (fuente, paquete, ..): ventana acoplable

Comportamiento esperado:

  • lista de boletos espectáculos como este
    image

Comportamiento real:

  • no se muestra ninguna tabla de tickets, la consola js muestra un error:
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)

Pasos para reproducir el comportamiento:

  • elimine algunos boletos a través de 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

Ahora los boletos aún aparecen en ' https://YOURDOMAINHERE/api/v1/reports/sets ' AJAX Call

duplicate

Comentario más útil

funciona como dijiste @thorsteneckel
gracias por arreglar

Todos 3 comentarios

Hola @SummerStorm : estaba depurando esto junto con @MrGeneration en una máquina de un cliente y encontramos la causa raíz y una solución viable. La solución está en camino. Me hago cargo desde aquí 👍

Descubrimos que este problema es un síntoma de #2611 que ya se solucionó con Zammad 3.1. ¿Podría actualizar su instalación de Zammad a la última versión estable, reconstruir su índice de búsqueda (ejecutando zammad run rake searchindex:rebuild ) y luego volver a intentarlo? Esto debería resolverlo. Si no es así, por favor hágamelo saber. Voy a cerrar esto por ahora.

funciona como dijiste @thorsteneckel
gracias por arreglar

¿Fue útil esta página
0 / 5 - 0 calificaciones