RT 5.0.7 Documentation
rt-crontool
NAME
rt-crontool - a tool to act on tickets from an external scheduling tool
SYNOPSIS
# find all active tickets in the queue 'general' and set their priority to 99 if they are overdue:
rt-crontool \
--search RT::Search::ActiveTicketsInQueue --search-arg general \
--condition RT::Condition::Overdue \
--action RT::Action::SetPriority --action-arg 99 \
--verbose
# Escalate tickets
rt-crontool \
--search RT::Search::ActiveTicketsInQueue --search-arg general \
--action RT::Action::EscalatePriority
# Process tickets in parallel
rt-crontool \
--search RT::Search::ActiveTicketsInQueue --search-arg general \
--action RT::Action::SomeTimeConsumingAction
--max-processes 10 --max-tickets-per-process 100
# Combine multiple actions:
# Find all tickets that are 'new' or 'stalled' and set their priority to 99 if they are overdue
# also, escalate them and set their status to open:
rt-crontool \
--search RT::Search::FromSQL \
--search-arg "(Status='new' OR Status = 'stalled')" \
--condition RT::Condition::Overdue \
--action RT::Action::SetPriority \
--action-arg 99 \
--action RT::Action::LinearEscalate \
--action-arg "RecordTransaction: 1" \
--action RT::Action::SetStatus \
--action-arg open
DESCRIPTION
This script is a tool to act on tickets from an external scheduling tool, such as cron.
Security:
This tool allows the user to run arbitrary Perl modules from within RT. If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT. It is incredibly important that non-privileged users not be allowed to run this tool. It is suggested that you create a non-privileged Unix user with the correct group membership and RT access to run this tool.
OPTIONS
- search
-
Specify the search module you want to use
- search-arg
-
An argument to pass to --search
- condition
-
Specify the condition module you want to use
- condition-arg
-
An argument to pass to --condition
- action
-
Specify the action module you want to use.
This option may be repeated to apply multiple actions to found tickets.
- action-arg
-
An argument to pass to --action.
This option may be repeated to pass corresponding arguments to multiple calls of --action. In this case, each --action-arg option must come after the --action argument it applies to. Actions with no --action-arg must come at the end.
- template
-
Specify name or id of template(s) you want to use
- transaction
-
Specify if you want to use either 'first', 'last' or 'all' transactions
- transaction-type
-
Specify the comma separated list of transactions' types you want to use
- reload-ticket
-
Reload ticket before processing in tickets iteration. This is to refresh ticket metadata, which is useful especially for long-running jobs.
- max-processes
-
Specify the max number of children to maintain. This implies parallel processing, which is false by default.
- max-tickets-per-process
-
Specify the max number of tickets to process in each child. Only take effect with --max-processes. Default is 100.
- log
-
Adjust LogToSTDERR config option
- verbose
-
Output status updates to STDOUT
- dry-run
-
Actions are composed of 2 parts: "Prepare" and "Commit".
dry-run
skips the "Commit" part.