Zammad: Supprimer les tickets via l'interface d'administration en tant que travail

Créé le 19 oct. 2016  ·  28Commentaires  ·  Source: zammad/zammad

Merci de permettre la suppression des tickets et pas seulement leur fermeture. :smile_cat:

feature backlog

Commentaire le plus utile

Salut les gars,
j'ai ajouté une nouvelle action de ticket :

grafik

Avec cette action, il ne devrait pas y avoir de problème pour nettoyer votre système à l'avenir. Veuillez l'utiliser avec précaution, il n'y a aucun moyen de revenir en arrière et merci beaucoup pour cette conversation approfondie et votre soutien.

Les modifications sont déjà disponibles dans la branche de développement.

-Rolf

Tous les 28 commentaires

Salut @MDXDave - puisque Zammad est résistant aux révisions, ce n'est pas une option.

Je comprends votre objection, mais au moins les administrateurs devraient avoir la possibilité de supprimer des tickets.

En tant qu'administrateur, vous pouvez utiliser la commande rails c sur la ligne de commande. À partir de là, vous pouvez faire toutes les possibilités que les rails vous offrent. Les billets peuvent être supprimés via Ticket.find(*id*).destroy . J'espère que cela pourra aider? Nous ne le recommandons pas.

Je sais que c'est possible avec les rails, mais il serait plus facile de supprimer des billets dans Zammad. :+1:

Au moins le planificateur devrait pouvoir le faire.

Je pense que la décision de

J'utilise cette fonction dans OTRS pour supprimer les tickets de spam après 30 jours dans notre file d'attente de spam. Bien sûr, on pourrait le faire à partir de la ligne de commande, mais ce n'est pas aussi confortable que de le faire à partir du planificateur.

Je vois ce que tu veux dire! Nous allons le mettre en œuvre dans un avenir proche. Peut-être que quelque chose comme https://github.com/rubysherpas/paranoia est utile dans ce contexte.

Il ne s'agit pas seulement de cacher les tickets, il s'agit également de supprimer les éléments inutiles de la base de données. Actuellement, notre ratio de courrier indésirable sur courrier amateur est assez élevé, mais nous détectons la plupart des messages avec spamassassin. Néanmoins, le filtrage des e-mails se produit après le téléchargement des e-mails depuis le POP3, donc les tickets ont déjà été créés la base de données et l'espace disque alloué (en parlant d'OTRS)
Une solution pourrait être de stocker une référence au ticket et de remplacer le contenu par l'information que le ticket a été supprimé. Ainsi en cas d'audit vous pouvez prouver que le ticket a été créé, mais n'existe plus ?

Existe-t-il une documentation sur la façon d'entrer et d'utiliser la console rails?

Je teste pas mal en ce moment, et j'aimerais me débarrasser de tous les tickets "Test1", "Test2", "Test3" etc ;-)

Existe-t-il une documentation sur la façon d'entrer et d'utiliser la console rails?

coque> rails c
rails> Ticket.destroy_all

Si vous utilisez le RPM Zammad, vous devez faire :
coque> rails de course zammad c
rails> Ticket.destroy_all

Merci, fonctionne comme un charme!

au cas où vous cherchez un moyen de supprimer tous les tickets mais certains, vous pouvez utiliser cette méthode :

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 }

cela supprimera tous les billets sauf les billets avec l'identifiant 1 , 2 et 3

Toujours pas de nouvelles ? ??

Salut les gars,
j'ai ajouté une nouvelle action de ticket :

grafik

Avec cette action, il ne devrait pas y avoir de problème pour nettoyer votre système à l'avenir. Veuillez l'utiliser avec précaution, il n'y a aucun moyen de revenir en arrière et merci beaucoup pour cette conversation approfondie et votre soutien.

Les modifications sont déjà disponibles dans la branche de développement.

-Rolf

Salut,

J'ai essayé d'utiliser l'action "supprimer" et j'ai donc créé une macro pour l'utiliser. Malheureusement, cela ne fait rien avec le ticket, causant seulement beaucoup d'activité dans les journaux (voir ci-dessous).

J'utilise le paquet Debian de développement actuel 1.6.1-1502058507.b2ece283.jessie

Les messages du fichier journal sont comme en pièce jointe lorsque je sélectionne la macro de suppression pour un ticket (Id 2394 dans ce cas):

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 Votre action de suppression est-elle déjà disponible dans le dernier Zammad2 officiel ? Je ne peux pas le trouver.
J'utilise:

# 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

Salut les gars,

@strangechoice : oui c'était une erreur. L'action de suppression ne sera prise en charge que dans le planificateur. Nous avons supprimé l'action des macros.

@passboltUser : Veuillez jeter un œil au planificateur.

grafik

Meilleures salutations,
Rolf

@rolfschmidt Merci. Malheureusement, je ne parviens pas à le faire fonctionner, je ne vois pas le New Scheduler . J'ai moins de /#manage/time_accounting .

