Zammad: Excluir tíquetes via interface administrativa como trabalho

Criado em 19 out. 2016  ·  28Comentários  ·  Fonte: zammad/zammad

Torne possível deletar tickets e não apenas fechá-los. : smile_cat:

feature backlog

Comentários muito úteis

Oi, pessoal,
Eu adicionei uma nova ação de tíquete:

grafik

Com esta ação, não deve haver problema em limpar o sistema no futuro. Por favor, use-o com cuidado, não há como voltar atrás e muito obrigado por essa conversa profunda e seu apoio.

As mudanças já estão disponíveis no ramo de desenvolvimento.

-Rolf

Todos 28 comentários

Olá @MDXDave - como Zammad é à prova de revisão, esta não é uma opção.

Eu entendo sua objeção, mas pelo menos os administradores devem ter a possibilidade de deletar tíquetes.

Como administrador, você pode usar o comando rails c na linha de comando. A partir daí, você pode ir e fazer todas as possibilidades que o Rails está oferecendo. Os ingressos podem ser excluídos por meio de Ticket.find(*id*).destroy . Espero que ajude? Não recomendamos isso.

Eu sei que isso é possível com trilhos, mas seria mais fácil deletar tíquetes dentro do Zammad. : +1:

Pelo menos o planejador deve ser capaz de fazer isso.

Acho que a decisão de @thorsteneckel está certa. Você deve ser capaz de auditar tíquetes antigos depois de anos, portanto, a exclusão não deve ser uma opção, pelo menos na IU. Para testar o zammad (mesmo uma configuração de produção), você deve usar o console Rails, o que não é difícil também!

Eu uso essa função no OTRS para excluir tíquetes de spam após 30 dias em nossa fila de spam. Claro, pode-se fazer isso a partir da linha de comando, mas não é tão confortável fazê-lo a partir do agendador.

Eu vejo seu ponto! Vamos implementá-lo em um futuro próximo. Talvez algo como https://github.com/rubysherpas/paranoia seja útil neste contexto.

Não se trata apenas de ocultar os tíquetes, mas também de remover o material desnecessário do banco de dados. Atualmente, nossa proporção de spam para spam é muito alta, mas detectamos a maioria das mensagens com spamassassin. No entanto, a filtragem de e-mail acontece depois de baixar os e-mails do POP3, então os tickets já foram criados, o banco de dados e o espaço em disco alocado (falando de OTRS)
Uma solução poderia ser armazenar uma referência ao tíquete e substituir o conteúdo pelas informações de que o tíquete foi excluído. Então, no caso de uma auditoria, você pode provar que o ticket foi criado, mas não existe mais?

Existe alguma documentação de como entrar e usar o console Rails?

No momento, estou testando muito e gostaria de me livrar de todos os tíquetes "Test1", "Test2", "Test3" etc ;-)

Existe alguma documentação de como entrar e usar o console Rails?

shell> rails c
rails> Ticket.destroy_all

Se você usa o Zammad RPM, você precisa fazer:
shell> zammad run rails c
rails> Ticket.destroy_all

Obrigado, funciona como um encanto!

caso você esteja procurando uma maneira de excluir todos os tíquetes, mas alguns, você pode 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 }

isso excluirá todos os ingressos, exceto o ingresso com id 1 , 2 e 3

Ainda não há notícias sobre isso? 😐

Oi, pessoal,
Eu adicionei uma nova ação de tíquete:

grafik

Com esta ação, não deve haver problema em limpar o sistema no futuro. Por favor, use-o com cuidado, não há como voltar atrás e muito obrigado por essa conversa profunda e seu apoio.

As mudanças já estão disponíveis no ramo de desenvolvimento.

-Rolf

Oi,

Tentei usar a ação "excluir" e, portanto, criei uma macro para usá-la. Infelizmente, ele não está fazendo nada com o tíquete, apenas causando muita atividade nos logs (veja abaixo).

Estou usando o pacote Debian atual de desenvolvimento 1.6.1-1502058507.b2ece283.jessie

