RT 5.0.7 Documentation

RT::Interface::CLI

NAME

RT::Interface::CLI - helper functions for creating a commandline RT interface

SYNOPSIS

  use lib "/opt/rt5/local/lib", "/opt/rt5/lib";

  use RT::Interface::CLI  qw(GetCurrentUser Init loc);

  # Create a hash to hold parsed values
  my %OPT = (
      "id" => 1,
  );

  # Process command-line arguments, load the configuration, and connect
  # to the database. See below for options provided by default.
  Init(
      \%OPT,
      "id=i",  # Getopt::Long options
  );

  print "Got an id: " . $OPT{'id'};

  # Get the current user all loaded
  my $CurrentUser = GetCurrentUser();

  print loc('Hello!'); # Synonym of $CurrentUser->loc('Hello!');

DESCRIPTION

The following methods can be loaded in your RT CLI script.

METHODS

GetCurrentUser

Figures out the uid of the current user and returns an RT::CurrentUser object loaded with that user. if the current user isn't found, returns a copy of RT::Nobody.

loc

  Synonym of $CurrentUser->loc().

Init

A shim for "GetOptions" in Getopt::Long which automatically adds a --help option if it is not supplied. It then calls "LoadConfig" in RT and "Init" in RT.

It sets the LogToSTDERR setting to warning, to ensure that the user sees all relevant warnings. It also adds --quiet and --verbose options, which adjust the LogToSTDERR value to error or debug, respectively.

If debug is provided as a parameter, it added as an alias for --verbose.

statement-log provides a command-line version of the $StatementLog option in the main RT config file. This allows users to log SQL for queries run in a CLI script in the same manner as the web UI. It accepts log levels like $StatementLog:

    --statement-log=debug
← Back to index