Hello everyone.

Currently we are quite stuck on enabling ticket escalations based on
SLA. The problem is that none of the escalation we tried seems to work:
either the crontool throws errors or does basically nothing.

What we did so far:
- Upgrade to 4.4.1 and made sure all database migrations pass
- Defined a basic ServiceAgreements section (code found later in this email)
- Used an existing, working queue to enable "SLA Enabled"
- Set the default value for "Final Priority" of this queue to "99"
- Set the default value for "Priority" of this queue to "0"
- Created some test tickets (via web and via email) in this queue.
"Starts" and "Due" are correctly set according to the defined
ServiceAgreements.

The queue we currently use for our tests is called "Test-Queue", and
there is currently one ticket in it having "Starts" and "Due" set, the
ID is #78735.

I would appreciate if anyone has ideas on what is wrong with our setup,
or could provide a working configuration!


Here are our ServiceAgreements (just for testing so far) and some of the
rt-crontool calls and their returns we tried so far:

Set( %ServiceAgreements, (
    Default => 'standard',
    Levels => {
        'standard' => {
            Starts => { RealMinutes => 0 },
            Resolve => { RealMinutes => 10 },
        },
        'urgent' => {
            Starts => { RealMinutes => 0 },
            Resolve => { RealMinutes => 5 },
        },
    },
));


# bin/rt-crontool --search RT::Search::ActiveTicketsInQueue --search-arg
"Test-Queue" -action RT::Action::EscalatePriority --verbose --log info
78735:
        Processing without transaction, some conditions and actions may fail.
Consider using --transaction argument


# bin/rt-crontool --search RT::Search::FromSQL --search-arg
"(Status='new' OR Status='open') AND FinalPriority > 0 AND Due > 'Jan 1,
1970'" --action RT::Action::EscalatePriority --action-arg
"RecordTransaction: 1, UpdateLastUpdated: 1" --verbose --log info
[11753] [Mon Feb 13 13:48:02 2017] [notice]: Passed a unix time less
than 0, forcing to 0: [-3600] (/opt/rt4/bin/../lib/RT/Date.pm:619)
78735:
        Processing without transaction, some conditions and actions may fail.
Consider using --transaction argument


# bin/rt-crontool --search RT::Search::FromSQL --search-arg
"(Status='new' OR Status='open' OR Status = 'stalled')" --action
RT::Action::LinearEscalate --action-arg "RecordTransaction: 1"
[11875] [Mon Feb 13 13:53:02 2017] [notice]: Passed a unix time less
than 0, forcing to 0: [-1] (/opt/rt4/bin/../lib/RT/Date.pm:619)


# bin/rt-crontool --search RT::Search::ActiveTicketsInQueue --search-arg
\"Test-Queue\" -action RT::Action::LinearEscalate
[11893] [Mon Feb 13 13:55:47 2017] [warning]: Use of uninitialized value
$args{"VALUE"} in join or string at /opt/rt4/bin/../lib/RT/Tickets.pm
line 1536. (/opt/rt4/bin/../lib/RT/Tickets.pm:1536)
[11893] [Mon Feb 13 13:55:47 2017] [warning]: Use of uninitialized value
$value in substitution (s///) at /opt/rt4/bin/../lib/RT/Tickets.pm line
2805. (/opt/rt4/bin/../lib/RT/Tickets.pm:2805)

(this one is really strange, as this ticket #11893 was resolved 5 years
ago and in another queue, it should not get found by ActiveTicketsInQueue)


# bin/rt-crontool --search RT::Search::FromSQL --search-arg 'Status =
"open" or Status = "new"' --action RT::Action::LinearEscalate
--action-arg "UpdateLastUpdated: 0" --verbose --log info
78735:
        Processing without transaction, some conditions and actions may fail.
Consider using --transaction argument
        Action prepared...
        Action committed.


# bin/rt-crontool --search RT::Search::ActiveTicketsInQueue
--search-arg Test-Queue --action RT::Action::EscalatePriority --verbose
78735:
        Processing without transaction, some conditions and actions may fail.
Consider using --transaction argument


# bin/rt-crontool --search RT::Search::ActiveTicketsInQueue
--search-arg Test-Queue --condition RT::Condition::Overdue --action
RT::Action::SetPriority --action-arg 99 --verbose
78735:
        Processing without transaction, some conditions and actions may fail.
Consider using --transaction argument



Kind regards,
Daniel Rauer

Reply via email to