System periodically resets ticket ownership

Infos:

  • Used Zammad version: 7.0.1
  • Used Zammad installation type: docker-compose
  • Operating system: Oracle Linux 9
  • Browser + version: Firefox 149

Expected behavior:

I have simple trigger: if the agent answered to ticket - they become ticket owner. It works. And the owner should stay the same until another agent answers to the ticket.

Actual behavior:

Periodically (it’s scheduled internal task) the System resets ticket ownership to ‘-’.


For this ticket it did at 10:40 and 11:20.

zammad-scheduler-1  | I, [2026-04-30T11:20:44.405697#1-84144]  INFO -- : 2026-04-30T11:20:44+0300: [Worker(host:8647013ff5d7 pid:1 tid:84144)] Job TransactionJob [9a1b4a6d-bd0e-46be-a798-a89778912813] from DelayedJob(default) with arguments: [{"object" => "Ticket", "object_id" => 261, "user_id" => 1, "created_at" => {"_aj_serialized" => "ActiveJob::Serializers::TimeWithZoneSerializer", "value" => "2026-04-30T08:20:41.406575636Z", "time_zone" => "Etc/UTC"}, "type" => "update", "changes" => {"owner_id" => [462, 1], "last_owner_update_at" => [{"_aj_serialized" => "ActiveJob::Serializers::TimeWithZoneSerializer", "value" => "2026-04-30T07:47:49.182000000Z", "time_zone" => "Etc/UTC"}, nil], "_aj_hash_with_indifferent_access" => true}, "_aj_symbol_keys" => ["object", "object_id", "user_id", "created_at", "type", "changes"]}, {"interface_handle" => "scheduler", "_aj_symbol_keys" => ["interface_handle"]}] (id=610337) (queue=default) RUNNING
zammad-scheduler-1  | I, [2026-04-30T11:20:46.640654#1-84144]  INFO -- : 2026-04-30T11:20:46+0300: [Worker(host:8647013ff5d7 pid:1 tid:84144)] Job TransactionJob [9a1b4a6d-bd0e-46be-a798-a89778912813] from DelayedJob(default) with arguments: [{"object" => "Ticket", "object_id" => 261, "user_id" => 1, "created_at" => {"_aj_serialized" => "ActiveJob::Serializers::TimeWithZoneSerializer", "value" => "2026-04-30T08:20:41.406575636Z", "time_zone" => "Etc/UTC"}, "type" => "update", "changes" => {"owner_id" => [462, 1], "last_owner_update_at" => [{"_aj_serialized" => "ActiveJob::Serializers::TimeWithZoneSerializer", "value" => "2026-04-30T07:47:49.182000000Z", "time_zone" => "Etc/UTC"}, nil], "_aj_hash_with_indifferent_access" => true}, "_aj_symbol_keys" => ["object", "object_id", "user_id", "created_at", "type", "changes"]}, {"interface_handle" => "scheduler", "_aj_symbol_keys" => ["interface_handle"]}] (id=610337) (queue=default) COMPLETED after 2.2349

The logs show what’s happening: "changes" => {"owner_id" => [462, 1]

What is the logic behind this behavior?
P.S. It behaved the same in 6.5.x versions.

how does your trigger look like?

Sounds pretty much like assignment timeout to me, to be honest.

3 Likes

Yes, that’s it. Thank you.
I wish it was more informative message in ticket history.

1 Like