Por favor, permita eliminar los tickets y no solo cerrarlos. : smile_cat:
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:
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 :
Atentamente,
Rolf
@rolfschmidt Gracias. Desafortunadamente, no puedo hacerlo funcionar, no veo el New Scheduler
. Tengo menos de /#manage/time_accounting
.
Hola @passboltUser ,
Creo que simplemente hiciste clic mal.
Atentamente,
Hola @passboltUser ,
Creo que cometiste un error.
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.
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
Esto ya es parte de Zammad y se ha abordado con: https://github.com/zammad/zammad/commit/7d2409bddcbeaa0d400c6deb7012cec97ee53008
Comentario más útil
Hola tios,
agregué una nueva acción de ticket:
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