rt-crontool(1)

πŸ“¦
version 4.4.7 Β· 5 versions
, in ubuntu noble

πŸ’– 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 is 100.
  • log β€” Adjust LogToSTDERR config option.
  • verbose β€” Output status updates to STDOUT. 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