Harap memungkinkan untuk menghapus tiket dan tidak hanya menutupnya. :smile_cat:
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:
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.
Salam,
Rolf
@rolfschmidt Terima kasih. Sayangnya saya tidak bisa menjalankannya, tidak melihat New Scheduler
. Saya di bawah /#manage/time_accounting
.
Halo @passboltUser ,
saya pikir Anda hanya salah klik.
Salam,
Halo @passboltUser ,
Saya pikir Anda baru saja membuat kesalahan.
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.
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
Komentar yang paling membantu
Halo kawan-kawan,
saya menambahkan tindakan tiket baru:
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