Zammad: Hapus tiket melalui antarmuka admin sebagai pekerjaan

Dibuat pada 19 Okt 2016  ·  28Komentar  ·  Sumber: zammad/zammad

Harap memungkinkan untuk menghapus tiket dan tidak hanya menutupnya. :smile_cat:

feature backlog

Komentar yang paling membantu

Halo kawan-kawan,
saya menambahkan tindakan tiket baru:

grafik

Dengan tindakan ini seharusnya tidak ada masalah untuk membersihkan sistem Anda di masa mendatang. Silakan gunakan dengan hati-hati, tidak ada jalan kembali dan terima kasih banyak atas percakapan mendalam ini dan dukungan Anda.

Perubahan sudah tersedia di cabang pengembangan.

-Rolf

Semua 28 komentar

Hai @MDXDave - karena Zammad tahan revisi, ini bukan pilihan.

Saya memahami keberatan Anda, tetapi setidaknya admin harus memiliki kemungkinan untuk menghapus tiket.

Sebagai admin Anda dapat menggunakan perintah rails c pada baris perintah. Dari sana Anda dapat pergi dan melakukan apa pun kemungkinan yang diberikan Rails kepada Anda. Tiket dapat dihapus melalui Ticket.find(*id*).destroy . Semoga membantu? Kami tidak menyarankan itu.

Saya tahu bahwa ini mungkin dengan rails, tetapi akan lebih mudah untuk menghapus tiket di dalam Zammad. :+1:

Setidaknya scheduler harus bisa melakukannya.

Saya pikir keputusan @thorsteneckel benar. Anda harus dapat mengaudit tiket lama setelah bertahun-tahun sehingga penghapusan tidak boleh menjadi opsi setidaknya di UI. Untuk menguji zammad (bahkan pengaturan produksi), Anda harus baik-baik saja menggunakan konsol Rails yang juga tidak sulit!

Saya menggunakan fungsi ini di OTRS untuk menghapus tiket spam setelah 30 hari dalam antrian spam kami. Tentu, seseorang dapat melakukan ini dari baris perintah tetapi tidak begitu nyaman seperti melakukannya dari penjadwal.

Saya mengerti maksud Anda! Kami akan menerapkannya dalam waktu dekat. Mungkin sesuatu seperti https://github.com/rubysherpas/paranoia berguna dalam konteks ini.

Ini bukan hanya tentang menyembunyikan tiket, ini juga tentang menghapus hal-hal yang tidak perlu dari DB. Saat ini rasio spam terhadap ham mail kami cukup tinggi, tetapi kami mendeteksi sebagian besar pesan dengan spamassassin. Namun demikian, penyaringan email terjadi setelah mengunduh surat dari POP3, sehingga tiket telah dibuat database dan ruang disk yang dialokasikan (berbicara tentang OTRS)
Salah satu solusinya adalah dengan menyimpan referensi ke tiket, dan mengganti konten dengan informasi bahwa tiket telah dihapus. Jadi dalam kasus audit Anda dapat membuktikan bahwa tiket itu dibuat, tetapi tidak ada lagi?

Apakah ada dokumentasi tentang cara masuk dan menggunakan konsol Rails?

Saat ini saya sedang menguji banyak hal, dan saya ingin menyingkirkan semua tiket "Test1", "Test2", "Test3" dll ;-)

Apakah ada dokumentasi tentang cara masuk dan menggunakan konsol Rails?

kulit> rel c
rails> Ticket.destroy_all

Jika Anda menggunakan RPM Zammad, Anda perlu melakukan:
shell> zammad run rails c
rails> Ticket.destroy_all

Terima kasih, bekerja seperti pesona!

jika Anda mencari cara untuk menghapus semua tiket tetapi beberapa Anda dapat menggunakan metode ini:

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 }

ini akan menghapus semua tiket kecuali Tiket dengan id 1 , 2 dan 3

Masih belum ada kabar tentangnya? 😐

Halo kawan-kawan,
saya menambahkan tindakan tiket baru:

grafik

Dengan tindakan ini seharusnya tidak ada masalah untuk membersihkan sistem Anda di masa mendatang. Silakan gunakan dengan hati-hati, tidak ada jalan kembali dan terima kasih banyak atas percakapan mendalam ini dan dukungan Anda.

Perubahan sudah tersedia di cabang pengembangan.

-Rolf

Hai,

Saya mencoba menggunakan tindakan "hapus" dan karenanya membuat makro untuk menggunakannya. Sayangnya, itu tidak melakukan apa-apa dengan tiket, hanya menyebabkan banyak aktivitas di log (lihat di bawah).

Saya menggunakan paket Debian develop saat ini 1.6.1-1502058507.b2ece283.jessie

Pesan dari file log seperti terlampir ketika saya memilih makro hapus untuk satu tiket (Id 2394 dalam hal ini):

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 Apakah tindakan penghapusan Anda sudah tersedia di Zammad2 resmi terbaru? Saya tidak dapat menemukannya.
Saya menggunakan:

# 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

Hai teman-teman,

@strangechoice : ya ini adalah kesalahan. Tindakan penghapusan hanya akan didukung di penjadwal. Kami menghapus tindakan dari makro.

@passboltUser : Silakan lihat scheduler.

grafik

Salam,
Rolf

@rolfschmidt Terima kasih. Sayangnya saya tidak bisa menjalankannya, tidak melihat New Scheduler . Saya di bawah /#manage/time_accounting .

