To register your user-defined report with MySQL Shell, call the
shell.registerReport()
method in JavaScript or
shell.register_report()
in Python. The syntax
for the method is as follows:
shell.registerReport(name, type, report[, description])
Where:
name
is a string giving the unique name of the report.type
is a string giving the report type which determines the output format, either “list”, “report”, or “print”.report
is the function to be called when the report is invoked.description
is a dictionary with options that you can use to specify the options that the report supports, additional arguments that the report accepts, and help information that is provided in the MySQL Shell help system.
The name
, type
, and
report
parameters are all required. The report
name must meet the following requirements:
It must be unique in your MySQL Shell installation.
It must be a valid scripting identifier, so the first character must be a letter or underscore character, followed by any number of letters, numbers, or underscore characters.
It can be in mixed case, but it must still be unique in your MySQL Shell installation when converted to lower case.
The report name is not case-sensitive during the registration
process and when running the report using the
\show
and \watch
commands.
The report name is case-sensitive when calling the corresponding
API function at the shell.reports
object. There
you must call the function using the exact name that was used to
register the report, whether you are in Python or JavaScript mode.
The optional dictionary contains the following keys, which are all optional:
-
brief
A brief description of the report.
-
details
A detailed description of the report, provided as an array of strings. This is provided when you use the
\help
command or the--help
option with the\show
command.-
options
-
Any report-specific options that the report can accept. Each dictionary in the array describes one option, and must contain the following keys:
name
(string, required): The name of the option in the long form, which must be a valid scripting identifier.brief
(string, optional): A brief description of the option.shortcut
(string, optional): An alternate name for the option as a single alphanumeric character.details
(array of strings, optional): A detailed description of the option. This is provided when you use the\help
command or the--help
option with the\show
command.type
(string, optional): The value type of the option. The permitted values are “string”, “bool”, “integer”, and “float”, with a default of “string” iftype
is not specified. If “bool” is specified, the option acts as a switch: it defaults tofalse
if not specified, defaults totrue
(and accepts no value) when you run the report using the\show
or\watch
command, and must have a valid value when you run the report using theshell.reports
object.required
(bool, optional): Whether the option is required. Ifrequired
is not specified, it defaults tofalse
. If the option type is “bool” thenrequired
cannot be true.values
(array of strings, optional): A list of allowed values for the option. Only options with type “string” can have this key. Ifvalues
is not specified, the option accepts any values.
-
argc
-
A string specifying the number of additional arguments that the report expects, which can be one of the following:
An exact number of arguments, which is specified as a single number.
Zero or more arguments, which is specified as an asterisk.
A range of argument numbers, which is specified as two numbers separated by a dash (for example, “1-5”).
A range of argument numbers with a minimum but no maximum, which is specified as a number and an asterisk separated by a dash (for example, “1-*”).