This topic describes the ectool
command line interface to script CloudBees CD/RO operations, including access to the Perl API.
Using ectool
The ectool
is a command line interface that provides operational control over the CloudBees CD/RO system. It supports a large collection of commands, each of which translates to a message sent to the CloudBees CD/RO server. For example, ectool getProjects
returns information about all projects defined on the server.
-
ectool --help
displays a summary of all commands and other command-line options. -
ectool --help <command>
returns information about<command>
. For example,ectool --help modifyStep
returns information about themodifyStep
command.
For a list of all ectool
commands, see Perl API commands overview.
Signing in
If you use the ectool
outside of a job, you must invoke the ectool login
command to sign in to the CloudBees CD/RO server for all commands except getServerStatus
. After signing in, ectool
saves information about the login session for use in future ectool invocations. If you run ectool
as part of a CloudBees CD/RO job, you do not need to sign in; ectool
uses the login session (and credentials) for that job.
To sign in to a specific server, see the example below, which includes the server name, user name, and password.
ectool --server bldg1server login "Ellen Ernst" "ee123"
General syntax for ectool command usage:
ectool [global argument] <command> <positional arguments> [named arguments]
Global arguments (optional)
See Common global options for more information.
Character restrictions in arguments
The ectool
CLI does not support any argument value that begins with a --
(double hyphen), because this is reserved as the prefix for argument names.
Passing lists as arguments
Some API commands include arguments that expect a list of values in one of two list forms: value lists and name/value pairs.
-
value list: each value is specified as a separate argument on the command line.
Example:
ectool addUsersToGroup group1 --userNames user1 user2 user3
-
name/value pairs: each pair is specified as a separate argument in the form name=value.
Example:
ectool runProcedure proj1 --procedureName proc1 --actualParameter parm1=value1 parm2=value2
Common global options
Global arguments can be used alone or in conjunction with other commands. These arguments are used to control communication with the server.
Global Arguments | Description | ||
---|---|---|---|
|
Display an online version of |
||
|
Display the |
||
|
The CloudBees CD/RO server address. The default is the
Do not use in a step context: steps running In a step context, the Perl API proxy server requests through the step’s agent. If the agent does not recognize the provided server-name, it rejects the request. Generally, the issue is that the server publicizes its name as a fully-qualified domain name and the Perl API issues requests with a simple-name for the server. This can happen if the step explicitly states which server it is connecting to. Fix your steps that invoke |
||
|
HTTP listener port on the CloudBees CD/RO server. Defaults to port 8000. |
||
|
HTTPS listener port on the CloudBees CD/RO server. Defaults to port 8443. |
||
|
Use HTTPS to communicate with the CloudBees CD/RO server. Defaults to
|
||
|
An API call waits for a response from the server for a specified amount of time. Timeout for server communication defaults to 180 seconds (3 minutes) if no other time is specified. After the timeout, the API call stops waiting for a response, but the server continues to process the command. You can also use the global CloudBees CD/RO |
||
|
This is a separate timer, independent of the retry flag, and is used to control CloudBees CD/RO automatic error recovery. When the API cannot contact the CloudBees CD/RO server, it keeps trying to contact the server for this length of time. When the API is called from inside a step, it defaults to 24 hours. You can also use the global CloudBees CD/RO |
||
|
Retry the request if it times out based on the "timeout" value. The default is "0" and should rarely need to be changed. |
||
|
Use the session associated with the user. Defaults to the user who last logged in. |
||
|
Specify the service principal name to use for Kerberos. Defaults to |
||
|
Use the current session as the default for subsequent invocations. Defaults to |
||
|
Use the specified encoding for input/output. For example, for |
||
|
Displays session information and the request that would be sent, without communicating with the server. If a subcommand is specified, the server request that would be sent is displayed. This option can also be used to change the default user/server value by specifying the |
||
|
Suppresses printing the result. For example: |
||
|
Suppress printing of advisory messages. By default, advisory messages, including those related to license and use of APIs that are deprecated or in preview mode, are logged on the console when invoked using |
||
|
This option can return the value of a unique element. Because many ectool APIs return an XML result, it is inconvenient to use ectool in shell scripts and makefiles where you might want a piece of the ectool result to incorporate into some other logic. Using the |
||
|
Specifies the response format. Must be one of 'xml' or 'json'. Defaults to 'xml'. For example, you might specify: |
||
|
Force ectool to ignore |