zammad

Halo @passboltUser ,
saya pikir Anda hanya salah klik.

  • Klik pada menu Penjadwal
  • Kemudian di kanan atas pada Penjadwal baru
  • Di bawah ini Anda memilih waktu di mana tiket harus dihapus.
  • Di bawah ini Anda memilih ketentuan untuk penghapusan tiket
  • Di bawah ini Anda melihat beberapa contoh tiket yang akan dihapus
  • Di bawah ini Anda melihat tindakan yang dapat Anda lakukan pada tiket. Di sini Anda dapat memilih Tindakan -> Hapus

grafik

Salam,


Halo @passboltUser ,
Saya pikir Anda baru saja membuat kesalahan.

  • Klik pada otomatisasi
  • Kemudian klik Tindakan Jangka Waktu Baru di kanan atas
  • Kemudian Anda terlebih dahulu memilih waktu kapan tiket akan selalu dihapus
  • Termasuk ketentuan yang harus diterima tiket agar dapat dihapus
  • Di bawah ini Anda dapat melihat bagian dari daftar tiket yang kemudian akan dihapus.
  • Dan di bawahnya Anda dapat melihat tindakan yang harus dilakukan pada tiket. Di sini Anda memilih kemudian
    Tindakan -> Hapus .

grafik

Salam

@rolfschmidt Terima kasih, saya menemukannya. Bagaimana semua tiket tertentu dihapus? Bisakah Anda juga menghapus satu per satu? Kami telah menutup tiket yang telah kami tandai dengan tag Tutorial untuk melihat bagaimana masalah telah diselesaikan (dan tiket ini kemudian dapat ditampilkan dalam tampilan khusus sebagai hampir semua tutorial).

Ditambahkan eng : Terima kasih, menemukannya. Tapi cara ini semua tiket lakukan untuk dihapus? Apakah mungkin untuk menghapus satu per satu? Kami telah menutup tiket yang kami beri tag 'Tutorial' untuk mencari nanti bagaimana suatu masalah pernah diselesaikan (tikus ini dapat ditampilkan dengan baik dalam tampilan yang dibuat sendiri).

Hai @passboltUser ,
jika Anda memilih kondisi yang tepat seharusnya.

Maaf teman-teman, saya menambahkan terjemahan bahasa Inggris untuk posting terakhir saya. Kita harus menulis bahasa Inggris di sini di pelacak masalah.

Oke, terima kasih, saya akan mencoba. (juga menambahkan terjemahan bahasa Inggris)

Terima kasih, berhasil 👍 Saya menambahkan kondisi kedua di mana saya memfilter tiket yang mengandung tag "Spam" (jadi seseorang harus menambahkan tag "Spam" ke tiket tersebut).

Pertama, saya senang dapat menghapus tiket yang membuat loop - seperti tiket keluar teknisi yang dikirim ke alamat email klien yang salah dan NDR terus kembali saat kami mencoba menutup tiket karena ada pemberitahuan tutup...

Masalah yang kami hadapi adalah memiliki kumpulan 30 tiket bernomor berbeda yang memiliki loop atau masalah lain yang ingin kami hapus dan cara jadwal adalah cara untuk mempelajari apa itu kesabaran ... satu nomor tiket yang dimasukkan secara manual setiap 5 menit.. .

2c saya adalah bahwa harus ada formulir khusus admin yang dilindungi kata sandi untuk menghapus tiket langsung di antarmuka web.

Saya pikir saya telah menemukan solusi yang bagus dengan alat jenius hebat yang ditawarkan Zammad tetapi tidak berfungsi karena alasan tertentu :)
Saya menggunakan "Objek" di bagian Sistem pengaturan untuk membuat bidang teks baru untuk tiket, menyebutnya "akan dihapus oleh admin" dan teks default: "Silakan masukkan kode".
Basis data yang diperbarui dan mulai ulang Zammad.
Sekarang saya memiliki bidang baru ini, saya dapat menjadwalkan penghapusan olehnya jadi saya pergi ke penjadwal dan membuat jadwal baru dengan syarat bahwa bidang "akan dihapus oleh admin" harus berisi kata-kata misalnya: "hapus saya sekarang!" .

Sekarang yang harus saya lakukan adalah menemukan tiket yang ingin saya hapus dan masukkan string teks ini di bidang baru yang telah saya buat.

image

Soalnya tidak work (tidak menghapus tiket) :)

Pilihan lain untuk menyelesaikan penghapusan banyak tiket tanpa perlu menunggu pengatur waktu jadwal adalah dengan memiliki tombol "jalankan sekarang" untuk penjadwal :)

Hai @DjMagicFingers ,
saya menambahkan objek dengan nama "to_be_deleted_by_admin" sebagai bidang input dan mengatur beberapa tiket dengan nilai "tolong hapus saya". Setelah itu saya menambahkan pekerjaan penjadwal untuk menghapusnya. Bekerja untuk saya. Sepertinya Anda tidak mengisi nilai dengan benar di tiket, karena jika tidak, nilai tersebut akan muncul di pratinjau di tangkapan layar yang Anda tempel. Bisa tolong dicek lagi? zammad versi apa yang Anda gunakan?

Salam,
Rolf

Ini sudah menjadi bagian dari Zammad dan telah ditangani dengan: https://github.com/zammad/zammad/commit/7d2409bddcbeaa0d400c6deb7012cec97ee53008

Apakah halaman ini membantu?
0 / 5 - 0 peringkat