rt-crontool(1)
π rt-crontool β the Request Tracker Reference page, but make it cute π
okay bestie, welcome to rt-crontool β the command-line interface to Request Tracker. yes, that's the whole vibe. she's a CLI, she's iconic, she does cron's dirty work. let's get into it π
β¨ NAME β¨
rt-crontool β Command-line interface to Request Tracker π¦
πΈ 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
like. look at her go. π
π DESCRIPTION π
so basically this script is a tool to act on tickets from an external scheduling tool, such as cron. that's the whole point of her existence, no cap. β°
π¨ Security π¨ (read this part, fr fr)
β οΈ bestie. this is the important bit. do not scroll past. β οΈ
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.
okay so to translate: she's powerful, she's got main character energy, and with great power comes please do not let random people run her. π make a lil non-privileged unix user, give them the right group membership and RT access, and let them run her. that's the move. π
π OPTIONS π
one bullet per flag, no skipping, we're thorough girlies here π
searchβ Specify the search module you want to use. this is the "who am I even looking at" option.search-argβ An argument to pass to--search.conditionβ Specify the condition module you want to use. the vibe check, if you will. β¨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. yes queen, stack those actions. πaction-argβ An argument to pass to--action. This option may be repeated to pass corresponding arguments to multiple calls of--action.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. lowkey essential for the marathon jobs ngl πβοΈmax-processesβ Specify the max number of children to maintain. This implies parallel processing, which is false by default.max-ticket-per-processβ Specify the max number of tickets to process in each child. Only take effect with--max-processes. Default is100.logβ AdjustLogToSTDERRconfig option.verboseβ Output status updates toSTDOUT. she's chatty and we love that for her π¬dry-runβ Actions are composed of 2 parts:"Prepare"and"Commit"."dry-run"skips the"Commit"part. a lil sneak peek before she actually commits to anything. iconic behaviour. π«Ά
π and that's the whole page π
that's it bestie, you now know rt-crontool better than most of the internet. go forth and schedule responsibly. and remember: nonprivileged users do NOT get to run this. periodt. π
later, girly β this was rt-crontool(1) from the Request Tracker Reference, running on perl v5.38.2, dated 2023-10-29. mwah πππ¦
π¦ where this page comes from
- ubuntu noble: request-tracker4 4.4.7+dfsg-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms