RT 5.0.5 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 nonprivileged 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.