"First Respond At" not captured in report

  • Used Zammad version: 3.4
  • Used Zammad installation source: source
  • Operating system: Ubuntu 18.04.4
  • Browser + version: Google Chrome Version 83.0.4103.106 (Official Build) (64-bit)

Expected behavior:

  1. Setup SLA for a group 24/7

  2. New ticket is created

  3. Agent to pickup and respond (1st respond)

  4. Close ticket when done.

  5. Generate report by Group
    The “First Respond At” should capture the DateTime when Agent responded (#3 above).
    And, to calculate the “First Response In Min” and “First Response Diff In Min”.

Actual behavior:

The “First Respond At” not captured in the report (Empty), and no SLA (Respond Time) calculated.

Steps to reproduce the behavior:

  1. New ticket
  2. Assign ticket and responded in note
  3. Close the ticket
  4. Generate report

That’s because a note article is no communication article and thus not counted as first response.
https://admin-docs.zammad.org/en/latest/manage/slas.html

It is done follow this article.

Instead on click “Reply” as communication article for First Respond, I need the Note as First Respond as well.

Please run rails r "p Ticket::Article::Type.find_by(name: 'note').communication" and provide the output here.

After run the command, below listed:

Traceback (most recent call last):
        38: from /opt/zammad/bin/rails:9:in `<main>'
        37: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3                                                                                        /lib/active_support/dependencies.rb:291:in `require'
        36: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3                                                                                        /lib/active_support/dependencies.rb:257:in `load_dependency'
        35: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3                                                                                        /lib/active_support/dependencies.rb:291:in `block in require'
        34: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
        33: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_l                                                                                        fi'
        32: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/loaded_features_index.rb:65:in `register'
        31: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_b                                                                                        ootsnap_lfi'
        30: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
        29: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands.rb:18:in `<main>'
        28: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/command.rb:46:in `invoke'
        27: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/command/base.rb:69:in `perform'
        26: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.r                                                                                        b:392:in `dispatch'
        25: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/i                                                                                        nvocation.rb:127:in `invoke_command'
        24: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/c                                                                                        ommand.rb:27:in `run'
        23: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands/runner/runner_command.rb:41:in `perform'
        22: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands/runner/runner_command.rb:41:in `eval'
        21: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands/runner/runner_command.rb:41:in `<main>'
        20: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/core.rb:197:in `find_by'
        19: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/querying.rb:9:in `find_by'
        18: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation/finder_methods.rb:81:in `find_by'
        17: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation/finder_methods.rb:103:in `take'
        16: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation/finder_methods.rb:504:in `find_take'
        15: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:200:in `records'
        14: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:422:in `load'
        13: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:547:in `exec_queries'
        12: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
        11: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:560:in `block in exec_queries'
        10: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/querying.rb:41:in `find_by_sql'
         9: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all                                                                                        '
         8: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/abstract/database_statements.rb:68:in `sel                                                                                        ect_all'
         7: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/abstract/database_statements.rb:482:in `se                                                                                        lect_prepared'
         6: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql/database_statements.rb:81:in `e                                                                                        xec_query'
         5: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:600:in `execute_and_                                                                                        clear'
         4: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:617:in `exec_cache'
         3: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:672:in `prepare_stat                                                                                        ement'
         2: from /opt/zammad/vendor/ruby-2.6.5/lib/ruby/2.6.0/monitor.rb:235:in                                                                                         `mon_synchronize'
         1: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:677:in `block in pre                                                                                        pare_statement'
/opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/lib/active_record                                                                                        /connection_adapters/postgresql_adapter.rb:677:in `prepare': ERROR:  column tick                                                                                        et_articles.name does not exist (PG::UndefinedColumn)
LINE 1: ... "ticket_articles".* FROM "ticket_articles" WHERE "ticket_ar...
                                                             ^
        38: from /opt/zammad/bin/rails:9:in `<main>'
        37: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3                                                                                        /lib/active_support/dependencies.rb:291:in `require'
        36: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3                                                                                        /lib/active_support/dependencies.rb:257:in `load_dependency'
        35: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.3                                                                                        /lib/active_support/dependencies.rb:291:in `block in require'
        34: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
        33: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_l                                                                                        fi'
        32: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/loaded_features_index.rb:65:in `register'
        31: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_b                                                                                        ootsnap_lfi'
        30: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bo                                                                                        otsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
        29: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands.rb:18:in `<main>'
        28: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/command.rb:46:in `invoke'
        27: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/command/base.rb:69:in `perform'
        26: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.r                                                                                        b:392:in `dispatch'
        25: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/i                                                                                        nvocation.rb:127:in `invoke_command'
        24: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/c                                                                                        ommand.rb:27:in `run'
        23: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands/runner/runner_command.rb:41:in `perform'
        22: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands/runner/runner_command.rb:41:in `eval'
        21: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/railties-5.2.4.3/lib/                                                                                        rails/commands/runner/runner_command.rb:41:in `<main>'
        20: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/core.rb:197:in `find_by'
        19: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/querying.rb:9:in `find_by'
        18: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation/finder_methods.rb:81:in `find_by'
        17: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation/finder_methods.rb:103:in `take'
        16: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation/finder_methods.rb:504:in `find_take'
        15: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:200:in `records'
        14: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:422:in `load'
        13: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:547:in `exec_queries'
        12: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:584:in `skip_query_cache_if_necessary'
        11: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/relation.rb:560:in `block in exec_queries'
        10: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/querying.rb:41:in `find_by_sql'
         9: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all                                                                                        '
         8: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/abstract/database_statements.rb:68:in `sel                                                                                        ect_all'
         7: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/abstract/database_statements.rb:482:in `se                                                                                        lect_prepared'
         6: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql/database_statements.rb:81:in `e                                                                                        xec_query'
         5: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:600:in `execute_and_                                                                                        clear'
         4: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:617:in `exec_cache'
         3: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:672:in `prepare_stat                                                                                        ement'
         2: from /opt/zammad/vendor/ruby-2.6.5/lib/ruby/2.6.0/monitor.rb:235:in                                                                                         `mon_synchronize'
         1: from /opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/                                                                                        lib/active_record/connection_adapters/postgresql_adapter.rb:677:in `block in pre                                                                                        pare_statement'
/opt/zammad/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.4.3/lib/active_record                                                                                        /connection_adapters/postgresql_adapter.rb:677:in `prepare': PG::UndefinedColumn                                                                                        : ERROR:  column ticket_articles.name does not exist (ActiveRecord::StatementInv                                                                                        alid)
LINE 1: ... "ticket_articles".* FROM "ticket_articles" WHERE "ticket_ar...
                                                             ^
: SELECT  "ticket_articles".* FROM "ticket_articles" WHERE "ticket_articles"."na                                                                                        me" = $1 LIMIT $2

Doh! I’m sorry - please run rails r "p Ticket::Article::Type.find_by(name: 'note').communication"

Actually, it is resolved as posted earlier, which following your post title “Add communication-trick for SLA notes”.
I able to capture “First Respond At” timestamp with the ticket’s 1st note.

image

1 Like

My bad!
Glad it’s working now.