Zammad: Eliminar tickets a través de la interfaz de administración como trabajo

Creado en 19 oct. 2016  ·  28Comentarios  ·  Fuente: zammad/zammad

Por favor, permita eliminar los tickets y no solo cerrarlos. : smile_cat:

feature backlog

Comentario más útil

Hola tios,
agregué una nueva acción de ticket:

grafik

Con esta acción, no debería ser un problema limpiar su sistema en el futuro. Úselo con cuidado, no hay vuelta atrás y muchas gracias por esta profunda conversación y su apoyo.

Los cambios ya están disponibles en la rama de desarrollo.

-Rolf

Todos 28 comentarios

Hola @MDXDave : dado que Zammad es a prueba de revisiones, esta no es una opción.

Entiendo su objeción, pero al menos los administradores deberían tener la posibilidad de eliminar tickets.

Como administrador, puede usar el comando rails c en la línea de comando. A partir de ahí, puedes ir y hacer todas las posibilidades que te brinden los rieles. Los boletos se pueden eliminar a través de Ticket.find(*id*).destroy . ¿Espero que ayude? No lo recomendamos.

Sé que esto es posible con rieles, pero sería más fácil eliminar tickets dentro de Zammad. : +1:

Al menos el programador debería poder hacerlo.

Creo que la decisión de @thorsteneckel es correcta. Debería poder auditar tickets antiguos después de años, por lo que la eliminación no debería ser una opción al menos en la interfaz de usuario. Para probar zammad (incluso una configuración de producción), debería estar bien usando la consola de rieles, ¡que tampoco es difícil!

Utilizo esta función en OTRS para eliminar tickets de spam después de 30 días en nuestra cola de spam. Claro, uno podría hacer esto desde la línea de comandos, pero no es tan cómodo como hacerlo desde el programador.

¡Te entiendo! Lo implementaremos en un futuro próximo. Quizás algo como https://github.com/rubysherpas/paranoia sea ​​útil en este contexto.

No se trata solo de ocultar las entradas, también se trata de eliminar las cosas innecesarias de la base de datos. Actualmente, nuestra proporción de correo no deseado a correo no deseado es bastante alta, pero detectamos la mayoría de los mensajes con spamassassin. Sin embargo, el filtrado de correo electrónico ocurre después de descargar los correos del POP3, por lo que los tickets ya están creados en la base de datos y el espacio en disco asignado (hablando de OTRS).
Una solución podría ser almacenar una referencia al ticket y reemplazar el contenido por la información de que el ticket ha sido eliminado. Entonces, en caso de una auditoría, ¿puede probar que el ticket se creó, pero ya no existe?

¿Existe alguna documentación sobre cómo entrar y usar la consola de rieles?

Actualmente estoy probando mucho y me gustaría deshacerme de todos los tickets "Test1", "Test2", "Test3", etc ;-)

¿Existe alguna documentación sobre cómo entrar y usar la consola de rieles?

cáscara> rieles c
rieles> Ticket.destroy_all

Si usa Zammad RPM, debe hacer lo siguiente:
shell> zammad run rieles c
rieles> Ticket.destroy_all

Gracias, funciona a las mil maravillas!

en caso de que esté buscando una forma de eliminar todos los tickets, pero algunos, puede usar este método:

tickets_to_keep = [1, 2, 3] # enter the ids of all tickets you want to keep
(Ticket.all.pluck(:id) - tickets_to_keep).each { |id| Ticket.find(id).destroy }

esto eliminará todos los boletos excepto el Boleto con id 1 , 2 y 3

¿Todavía no hay noticias al respecto? 😐

Hola tios,
agregué una nueva acción de ticket:

grafik

Con esta acción, no debería ser un problema limpiar su sistema en el futuro. Úselo con cuidado, no hay vuelta atrás y muchas gracias por esta profunda conversación y su apoyo.

Los cambios ya están disponibles en la rama de desarrollo.

-Rolf

Hola,

Intenté usar la acción "eliminar" y, por lo tanto, creé una macro para usarla. Lamentablemente, no hace nada con el ticket, solo genera mucha actividad en los registros (ver más abajo).

Estoy usando el paquete Debian de desarrollo actual 1.6.1-1502058507.b2ece283.jessie

Los mensajes del archivo de registro se adjuntan cuando selecciono la macro de eliminación para un ticket (Id 2394 en este caso):