zammad

Bonjour @passboltUser ,
Je pense que vous venez de rater un clic.

  • Cliquez sur le menu Planificateur
  • Puis en haut à droite sur Nouveau planificateur
  • Ci-dessous, vous choisissez l'heure à laquelle les billets doivent être supprimés.
  • Ci-dessous vous choisissez les conditions de suppression des billets
  • Ci-dessous, vous voyez quelques exemples de billets qui seront supprimés
  • Ci-dessous, vous voyez l'action que vous pouvez faire sur les billets. Ici, vous pouvez choisir Action -> Supprimer

grafik

Meilleures salutations,


Bonjour @passboltUser ,
Je pense que tu viens de faire une erreur.

  • Cliquez sur automatisations
  • Cliquez ensuite
  • Ensuite, vous choisissez d'abord l'heure à laquelle les billets seront toujours supprimés
  • Y compris les conditions qu'un ticket doit recevoir pour qu'il soit supprimé
  • Ci-dessous, vous pouvez voir une section de la liste des billets qui seront ensuite supprimés.
  • Et en dessous, vous pouvez voir l'action qui doit être effectuée sur les billets. Ici vous choisissez alors
    Action -> Supprimer .

grafik

salutation

@rolfschmidt Merci, je l'ai trouvé. Comment tous les tickets spécifiques sont-ils supprimés ? Pouvez-vous également supprimer des fichiers individuels ? Nous avons fermé des tickets que nous avons étiquetés avec un tag Tutorial pour voir comment un problème a été résolu (et ces tickets peuvent ensuite être affichés dans une vue personnalisée comme pratiquement tous les tutoriels).

Ajouté fra : Merci, je l'

Salut @passboltUser ,
si vous choisissez les bonnes conditions, il le devrait.

Je suis désolé les gars, j'ai ajouté la traduction en anglais pour mon dernier message. Nous devrions écrire en anglais ici sur le suivi des problèmes.

D'accord, merci, je vais essayer. (également ajouté traduction en anglais)

Merci, ça marche 👍 J'ai ajouté une deuxième condition où j'ai filtré par tickets qui contiennent le tag "Spam" (il faut donc ajouter le tag "Spam" à de tels tickets).

Tout d'abord, je suis heureux de pouvoir supprimer les tickets qui créent des boucles - comme les tickets de techniciens envoyés à la mauvaise adresse e-mail du client et le NDR continue de revenir alors que nous essayons de fermer le ticket car il y a une notification de fermeture...

Le problème auquel nous sommes confrontés est d'avoir un lot de 30 tickets numérotés différents qui ont des boucles ou d'autres problèmes que nous voulons supprimer et la méthode du calendrier est un moyen d'apprendre ce qu'est la patience... un numéro de ticket entré manuellement toutes les 5 minutes.. .

Mon 2c est qu'il devrait y avoir un formulaire protégé par mot de passe réservé à l'administrateur pour supprimer les tickets directement sur l'interface Web.

Je pense avoir trouvé une bonne solution avec les outils géniaux que Zammad a à offrir, mais cela ne fonctionne pas pour une raison quelconque :)
J'ai utilisé « Objets » dans la section Système des paramètres pour créer un nouveau champ de texte pour les tickets, appelé « à supprimer par l'administrateur » et le texte par défaut : « Veuillez entrer le code ».
Base de données mise à jour et redémarrage de Zammad.
Maintenant que j'ai ce nouveau champ, je peux programmer sa suppression. Je suis donc allé dans le planificateur et j'ai créé un nouveau programme à condition que le champ "à supprimer par l'administrateur" contienne les mots par exemple : "supprimez-moi maintenant !" .

Maintenant, tout ce que j'ai à faire est de trouver les tickets que je veux supprimer et d'entrer cette chaîne de texte dans le nouveau champ que j'ai créé.

image

Le problème c'est que ça ne marche pas (pas de suppression de tickets) :)

Une autre option pour accomplir la suppression de nombreux tickets sans avoir besoin d'attendre le programmateur est d'avoir un bouton "exécuter maintenant" pour le programmateur :)

Salut @DjMagicFingers ,
J'ai ajouté un objet avec le nom "to_be_deleted_by_admin" comme champ de saisie et défini des tickets avec la valeur "delete me please". Ensuite, j'ai ajouté un travail de planificateur pour les supprimer. Travaille pour moi. Il semble que vous n'ayez pas rempli les valeurs correctement sur le ticket, car sinon elles apparaîtraient dans l'aperçu de la capture d'écran que vous avez collée. Pourriez-vous s'il vous plaît vérifier à nouveau? Quelle version de zammad utilisez-vous ?

Meilleures salutations,
Rolf

Cela fait déjà partie de Zammad et a été adressé avec : https://github.com/zammad/zammad/commit/7d2409bddcbeaa0d400c6deb7012cec97ee53008

Cette page vous a été utile?
0 / 5 - 0 notes