rt-crontool - Man Page

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.

Info

2024-07-19 perl v5.40.0 User Contributed Perl Documentation