As mensagens do arquivo de log são como anexadas quando eu seleciono a macro de exclusão para um tíquete (Id 2394, neste 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 Sua ação de exclusão já está disponível no último Zammad2 oficial? Eu não consigo encontrar.
Estou a usar:

# 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

Ei pessoal,

@strangechoice : sim, foi um erro. A ação de exclusão será suportada apenas no agendador. Removemos a ação das macros.

@passboltUser : Por favor, dê uma olhada no agendador.

grafik

Atenciosamente,
Rolf

@rolfschmidt Obrigado. Infelizmente, não consigo fazê-lo funcionar, não vejo o New Scheduler . Estou abaixo de /#manage/time_accounting .

zammad

Olá @passboltUser ,
Acho que você deu um clique errado.

  • Clique no menu Scheduler
  • Em seguida, no canto superior direito em Novo agendador
  • Abaixo você escolhe a hora em que os tickets devem ser excluídos.
  • Abaixo você escolhe as condições para a exclusão dos tickets
  • Abaixo você vê alguns exemplos de tíquetes que serão excluídos
  • Abaixo você vê a ação que você pode realizar nos tickets. Aqui você pode escolher Ação -> Excluir

grafik

Atenciosamente,


Olá @passboltUser ,
Acho que você cometeu um erro.

  • Clique nas automações
  • Em seguida, clique em Nova ação cronometrada no canto superior direito
  • Em seguida, você primeiro escolhe a hora em que os tíquetes serão sempre excluídos
  • Incluindo as condições que um tíquete deve receber para ser excluído
  • Abaixo você pode ver uma seção da lista de tickets que serão excluídos.
  • E abaixo você pode ver a ação que deve ser realizada nos tickets. Aqui você escolhe então
    Ação -> Excluir .

grafik

saudações

@rolfschmidt Obrigado, encontrei. Como todos os tickets específicos são excluídos? Você também pode excluir alguns? Fechamos os tíquetes que marcamos com uma tag Tutorial para ver como um problema foi resolvido (e esses tíquetes podem ser exibidos em uma visualização personalizada como praticamente todos os tutoriais).

Adicionado eng : Obrigado, encontrei. Mas desta forma todos os tickets estão fazendo para serem deletados? É possível deletar alguns individualmente? Fechamos os tíquetes que marcamos como 'Tutorial' para ver mais tarde como um problema foi resolvido (esses tiques podem ser exibidos em uma visualização criada por você mesmo).

Olá @passboltUser ,
se você escolher as condições certas, deveria.

Desculpe pessoal, adicionei a tradução em inglês para o meu último post. Devemos escrever em inglês aqui no rastreador de problemas.

Ok, obrigado, vou tentar. (também adicionada tradução em inglês)

Obrigado, funciona 👍 Eu adicionei uma segunda condição onde filtrou por tickets que contêm a tag "Spam" (então é preciso adicionar a tag "Spam" a tais tickets).

Em primeiro lugar, estou feliz por poder excluir tíquetes que criam loops - como tíquetes de técnicos enviados para o endereço de e-mail errado do cliente e o NDR continua retornando enquanto tentamos fechar o tíquete, pois há uma notificação de fechamento ...

O problema que enfrentamos é ter um lote de 30 tickets numerados diferentes com loops ou outros problemas que queremos excluir e a forma de agendamento é uma maneira de aprender o que é paciência ... um número de ticket inserido manualmente a cada 5 minutos. .

Meu 2c é que deve haver um formulário protegido por senha somente para administradores para excluir tíquetes diretamente na interface da web.

Acho que encontrei uma boa solução com as excelentes ferramentas geniais que Zammad tem a oferecer, mas não está funcionando por algum motivo :)
Usei "Objetos" na seção de configurações do Sistema para criar um novo campo de texto para tickets, chamado de "a ser excluído pelo administrador" e texto padrão: "Por favor, insira o código".
Banco de dados atualizado e restartde Zammad.
Agora que tenho esse novo campo, posso agendar a exclusão por ele, então fui para o agendador e criei um novo agendamento com a condição de que o campo "a ser excluído pelo admin" deve conter as palavras, por exemplo: "delete me now!" .

Agora tudo o que tenho a fazer é encontrar os tickets que desejo excluir e inserir essa sequência de texto no novo campo que criei.

image

O problema é que não funciona (não exclui tíquetes) :)

Outra opção para realizar a exclusão de muitos tíquetes sem a necessidade de esperar pelo cronômetro de agendamento é ter um botão "executar agora" para o agendador :)

Olá @DjMagicFingers ,
Eu adicionei um objeto com o nome "to_be_deleted_by_admin" como um campo de entrada e configurei alguns tickets com o valor "delete me please". Depois disso, adicionei um trabalho de agendador para removê-los. Funciona para mim. Parece que você não preencheu os valores corretamente no tíquete, senão eles apareceriam na visualização da captura de tela colada. Você poderia verificar novamente? Qual versão do zammad você está usando?

Atenciosamente,
Rolf

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