I, [2017-08-07T11:29:50.916731 #20037]  INFO -- : Started PUT "/api/v1/tickets/2934?all=true" for 134.99.182.24 at 2017-08-07 11:29:50 +0200
I, [2017-08-07T11:29:50.928520 #20037]  INFO -- : Processing by TicketsController#update as JSON
I, [2017-08-07T11:29:50.928785 #20037]  INFO -- :   Parameters: {"number"=>"201708077203221", "title"=>"Verzoegerte Mail / Delayed Mail (still being retried)", "group_id"=>"1", "owner_id"=>"9", "customer_id"=>2339, "state_id"=>"4", "priority_id"=>"2", "updated_at"=>"2017-08-07T09:22:04.377Z", "pending_time"=>nil, "id"=>"2934", "all"=>"true", "ticket"=>{"id"=>"2934", "group_id"=>"1", "priority_id"=>"2", "state_id"=>"4", "number"=>"201708077203221", "title"=>"Verzoegerte Mail / Delayed Mail (still being retried)", "owner_id"=>"9", "customer_id"=>2339, "pending_time"=>nil, "updated_at"=>"2017-08-07T09:22:04.377Z"}}
I, [2017-08-07T11:29:51.241498 #20037]  INFO -- : Completed 200 OK in 313ms (Views: 9.1ms | ActiveRecord: 33.0ms)
I, [2017-08-07T11:29:51.263816 #20037]  INFO -- : Started DELETE "/api/v1/ticket_attachment_upload" for 134.99.182.24 at 2017-08-07 11:29:51 +0200
I, [2017-08-07T11:29:51.267849 #20037]  INFO -- : Processing by TicketArticlesController#ticket_attachment_upload_delete as JSON
I, [2017-08-07T11:29:51.267922 #20037]  INFO -- :   Parameters: {"form_id"=>"097621992", "ticket_article"=>{"form_id"=>"097621992"}}
I, [2017-08-07T11:29:51.287497 #20037]  INFO -- : Completed 200 OK in 19ms (Views: 0.3ms | ActiveRecord: 3.5ms)
I, [2017-08-07T11:29:51.817125 #20039]  INFO -- : 2017-08-07T11:29:51+0200: [Worker(host:zammad pid:20039)] Job Observer::UserDeviceLogJob (id=15352) RUNNING
I, [2017-08-07T11:29:51.839587 #20039]  INFO -- : 2017-08-07T11:29:51+0200: [Worker(host:zammad pid:20039)] Job Observer::UserDeviceLogJob (id=15352) COMPLETED after 0.0222
I, [2017-08-07T11:29:51.844069 #20039]  INFO -- : 2017-08-07T11:29:51+0200: [Worker(host:zammad pid:20039)] Job Observer::Ticket::UserTicketCounter::BackgroundJob (id=15353) RUNNING
I, [2017-08-07T11:29:51.853673 #20039]  INFO -- : 2017-08-07T11:29:51+0200: [Worker(host:zammad pid:20039)] Job Observer::Ticket::UserTicketCounter::BackgroundJob (id=15353) COMPLETED after 0.0093
I, [2017-08-07T11:29:52.067159 #20037]  INFO -- : Started GET "/api/v1/users/2339?full=true&_=1502091684037" for 134.99.182.24 at 2017-08-07 11:29:52 +0200
I, [2017-08-07T11:29:52.074838 #20037]  INFO -- : Processing by UsersController#show as JSON
I, [2017-08-07T11:29:52.074990 #20037]  INFO -- :   Parameters: {"full"=>"true", "_"=>"1502091684037", "id"=>"2339", "user"=>{}}
I, [2017-08-07T11:29:52.124370 #20037]  INFO -- : Completed 200 OK in 49ms (Views: 9.2ms | ActiveRecord: 5.2ms)
I, [2017-08-07T11:29:52.162360 #20037]  INFO -- : Started GET "/api/v1/ticket_customer?customer_id=2339&_=1502091684038" for 134.99.182.24 at 2017-08-07 11:29:52 +0200
I, [2017-08-07T11:29:52.171857 #20037]  INFO -- : Processing by TicketsController#ticket_customer as JSON
I, [2017-08-07T11:29:52.172077 #20037]  INFO -- :   Parameters: {"customer_id"=>"2339", "_"=>"1502091684038", "ticket"=>{}}
I, [2017-08-07T11:29:52.269458 #20037]  INFO -- : Completed 200 OK in 97ms (Views: 30.2ms | ActiveRecord: 4.1ms)
I, [2017-08-07T11:29:53.149049 #20037]  INFO -- : Started GET "/api/v1/users/2339?full=true&_=1502087532475" for 134.99.182.76 at 2017-08-07 11:29:53 +0200
I, [2017-08-07T11:29:53.158434 #20037]  INFO -- : Processing by UsersController#show as JSON
I, [2017-08-07T11:29:53.158857 #20037]  INFO -- :   Parameters: {"full"=>"true", "_"=>"1502087532475", "id"=>"2339", "user"=>{}}
I, [2017-08-07T11:29:53.227291 #20037]  INFO -- : Completed 200 OK in 68ms (Views: 13.2ms | ActiveRecord: 3.8ms)
I, [2017-08-07T11:29:53.424242 #20037]  INFO -- : Started PUT "/api/v1/taskbar/74" for 134.99.182.24 at 2017-08-07 11:29:53 +0200
I, [2017-08-07T11:29:53.434444 #20037]  INFO -- : Processing by TaskbarController#update as JSON
I, [2017-08-07T11:29:53.434747 #20037]  INFO -- :   Parameters: {"key"=>"Ticket-2934", "client_id"=>"123", "callback"=>"TicketZoom", "state"=>{"ticket"=>{}, "article"=>{}}, "params"=>{"ticket_id"=>2934, "overview_id"=>2, "shown"=>true}, "prio"=>16, "notify"=>false, "active"=>true, "updated_at"=>"2017-08-07T09:19:33.085Z", "id"=>"74", "taskbar"=>{"id"=>"74", "client_id"=>"123", "key"=>"Ticket-2934", "callback"=>"TicketZoom", "state"=>{"ticket"=>{}, "article"=>{}}, "params"=>{"ticket_id"=>2934, "overview_id"=>2, "shown"=>true}, "prio"=>16, "notify"=>false, "active"=>true, "updated_at"=>"2017-08-07T09:19:33.085Z"}}
I, [2017-08-07T11:29:53.500058 #20037]  INFO -- : Completed 200 OK in 65ms (Views: 1.4ms | ActiveRecord: 3.2ms)
I, [2017-08-07T11:29:54.323682 #20037]  INFO -- : Started GET "/api/v1/ticket_overviews?_=1502091684039" for 134.99.182.24 at 2017-08-07 11:29:54 +0200
I, [2017-08-07T11:29:54.324343 #20037]  INFO -- : Started GET "/api/v1/ticket_overviews?view=all_unassigned&_=1502091684040" for 134.99.182.24 at 2017-08-07 11:29:54 +0200
I, [2017-08-07T11:29:54.331526 #20037]  INFO -- : Processing by TicketOverviewsController#show as JSON
I, [2017-08-07T11:29:54.336974 #20037]  INFO -- : Processing by TicketOverviewsController#show as JSON
I, [2017-08-07T11:29:54.337380 #20037]  INFO -- :   Parameters: {"view"=>"all_unassigned", "_"=>"1502091684040", "ticket_overview"=>{}}
I, [2017-08-07T11:29:54.337205 #20037]  INFO -- :   Parameters: {"_"=>"1502091684039", "ticket_overview"=>{}}
I, [2017-08-07T11:29:54.519933 #20037]  INFO -- : Completed 200 OK in 181ms (Views: 0.8ms | ActiveRecord: 78.1ms)

@rolfschmidt ¿Tu acción de eliminación ya está disponible en la última versión oficial de Zammad2? No lo encuentro.
Estoy usando:

# apt policy zammad
zammad:
  Installed: 2.1.0-1509936117.b8f98730.xenial
  Candidate: 2.1.0-1509936117.b8f98730.xenial
  Version table:
 *** 2.1.0-1509936117.b8f98730.xenial 500
        500 https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 16.04/main amd64 Packages
        100 /var/lib/dpkg/status

Hola chicos,

@strangechoice : sí, esto fue un error. La acción de eliminación solo se admitirá en el programador. Eliminamos la acción de las macros.

@passboltUser :

grafik

Atentamente,
Rolf

@rolfschmidt Gracias. Desafortunadamente, no puedo hacerlo funcionar, no veo el New Scheduler . Tengo menos de /#manage/time_accounting .

zammad

Hola @passboltUser ,
Creo que simplemente hiciste clic mal.

  • Haga clic en el menú Programador
  • Luego, arriba a la derecha en Nuevo programador
  • A continuación, elige la hora en la que deben eliminarse las entradas.
  • A continuación, eliges las condiciones para la eliminación de las entradas.
  • A continuación, verá algunos tickets de ejemplo que se eliminarán
  • A continuación, verá la acción que puede realizar en los tickets. Aquí puede elegir Acción -> Eliminar

grafik

Atentamente,


Hola @passboltUser ,
Creo que cometiste un error.

  • Haga clic en automatizaciones
  • Luego haga clic en Nueva acción programada en la parte superior derecha
  • Luego, primero elige la hora en la que los boletos siempre se eliminarán
  • Incluyendo las condiciones que debe recibir un ticket para que sea eliminado
  • A continuación, puede ver una sección de la lista de entradas que luego se eliminarán.
  • Y debajo puedes ver la acción que se debe realizar en los tickets. Aquí tu eliges entonces
    Acción -> Eliminar .

grafik

saludo

@rolfschmidt Gracias, lo encontré. ¿Cómo se eliminan todas las entradas específicas? ¿También puede eliminar algunos individuales? Hemos cerrado tickets que hemos etiquetado con una etiqueta Tutorial para ver cómo se ha resuelto un problema (y estos tickets se pueden mostrar en una vista personalizada como prácticamente todos los tutoriales).

Agregado eng : Gracias, lo encontré. ¿Pero de esta manera todos los tickets están haciendo para ser eliminados? ¿Es posible eliminar algunos individuales? Hemos cerrado tickets que etiquetamos como 'Tutorial' para buscar más tarde cómo se resolvió un problema (estas marcas se pueden mostrar muy bien en una vista creada por uno mismo).

Hola @passboltUser ,
si elige las condiciones adecuadas, debería hacerlo.

Lo siento chicos, agregué la traducción al inglés para mi última publicación. Deberíamos escribir en inglés aquí en el rastreador de problemas.

Ok, gracias, lo intentaré. (también se agregó traducción al inglés)

Gracias, funciona 👍 Agregué una segunda condición en la que filtré por tickets que contienen la etiqueta "Spam" (por lo que hay que agregar la etiqueta "Spam" a dichos tickets).

En primer lugar, me complace poder eliminar los tickets que crean bucles, como tickets enviados por técnicos enviados a la dirección de correo electrónico incorrecta del cliente y el NDR sigue regresando mientras intentamos cerrar el ticket, ya que hay una notificación de cierre ...

El problema al que nos enfrentamos es tener un lote de 30 tickets numerados diferentes que tiene bucles u otros problemas que queremos eliminar y la forma de programación es una forma de aprender qué es la paciencia ... un número de ticket ingresado manualmente por cada 5 minutos. .

Mi 2c es que debería haber un formulario protegido por contraseña solo para administradores para eliminar tickets directamente en la interfaz web.

Creo que he encontrado una buena solución con las geniales herramientas que Zammad tiene para ofrecer, pero por alguna razón no funciona :)
Usé "Objetos" en la sección de configuración del Sistema para crear un nuevo campo de texto para las entradas, lo llamé "para ser eliminado por el administrador" y el texto predeterminado: "Por favor ingrese el código".
Base de datos actualizada y reinicio de Zammad.
Ahora que tengo este nuevo campo, puedo programar su eliminación, así que fui al programador y creé un nuevo programa con la condición de que el campo "para ser eliminado por el administrador" debe contener las palabras, por ejemplo: "¡elimíneme ahora!" .

Ahora todo lo que tengo que hacer es encontrar los tickets que quiero eliminar e ingresar esta cadena de texto en el nuevo campo que he creado.

image

El problema es que no funciona (no borra tickets) :)

Otra opción para lograr la eliminación de muchos tickets sin la necesidad de esperar el temporizador de programación es tener un botón "ejecutar ahora" para el programador :)

Hola @DjMagicFingers ,
Agregué un objeto con el nombre "to_be_deleted_by_admin" como campo de entrada y configuré algunos tickets con el valor "elimíneme, por favor". Luego agregué un trabajo de programador para eliminarlos. Funciona para mi. Parece que no llenó los valores correctamente en el ticket, porque de lo contrario aparecerían en la vista previa en la captura de pantalla que pegó. ¿Podrías comprobar de nuevo? ¿Qué versión de zammad estás usando?

Atentamente,
Rolf

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