The CloudBees Flow domain-specific language (DSL) is an intuitive, easy-to-use computer language that allows you to model continuous delivery (CD) and Application Release Automation (ARA) solutions. It has these capabilities:
-
Easy to understand
-
Self documenting
-
Automation-as-code: define your processes as high-level code that can be versioned, tested, and reused.
-
User-defined versions for any object, supporting various means of code reuse.
-
Simple, logical constructs to model any CloudBees Flow object.
-
Groovy-based syntax
Why Use DSL?
CloudBees Flow DSL is the easiest of the CloudBees Flow programming constructs to use.
The following is a comparison of DSL (the easiest to use) and Perl scripts (the most difficult to use):
DSL | Perl |
---|---|
Declarative (what) |
Script-based, imperative (how) |
Concise |
Relatively verbose |
Understanding of Groovy not needed to read DSL. |
Understanding of Perl required. |
The entire DSL script is sent only once to the server for evaluation, reducing client-server chattiness. |
Each API invocation is separate call to the server, creating client-server chattiness. |
The following examples show the helloProcedure
in both DSL and Perl along with corresponding CloudBees Flow invocation to run the script.
DSL | Perl |
---|---|
project "Hello Project", { procedure "Hello Procedure", { step "Hello World", command: "echo 'Hello World from CloudBees DSL!'" } } |
use strict; use ElectricCommander; $|=1; my $ec=new ElectricCommander({'format'=>'json'}); $ec->createProject("Hello Project"); $ec->createProcedure("Hello Project", "Hello Procedure"); $ec->createStep("Hello Project", "Hello Procedure", "echo'Hello World from Perl"); |
|
|
You create scripts to model the CloudBees Flow objects using the DSL methods and let the CloudBees Flow DSL engine take care of invoking the correct API to create or update the object. DSL scripting is based on the Groovy scripting language; however, you do not need to know Groovy in detail to use it.
The benefits of using DSL scripts are:
-
Create one master model or script and run it one or more times for different scenarios to build, test, and deploy your application or microservice by passing different parameter values for evaluating the script.
-
Automate software delivery processes to produce repeatable, scalable, and efficient results.
-
Quickly and easily create and deploy applications or microservices using DSL scripts. Using these scripts enables a higher-order command-line interface (CLI) with richer syntax than the CLI on your system.
-
Quickly learn to create and run DSL to perform specific operations with little to no programming experience. Users do not need to know how to use the CloudBees Flow API or UI to create and deploy an application or microservice.
-
Make continuous delivery and continuous integration possible at scale.
For more information about the CloudBees Flow DSL, go to:
Getting started with DSL
Getting help for DSL methods
To get information on the DSL methods, use the evalDsl --describe
argument as follows:
-
Obtaining the complete list of DSL methods for CloudBees Flow objects:
ectool evalDsl dsl --describe 1
-
Obtaining DSL method details for a specific CloudBees Flow object, such as
application
:ectool evalDsl application --describe 1
Or a
microservice
:ectool evalDsl service --describe 1
-
Obtaining details for a specific API, such as
getProcedure
:ectool evalDsl getProcedure --describe 1
Running DSL
You can evaluate a DSL script in one of these ways:
-
From the command-line interface
-
Using the RESTful API
-
From a step command
From the command-line interface
Use the evalDsl
command to evaluate and run a DSL script. See the command evalDsl
for a list of the supported arguments.
These ectool
examples show how to evaluate a DSL script.
-
When specifying the DSL text, enter
ectool evalDsl <dsl>
. For example:ectool evalDsl "project 'My WAR file' "
-
When specifying the path to the DSL script on the client, enter
evalDsl --dslFile <dslFile>
. For example:ectool evalDsl --dslFile c:/dslScripts/myWarFile.dsl
Using the RESTful API
Go to https://<cloudbees-flow-server>/rest/doc/v1.0/
, where <cloudbees-flow-server>
is the host name or IP address of the CloudBees Flow server.
-
Select the /server/dsl method from the server group and click Try it out.
-
Set request to evalDsl and enter the DSL script to evaluate in the dsl field.
-
Scroll down past all the parameters and click Execute.
The response appears in the Responses area and includes the original request along with the response body.
Request:
https://<CloudBees-flow-server>/rest/v1.0/server/dsl?request=evalDsl&dsl=project%20'ProjectTwo'
Response:
{ "project": { "projectId": "c69d55fc-f05f-11e9-b455-001c42c3ce23", "projectName": "ProjectTwo", "createTime": "2019-10-16T21:56:15.590Z", "lastModifiedBy": "admin", "modifyTime": "2019-10-16T21:56:15.590Z", "owner": "admin", "processCount": "0", "propertySheetId": "c69d7d0e-f05f-11e9-b455-001c42c3ce23", "stageCount": "0", "tracked": "1" } }
From the DSL Editor
The DSL Editor is available from within the visual editors for application, dashboard, environment, environment template, microservice, pipeline, and release objects. It provides a convenient way to view or edit the underlying DSL for the object. Buttons let you toggle between the object editors and the DSL editor.
The DSL editor simplifies the modeling process, because you can run DSL code from the CloudBees Flow Deploy UI rather than using an external IDE or command-line interface via the ` evalDsl` API call.
The following example shows how access the DSL editor from the pipeline editor.
-
Navigate to the pipeline object list and select a pipeline. The selected pipeline displays in the pipeline editor.
-
Click the DSL Editor button from the tools bar. The DSL editor opens and displays the DSL for the current pipeline object.
-
Click the Edit button. The DSL editor opens the DSL for editing.
-
Make a change to the DSL code and then click OK. Your changes are saved and you are returned to the pipeline editor.
Common Use Cases
Generating DSL for CloudBees Flow objects
To generate a DSL script for an existing CloudBees Flow object, which was created through a Perl API, a REST API, or the UI, enter
ectool generateDsl <path>
where <path>
is the path to the CloudBees Flow object for which you want to generate the DSL script.
For example, if you have a resource named local in your CloudBees Flow instance:
-
Run the following command to redirect the output to a file (for example, myScript.dsl):
ectool generateDsl /resources/local > myScript.dsl
This command generates output redirected to the specified file, which looks similar to the following:
resource 'local', { description = 'Local resource created during installation.' artifactCacheDirectory = null hostName = '192.168.10.10' hostType = 'CONCURRENT' port = '7800' proxyCustomization = null proxyHostName = null proxyProtocol = null repositoryNames = null resourceDisabled = '0' shell = null trusted = '0' useSSL = '1' workspaceName = null zoneName = 'default' }
-
Use the script file created in the previous steps with the
evalDsl
command to create or update the resource in CloudBees Flow.You can also edit the file to add or update resource attributes before using the script with
evalDsl
.ectool evalDsl --dslFile myScript.dsl
Passing parameters
Create a template script using script parameters instead of hard-coding all the values in the script. You can then invoke the same script with different parameter values each time to create different CloudBees Flow object instances. For example, you could use the following script to create a resource that uses SSL in the secure zone:
zone 'secure' resource() { resourceName = args.resourceName hostName = args.resourceIP hostType = 'CONCURRENT' resourceDisabled = '0' trusted = '1' useSSL = '1' zoneName = 'secure' }
The script has the values args.resourceName
and args.resourceIP
for the resourceName
and hostName
resource attributes respectively. These argument or parameter values can be passed from the command line to the DSL script in JSON form using the following command:
For Linux:
ectool evalDsl --dslFile myScript.dsl --parameters '{"resourceName":"MyFirstResource", "resourceIP":"192.168.10.12"}'
For Windows:
ectool evalDsl --dslFile myScript.dsl --parameters "{\"resourceName\":\"MyFirstResource\", \"resourceIP\":\"192.168.10.12\"}"
Note the special handling required on Windows for passing command-line arguments that contain double quotes and spaces. To allow spaces and other special characters in a command-line argument, Windows requires wrapping the value in quotes. Also, if the value itself contains quotes, you must escape those quotes by using a backslash ‘\’. For alternate method for passing parameter values for DSL, see Passing parameters using a file.
Passing parameters using a file
Parameters to a DSL script can be passed using a file that contains the parameters in JSON format as follows:
ectool evalDsl --dslFile myScript.dsl --parametersFile myParams.json
Where the file myParams.json
may contain:
{ "resourceName" : "MyFirstResource", "resourceIP" : "192.168.10.12" }
See Passing parameters using a file for details about using parameters in a DSL script.
Specifying contexts
CloudBees Flow DSL supports a simple and intuitive nested structure to represent the logical structure of CloudBees Flow objects. This allows the DSL methods to be evaluated in a specific context, such as with respect to a CloudBees Flow project, application or microservice, or pipeline.
For example, the following is a very simple script that can create an application with an application tier in a project:
// CloudBees Flow DSL engine will create project 'Default' unless it already exists project ('Default') { //'Deploy world' application will be created within 'Default' project unless it already exists application('Deploy world') { //'Web Tier' application tier will be created within 'Deploy world' application unless it already exists applicationTier('Web Tier') } }
Using CloudBees Flow APIs in a DSL script
All CloudBees Flow APIs available through ec-perl ` are available for use in your DSL script with the exception of `publishArtifactVersion
and retrieveArtifactVersions
. The syntax for invoking a CloudBees Flow API in DSL is as follows:
<methodName> (argumentName1: value1, argumentName2:value2, ... )
For example, the getProcedure
API can be invoked as:
def proc = getProcedure (procedureName: 'RunInstances', projectName: 'DeployUtilities')
See CloudBees Flow Perl API Commands for the complete list of API commands.
Understanding transactions in DSL
By default, all operations invoked in a single DSL script run in one transaction. This means that if an error is encountered in the script, the entire script is rolled back. For example, in the following script:
// -- Transaction begins here project ('MyTestProject') application('MyTestApp') { applicationTier('Tier1') { process('Deploy') { processStep('step1', applicationTierName: 'Tier1', processStepType: 'command', errorHandling: 'failProcedure', subproject: '/plugins/EC-Core/project', subprocedure: 'RunCommand', actualParameter: [ shellToUse: 'sh', commandToRun: 'echo hi' ]) } } } // -- Transaction ends here
if an error is encountered while the script creates the process step step1
after creating the process, then the application tier, the application, then the entire transaction is rolled back to avoid a partially created application, application tier, and process. However, as with other CloudBees Flow APIs, if the system considers the error to be retryable (such as a database locking error), then the entire DSL is re-evaluated.
When using certain CloudBees Flow APIs in the DSL script, you must run them in a separate transaction. To do so, enclose the required part of the script in a transaction . For example, if you request a procedure to start in the DSL script and want to monitor its progress in the same script, you must commit the request in a separate transaction before monitoring begins. This lets the system pick up the request for execution. The following example shows how to do so:
// -- Transaction one begins here procedure projectName: ‘Hello Project’, procedureName: ‘testRunProcedure’ def resp // -- Transaction one ends here // -- Transaction two begins here transaction{ // calling the runProcedure in its own transaction // so that the procedure kicks off when this script is // running and we can monitor its progress. resp=runProcedure( projectName: 'Hello Project', procedureName: 'testRunProcedure', actualParameter: [ friend: 'James', ] ) } // -- Transaction two ends here // -- Transaction three begins here // Now let's grab the jobId launched to run the procedure def id=resp.jobId // Let's wait for it to finish def String status='' while(status != "completed") { status=getProperty(propertyName: 'status', jobId: id).value; println "status: $status" sleep (1000) } // -- Transaction three ends here
def resp // Calling the runProcedure in it's own transaction // so that the procedure kicks off when this script is // running and we can monitor its progress. transaction{ resp=runProcedure( projectName: 'Hello Project', procedureName: 'testRunProcedure', actualParameter: [ friend: 'James', ] ) } // Now let's grab the jobId launched to run the procedure def id=resp.jobId // Let's wait for it to finish def String status='' while(status != "completed") { status=getProperty(propertyName: 'status', jobId: id).value; println "status: $status" sleep (1000) }
The above script has three transactions:
-
Before the transaction block
-
The transaction block itself within which the procedure run request happens
-
After the transaction block where it polls for the procedure to complete
When evaluating such a DSL script, whether the script is retried after a retryable error depends on where the error occurs. If it occurs before the transaction block is encountered, then the script is retried. But if it occurs after the transaction block is encountered, then the script is not retried.
Accessing external libraries
You can use external .jar files with DSL. CloudBees Flow DSL is based on Groovy so that you can take advantage of all Groovy and Java capabilities. You can use any Groovy or Java libraries in your DSL script. The libraries can be made available to the CloudBees Flow DSL runtime engine when the DSL script is executed using the serverLibraryPath
parameter.
-
Create a file named
httputil.groovy
with the following content. The script uses thegroovyx.net.http.HTTPBuilder
class to make an HTTP GET request.import groovyx.net.http.HTTPBuilder import static groovyx.net.http.Method.GET import static groovyx.net.http.ContentType.JSON String url = “http://www.example.com” String uriPath = “/sample-rest-call HTTPBuilder http = new HTTPBuilder(url) http.request(POST, JSON) { uri.path = uriPath send URLENC, content response.success = { resp, reader ->; String jsonResponse = (reader.readLines().join() as String) println new JsonSlurper().parseText(jsonResponse) } response.failure = { resp, reader ->; log.error "Request failed : [URI : ${uriPath}, Status: ${resp.status}]" } response.’401’= {resp ->; println “Status 401 received” }
-
Create a directory named
/opt/dslSamples/lib
and make it accessible from the CloudBees Flow server with the following .jar files:http-builder-0.6 json-lib-2.3-jdk15.jar xml-resolver-1.2.jar
-
Evaluate script using the following command:
ectool evalDsl --dslFile httputil.groovy --serverLibraryPath /opt/dslSamples/lib
When the DSL is evaluated on the CloudBees Flow server, any .jar files contained in the directory specified for
serverLibraryPath
will be available to the CloudBees Flow DSL runtime engine.
Any Groovy files and Java class files contained in the directory specified for serverLibraryPath
will also be available to the script evaluated by evalDsl
. For example, if the directory contains a Groovy class my.sample.dsl.DslUtil
in the directory structure my/sample/dsl/DslUtil.groovy
, the script can use the Groovy class by importing the class in the script as with any other class.
Debugging DSL scripts
You can use debug logging as well as the println
method for debugging DSL scripts.
Using debug logging
You can use the debug
argument to return debug messages in the evalDsl
response for your script while it is evaluated by the CloudBees Flow DSL engine. These messages are useful for debugging DSL scripts. For example:
ectool evalDsl --dslFile myScript.dsl --debug 1
or
ectool evalDsl "project 'My WAR file'" --debug 1
Using the println method
You can use the standard Groovy println
method in your DSL script to print messages to the client console while it is evaluated by the CloudBees Flow DSL engine. The line numbers for lines that produced println
output are included. For example, entering ectool evalDsl --dslFile myfile.dsl
, where myfile.dsl
contains:
def result for (int i =0; i< 10; i++) { println 'Creating project: ' + 'ABTest-' + i result = project 'ABTest-' + i, resourceName: 'res1' } result
returns the following output:
<response requestId="1" nodeId="10.0.1.15"> <value> Result: project[name=ABTest-9,id=7777e4ff-7941-11e6-94c1-34e6d71279c8] Console output: Line 0003: [OUT] Creating project: ABTest-0 Line 0003: [OUT] Creating project: ABTest-1 Line 0003: [OUT] Creating project: ABTest-2 Line 0003: [OUT] Creating project: ABTest-3 Line 0003: [OUT] Creating project: ABTest-4 Line 0003: [OUT] Creating project: ABTest-5 Line 0003: [OUT] Creating project: ABTest-6 Line 0003: [OUT] Creating project: ABTest-7 Line 0003: [OUT] Creating project: ABTest-8 Line 0003: [OUT] Creating project: ABTest-9 </value> </response>
If you also use the debug
argument , the println
output is interleaved with the debug logging to the console. The line numbers for lines that produced println
output and debug logging are included. The println
output is similarly interleaved with debug logging for exceptions where the debug logs are returned in the evalDsl response. For example, entering ectool evalDsl --dslFile myfile_that_throws_exception.dsl --debug 1
, where myfile_that_throws_exception.dsl
contains:
project 'printingInInvalidDsl' println("Causing NPE now..") def a a.name //will cause NPE println("Should not print")
returns the following output:
ectool error [InvalidScript]: Unknown exception during DSL eval at line 4: Cannot get property 'name' on null object Line 0001: DSL method 'project' Line 0001: Checking if project exists with args {projectName=printingInInvalidDsl} Line 0001: project exists: false Line 0001: Invoking 'createProject' with args {projectName=printingInInvalidDsl} Line 0001: Done invoking 'createProject' Line 0002: [OUT] Causing NPE now.. Details: Cannot get property 'name' on null object
Generating DSL Scripts
There are two ways to generate DSL scripts, based on your needs:
-
Through the object editor: best for single objects
-
Through the Export DSL service catalog item: best for object hierarchies
Single Objects
Via UI
You can export any object such as a pipeline, application or microservice, environments, release, and so on, to a DSL file to represent its definition as code. You can then store the file in a source code repository of your choice.
The DSL-based representation of any object lets you recreate that state of the object at any point. For example, let’s say you have a pipeline named Heatclinic pipeline DSL and you want to be able to recreate its current state at any point in the future. Using the DSL Export feature, you can export the current definition for this pipeline as code to a DSL file.
Then check this version of the DSL file into your source code repository. This DSL file has all the details of the pipeline stages, gates, and tasks. It also retains references to the snapshots used for deployments in various stages of this pipeline. Snapshots capture references to the exact versions of the artifacts, configurations, and so on. This lets you recreate this exact state of the pipeline at any point in the future for various scenarios. To do so, you check out that DSL file and execute that DSL using either the evalDsl
API or even using the DSL editor from the UI. Running this DSL recreates the pipeline as it was when this DSL file was created.
While this example showcases pipeline objects, the DSL export functionality is available from most CloudBees Flow objects.
This method is limited to the following object types: Applications, microservices, environments, master components, environment and resource templates, reports, releases, and pipelines.
Via API
Use the ectool generateDsl <path> [optionals]
API command to generate an XML file representing the contents of a CloudBees Flow object. See the generateDsl command for full syntax and examples.
Object Hierarchy
Via UI
To generate DSL scripts representing the contents of an entire CloudBees Flow object structure including all nested objects, parameters, and custom properties, use the Export DSL service catalog item available with the CloudBees Flow UI. This method is available for all Flow object types.
The scripts are organized in a file structure suitable for importing back into the object structure. In this way, you can use the corresponding Import DSL service catalog item to easily create new objects based on the existing object structure or to override the original object structure.
DSL Automation as Code
DSL automation as code refers to the end-to-end process, or round-trip capability, of maintaining the domain specific language (DSL) representation of CloudBees Flow objects in a nested file structure. It is available for all CloudBees Flow objects.
Topics in this section:
Access this round-trip capability from the Flow UI via the Export DSL and Import DSL service catalog items.
Navigate to the catalog items as follows:
-
Click the Service Catalog tab in the topmost CloudBees Flow banner.
-
Select DSL from the All Catalogs pull down in the upper right of the service catalog landing page.
From here, you access the Export DSL and Import DSL catalog items.
Example: Copying a Pipeline
This example shows how to copy an existing pipeline from an established project to a new project.
Consider the pipeline below, both the visual representation on the left and the file hierarchy on the right.
|
└───projects └───ProjectProto │ project.dsl │ └───pipelines ├───PipelineA │ │ pipeline.dsl │ │ │ └───stages │ └───Stage 1 │ └───tasks │ Task 2.cmd │ └───PipelineB pipeline.dsl |
-
Export the pipeline: Use the Export DSL catalog item to create the DSL representation of the object hierarchy.
On the first part of the UI enter:
-
Resource: the resource on which to export the DSL. Enter a resource name from the Main Menu > Resources list. Here, `local ` is used to indicate the Flow server system itself.
-
Directory Path: the directory path on Resource into which DSL is exported. In this case
C:/DSLorig
. -
Object Type, select the top-level object type. In this case, Project.
-
Project: select the source project. In this case, ProjectProto is the project housing the pipeline.
-
Then, set options as detailed below, noting required options important for this example.
Option Setting Notes Options for Exporting DSL
Suppress Nulls
checked
Optional. Checking this option reduces bulk of resulting DSL file.
Suppress Defaults
checked
Optional. Checking this option reduces bulk of resulting DSL file.
Suppress Parent
checked
Required. This suppresses information about the top-level project. Checking this creates a project-agnostic DSL file.
Include ACLs
as required
Optional. Include access control lists as required.
Options for Child Objects
Include All Child Objects
unchecked
Required. Uncheck in order to restrict export just to pipelines.
Child Object Types to Include
pipelines
Required. Export just pipelines to DSL file.
Include all Child Objects in a Single DSL File
unchecked
Required. Export into a single DSL file.
Child Object Types to Export to Separate DSL files
pipelines
All pipeline information is exported to separate files in order to aide in cherry picking files connected with pipeline to be copied.
-
Create a new folder representing the project into which you copy the PipelineA file hierarchy, and copy the files, highlighted in violet. In this example,
C:/DSLtest/projects/MyNewProject
is the folder representing the new project.C:DSLorig └───projects └───ProjectProto │ project.groovy │ └───pipelines ├───PipelineA │ │ pipeline.dsl │ │ │ └───stages │ └───Stage 1 │ └───tasks │ Task 2.cmd │ └───PipelineB pipeline.dsl
C:DSLtest └───projects └───MyNewProject └───pipelines └───PipelineA │ pipeline.dsl │ └───stages └───Stage 1 └───tasks Task 2.cmd
-
Import the pipeline: Use the ImportDSL catalog item to import PipelineA copy into project MyProject. Enter the resource name and directory path to the DSL hierarchy. In this case,
local ` and `C:/DSLtest
are entered, respectively. Click OK ; the Job Details page displays ongoing status during the import. -
View the new pipeline:
-
Using the Export DSL Catalog Item
Use the Export DSL catalog item to create the DSL representation of the object hierarchy. With this UI, you specify details about the top-level object and desired nested objects you wish to export to the file system. By default, the DSL is exported into separate files in a directory tree representing the object hierarchy, for ease of editing and management.
Click the Export button on the Export DSL tile to get started–the New Export DSL dialog displays. Refer to the table below for configuration details. When finished, click OK to save your preferences and initiate the export.
Label | Description |
---|---|
Resource Name |
(Required) The resource where the DSL files are to be written. Enter a resource name from the Main Menu > Resources list. |
Directory Path |
(Required) The directory on the resource where the DSL files are to be written. In cluster mode, and as an overall best practice, specify a path on a shared drive. |
Object Type |
(Required) The top-level object type of the exported DSL hierarchy. Choose one from the dropdown. |
<object name> |
(Required) The specific top-level object name The label and contents of this pull down is context sensitive based on the Object Type. |
Options for Exporting DSL These options control what is emitted in the exported DSL for each child object. |
|
Suppress Nulls |
Select to exclude fields with null values in the exported DSL. |
Suppress Defaults |
Select to exclude fields with default values in the exported DSL. |
Suppress Parent |
Select to exclude the object’s parent references in the exported DSL. |
Include ACLs |
Select to include the each object’s access control list in the exported DSL. |
Options for Child Objects These options control how the hierarchy is stored in the file structure. |
|
Include All Child Objects |
Select to include all child objects in the top-level object hierarchy specified by <object name>. If not selected, the Child Object Types to Include box opens. Enter a comma-separated list of child object types to include. Use the describeObjectTypeStructure command to get a list of the hierarchy for a given top-level object type. Peruse the hierarchy for the child object of interest and use its Example: |
Include all Child Objects in a Single DSL File |
Select to include all child objects into a single DSL file. If not selected, the Child Object Types to Export to Separate DSL files box opens. Enter a comma-separated list of child object types.
Example: See Child Object Lists for more details about specifying lists. |
Specifying Child Object Lists
Use information in this section to help you formulate child object lists when you wish to export your objects into separate DSL files. That is, when Include all Child Objects in a Single DSL File is not selected.
Use the describeObjectTypeStructure command to get a list of the hierarchy for a given top-level object type. Peruse the hierarchy for the child object of interest and use its objectType.collectionName
as the value to include in the comma-separated list.
For example, to get the hierarchy of child objects for the project
top-level type, use:
ectool describeObjectTypeDslStructure --objectType project --topLevelOnly 1
This returns a project
object detail and the list of its child objects. Choose any combination of child types and pass them as a comma-separated list. Listing a child type generates DSL for all entities of that type and for all its child entities. Only types listed are included in DSL generation process.
-
Wildcard characters are accepted.
-
Qualify the object as needed to uniquely specify it.
For example:
-
pipelines,releases
:-
Each pipeline and release full hierarchy placed into its own file.
-
-
pipelines.stages
:-
Each pipeline partial hierarchy down to the stage level placed into its own file.
-
Each stage and all nested hierarchy placed into its own file, nested under its pipeline in the file structure.
-
-
pipelines.stages.tasks
:-
Each pipeline partial hierarchy down to the stage level placed into its own file.
-
Each stage and task placed into its own file, nested under its pipeline in the file structure.
-
-
pipelines.*
:-
Each pipeline and every nested component, down to gate tasks and pre and post gate elements, placed under it in its own file, nested under its pipeline in the file structure.
-
Using the Import DSL Catalog Item
Use the Import DSL catalog item to run the specified domain-specific language script, thus creating a new or overwriting an existing object hierarchy. With this UI, you specify details about the file system location from which the import takes place.
All information at the specified Directory Path is imported, so make sure you have made desired changes to the DSL scripts before you initiate the import. Otherwise, you could unintentionally overwrite your current objects. |
Click the Import button on the Import DSL tile to get started. The New Import DSL dialog displays. When finished, click OK to save your preferences.
Label | Description |
---|---|
Resource Name |
(Required) The resource where the DSL files are read from. Enter a resource name from the Main Menu > Resources list. Specify `local ` to work with a local directory. |
Directory Path |
(Required) The directory on the resource from which the DSL files are read. In cluster mode, and as an overall best practice, specify a path on a shared drive. |
Overwrite |
(Required) Select to enable overwrite mode.
|
DSL Editor
The DSL Editor is available from within the visual editors for application, dashboard, environment, environment template, microservice, pipeline, and release objects. It provides a convenient way to view or edit the underlying DSL for the object. Buttons let you toggle between the object editors and the DSL editor.
The DSL editor simplifies the modeling process, because you can run DSL code from the CloudBees Flow Deploy UI rather than using an external IDE or command-line interface via the evalDsl
API call. The following example shows how access the DSL editor from the pipeline editor.
-
Navigate to the pipeline object list and select a pipeline. The selected pipeline displays in the pipeline editor.
-
Select the DSL Editor button from the tools bar. The DSL editor opens in edit mode, displaying the DSL code for the current object.
-
Make a change to the DSL code and then select the Save button in the upper right corner of the editor pane. Your changes are applied to the object and saved.
-
Select the Back arrow to return to the pipeline list.
Troubleshooting and FAQs
Troubleshooting
Issue | What to Do | Links to Related Topics |
---|---|---|
Get help on the DSL methods |
To get the complete list of supported DSL methods, log into
To get help on a particular DSL method, enter the following command:
For example, to get help on the
For details about logging into |
|
The DSL script completes successfully using the |
Log into
For example, to evaluate the
The To evaluate a DSL file (rather than a code snippet), enter:
For example, to debug a DSL file named
For details about logging into |
FAQs
Answer: CloudBees Flow DSL is a dynamic scripting language to provide a cleaner and much easier syntax for non-technical users to understand. However, the CloudBees Flow Perl API and the REST API are supported as well, and you can continue to use them if they suit your scripting needs.
Answer: Yes, most Groovy constructs such as closures, named arguments, and so on can be used in your DSL script.
Answer: Yes, you can use the generateDsl
command to create a DSL script for any CloudBees Flow object.
Command: ectool generateDsl [path]
Example: ectool generateDsl /projects/Default/applications/MyApp
Answer: Use one of the following patterns to define access control for objects in your DSL script. These patterns allow the DSL runtime engine to deterministically find the correct CloudBees Flow object for creating or updating access control entries (ACEs).
-
Access control entries can be nested inside the DSL method of the object for which the access control is being defined. For example, the following script provides the user named " joe " full access to project called Foo .
project 'Foo', { aclEntry principalName: 'joe', principalType: 'user', readPrivilege: 'allow', modifyPrivilege: 'allow', changePermissionsPrivilege: 'allow' }
-
Use the
objectType
argument to declare the type of object for which the access control is being defined if the access control method is not enclosed within the DSL method for the object. This can be used to define ACEs for objects such as server and other system objects because they do not have a DSL method similar to other regular objects.// Removing any previously set ACL for 'Everyone' deleteAclEntry ( principalType: 'group', principalName: 'Everyone', objectType : 'server', systemObjectName : 'server' ) aclEntry principalName: 'joe', principalType: 'user', objectType : 'server', systemObjectName : 'server', readPrivilege: 'allow', modifyPrivilege: 'allow', changePermissionsPrivilege: 'allow'
or
aclEntry principalName: 'joe', principalType: 'user' objectType : 'systemObject', systemObjectName : 'resources', readPrivilege: 'allow', modifyPrivilege: 'allow', changePermissionsPrivilege: 'allow'
Answer: DSL files containing multibyte characters (such as Korean characters) must be encoded in UTF-8 to be CloudBees Flow-compatible. DSL files generated by CloudBees Flow are in UTF-8 by default, but if you are using a file that was created outside of CloudBees Flow, you must ensure that the encoding is in UTF-8.
You can convert the encoding for a DSL file to UTF-8 via a text editor that is capable of doing the conversion (such as Notepad++). To ensure proper encoding you can either:
-
Open the DSL Editor in the CloudBees Flow UI and paste in the file’s contents to see if the characters rendered properly (and then use the text editor to make corrections if needed).
-
Run
ectool evalDsl --dslFile <filename>.dsl
and check the console output forunexpected char
errors (and then use the text editor to make corrections if needed).
DSL Methods
CloudBees Flow supports these DSL methods:
Name | Description |
---|---|
An access control list; controls access to domain objects. |
|
An individual access control list entry; allows or denies a privilege on a domain object. |
|
A name/value pair that is passed to a procedure when it is invoked. |
|
Application representation. |
|
Represents a application dependency on other applications or service |
|
A logical grouping of a components that are part of an application and the resources they should be deployed on |
|
Archive Connector. |
|
Encapsulates various metadata about Artifacts. |
|
Encapsulates various metadata about ArtifactVersions. |
|
Self Service dashboard catalog, the container of catalog items. |
|
Self Service dashboard catalog item |
|
Represents a pool of resources on the cloud |
|
A component of an application architecture. |
|
A container which typically encapsulates a microservice. |
|
A username/password stored in the server as encrypted data. Typically used in an agent context to authenticate with a third-party system. The password value is not available in the web context for security reasons, so this object has no getPassword method. |
|
Report dashboard, the container of report widgets. |
|
Data Retention Policy. |
|
Represents an application that will be deployed as part of deployer used in a release |
|
Contains configuration for an application to be deployed in a release |
|
Represents a service that will be deployed as part of deployer used in a release |
|
A DevOps Insight data source object. |
|
Contains information about the configuration used to communicate with an external directory service (LDAP or ActiveDirectory). |
|
Encapsulates all of the mail server configuration information necessary for the Commander server to send an outbound e-mail message. |
|
E-mail notification to be sent when a particular event occurs. |
|
The environment to which an application is deployed. |
|
A map between a service and environment clusters. |
|
The environment template. |
|
The environment template tier belonging to an environment template. |
|
A map to hold mappings between application and an environment template tiers. |
|
A mapping between an application tier and an environment template tier. |
|
The environment tier belonging to an environment. |
|
Encapsulates a microservice configuration |
|
A name and value pair that is passed to create an output parameter on procedure/process/pipeline. |
|
An unbound parameter defined on a procedure, workflow definition, etc. |
|
Tasks container belonging to stage |
|
A secured connection between two zones for sharing or transferring information between the zones. |
|
A group of users. |
|
A resource template hook that stores a reference to a procedure in an ElectricFlow project or plugin project. When a resource template is used to create a resource pool, these procedures are invoked. |
|
An instance of a procedure run. |
|
A step in a job. |
|
License data in XML format that describes the usage to which you are entitled. |
|
An api that allows to create or modify notes on an object. |
|
A persona for a user or group. |
|
A persona category. |
|
A persona page. |
|
pipeline representation. |
|
An add-on program used by CloudBees Flow to integrate with third-party tools, custom dashboards, and unique user experiences based on roles. |
|
Container and Service port details |
|
Container for steps that execute some task. |
|
An application or component process. |
|
Represents a dependency between process steps. |
|
A step in an application or component process. |
|
Container for a group of related procedures and schedules. |
|
A custom attribute attached to any CloudBees Flow object. This may be a key, string-value pair or a complex structure, where the value is a reference to a property sheet containing nested properties. |
|
Release object |
|
DevOps Insight Report object |
|
Report object association. |
|
Report object attribute. |
|
Report object type. |
|
Reporting filter. |
|
Encapsulates various metadata about Repositories. |
|
The reservation |
|
Abstract reference to an agent, responsible for running step commands. |
|
A collection of resources with a ordering policy. |
|
A template with the required information to provision and later spin up cloud resources on an on-demand basis. |
|
Represents a rolling deploy phase |
|
SAML Identity Provider Configuration representation |
|
Saml Service Provider Configuration representation |
|
This object is responsible for launching a procedure at some time in the future, possibly on a regular interval. |
|
Search filter representation. |
|
A micro-service that may or may not be made up of multiple containers. |
|
A service account object. |
|
A mapping between a service and an environment cluster. |
|
A mapping between a service and an environment cluster. |
|
Represents a service dependency on other applications or service |
|
Allows to override container definition at the time of application-service mapping |
|
A version of an application or service with specific artifact versions and the state of the application or service at any point in time. |
|
Logical grouping of pipeline tasks |
|
A state definition in a workflow definition. Each workflow can contain one or more states. |
|
A unit of logic that will execute on an agent. |
|
Categorize objects using tags |
|
A representation of task within a stage or gate. |
|
A map to hold mappings between application and an environment tiers. |
|
A mapping between an application tier and an environment tier. |
|
Defines how a workflow must transition from one state to another. |
|
A user object. |
|
Utility resource representation. |
|
Represents a dependency defined on a stage or task. |
|
Dashboard widget |
|
Widget filter override. |
|
A top-level workflow object, which is a container for states, and transitions, and other information defining your workflow. |
|
File system directory in which a JobStep’s logs and often its artifactVersions are stored. |
|
A zone or top-level network created as a way to partition a collection of agents to secure them from use by other groups. |
acl
An access control list; controls access to domain objects.
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application container of the property sheet which owns the property. |
applicationTierName |
The name of the application tier container of the property sheet which owns the property. |
archiveConnectorName |
The name of the archive connector of the property sheet which owns the property. |
artifactName |
The name of the artifact container of the property sheet which owns the property. |
artifactVersionName |
The name of the artifactVersion container of the property sheet which owns the property. |
catalogName |
The name of the catalog of the property sheet which owns the property. |
clusterName |
The name of the cluster which owns property sheet. |
componentName |
The name of the component container of the property sheet which owns the property. |
configName |
The name of the emailConfig container that owns the property. |
containerName |
The name of the container that owns the property. |
credentialName |
The name of the credential container of the property sheet which owns the property. |
dashboardName |
The name of the dashboard of the property sheet which owns the property. |
dataRetentionPolicyName |
The name of the data retention policy of the property sheet which owns the property. |
environmentName |
The name of the environment container of the property sheet which owns the property. |
environmentTemplateName |
The name of the environment template container of the property sheet which owns the property. |
environmentTemplateTierName |
The name of the environment template tier container of the property sheet which owns the property. |
environmentTierName |
The name of the environment tier container of the property sheet which owns the property. |
flowName |
The name of the flow container of the property sheet which owns the property. |
flowRuntimeId |
The primary key or name of the flowRuntime container of the property sheet which owns the property. |
flowRuntimeName |
The name of the flow runtime container of the property sheet which owns the property. |
flowRuntimeStateId |
The primary key or name of the flowRuntimeState container of the property sheet which owns the property. |
flowRuntimeStateName |
The name of the flow state container of the property sheet which owns the property. |
flowStateName |
The name of the flow state container of the property sheet which owns the property. |
flowTransitionName |
The name of the flow transition container of the property sheet which owns the property. |
gateType |
The type of the gate which owns property sheet. |
gatewayName |
The name of the gateway container of the property sheet. |
groupName |
The name of the group container of the property sheet which owns the property. |
jobId |
The primary key or name of the job container of the property sheet which owns the property. |
jobStepId |
The primary key of the job-step container of the property sheet which owns the property. |
kerberosKeytabName |
The name of the kerberos keytab. |
notifierName |
The name of the notifier container of the property sheet which owns the property. |
objectId |
The object id as returned by FindObjects. |
objectType |
The type of object protected by the access control |
path |
Property path string. |
personaName |
The name of the persona. |
pipelineName |
The name of the pipeline container of the property sheet which owns the property. |
pluginName |
The name of the plugin container of the property sheet which owns the property. |
procedureName |
The name of the procedure container of the property sheet which owns the property. |
processName |
The name of the process, if the container is a process or process step. |
processStepName |
The name of the process step, if the container is a process step. |
projectName |
The name of the project container of the property sheet which owns the property. |
propertySheetId |
The primary key of the property sheet which owns the property. |
releaseName |
The name of the release container of the property sheet which owns the property. |
reportName |
The name of the report of the property sheet which owns the property. |
reportObjectTypeName |
The name of the report object type of the property sheet which owns the property. |
repositoryName |
The name of the repository container of the property sheet which owns the property. |
resourceName |
The name of the resource container of the property sheet which owns the property. |
resourcePoolName |
The name of the resource pool container of the property sheet which owns the property. |
resourceTemplateName |
The name of the resource template container of the property sheet which owns the property. |
scheduleName |
The name of the schedule container of the property sheet. |
searchFilterName |
The name of the search filter container of the property sheet. |
serviceAccountName |
Get the name of the service account container of the property sheet |
serviceName |
The name of the service container of the property sheet. |
snapshotName |
The name of the snapshot container of the property sheet which owns the property. |
stageName |
The name of the stage container of the property sheet which owns the property. |
stateDefinitionName |
The name of the state definition container of the property sheet which owns the property. |
stateName |
The name of the state container of the property sheet which owns the property. |
stepName |
The name of the step container of the property sheet which owns the property. |
systemObjectName |
The system object. |
tagName |
The name of the tag. |
taskName |
The name of the task which owns property sheet. |
transitionDefinitionName |
The name of the transition definition container of the property sheet which owns the property. |
transitionName |
The name of the transition container of the property sheet which owns the property. |
userName |
The name of the user container of the property sheet which owns the property. |
widgetName |
The name of the widget of the property sheet which owns the property. |
workflowDefinitionName |
The name of the workflow definition container of the property sheet which owns the property. |
workflowName |
The name of the workflow container of the property sheet which owns the property. |
workspaceName |
The name of the workspace container of the property sheet. |
zoneName |
The name of the zone container of the property sheet. |
aclEntry
An individual access control list entry; allows or denies a privilege on a domain object.
Required Arguments
Name | Description |
---|---|
principalName |
Name of the user or group for this access control entry. |
principalType |
Type of principal for this access control entry (user or group). |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application container of the property sheet which owns the property. |
applicationTierName |
The name of the application tier container of the property sheet which owns the property. |
archiveConnectorName |
The name of the archive connector of the property sheet which owns the property. |
artifactName |
The name of the artifact container of the property sheet which owns the property. |
artifactVersionName |
The name of the artifactVersion container of the property sheet which owns the property. |
catalogName |
The name of the catalog of the property sheet which owns the property. |
changePermissionsPrivilege |
Determines whether the principal can modify access control for the object. |
clusterName |
The name of the cluster which owns property sheet. |
componentName |
The name of the component container of the property sheet which owns the property. |
configName |
The name of the emailConfig container that owns the property. |
containerName |
The name of the container that owns the property. |
credentialName |
The name of the credential container of the property sheet which owns the property. |
dashboardName |
The name of the dashboard of the property sheet which owns the property. |
dataRetentionPolicyName |
The name of the data retention policy of the property sheet which owns the property. |
environmentName |
The name of the environment container of the property sheet which owns the property. |
environmentTemplateName |
The name of the environment template container of the property sheet which owns the property. |
environmentTemplateTierName |
The name of the environment template tier container of the property sheet which owns the property. |
environmentTierName |
The name of the environment tier container of the property sheet which owns the property. |
executePrivilege |
Determines whether the principal can invoke this object as part of a job; this privilege is only relevant for a few objects such as procedures and procedure steps. |
flowName |
The name of the flow container of the property sheet which owns the property. |
flowRuntimeId |
The primary key or name of the flowRuntime container of the property sheet which owns the property. |
flowRuntimeName |
The name of the flow runtime container of the property sheet which owns the property. |
flowRuntimeStateId |
The primary key or name of the flowRuntimeState container of the property sheet which owns the property. |
flowRuntimeStateName |
The name of the flow state container of the property sheet which owns the property. |
flowStateName |
The name of the flow state container of the property sheet which owns the property. |
flowTransitionName |
The name of the flow transition container of the property sheet which owns the property. |
gateType |
The type of the gate which owns property sheet. |
gatewayName |
The name of the gateway container of the property sheet. |
groupName |
The name of the group container of the property sheet which owns the property. |
jobId |
The primary key or name of the job container of the property sheet which owns the property. |
jobStepId |
The primary key of the job-step container of the property sheet which owns the property. |
kerberosKeytabName |
The name of the kerberos keytab. |
modifyPrivilege |
Determines whether the principal can change the contents of the object. |
notifierName |
The name of the notifier container of the property sheet which owns the property. |
objectId |
The object id as returned by FindObjects. |
objectType |
The type of object protected by the access control |
path |
Property path string. |
personaName |
The name of the persona. |
pipelineName |
The name of the pipeline container of the property sheet which owns the property. |
pluginName |
The name of the plugin container of the property sheet which owns the property. |
procedureName |
The name of the procedure container of the property sheet which owns the property. |
processName |
The name of the process, if the container is a process or process step. |
processStepName |
The name of the process step, if the container is a process step. |
projectName |
The name of the project container of the property sheet which owns the property. |
propertySheetId |
The primary key of the property sheet which owns the property. |
readPrivilege |
Determines whether the principal can examine the contents of the object |
releaseName |
The name of the release container of the property sheet which owns the property. |
reportName |
The name of the report of the property sheet which owns the property. |
reportObjectTypeName |
The name of the report object type of the property sheet which owns the property. |
repositoryName |
The name of the repository container of the property sheet which owns the property. |
resourceName |
The name of the resource container of the property sheet which owns the property. |
resourcePoolName |
The name of the resource pool container of the property sheet which owns the property. |
resourceTemplateName |
The name of the resource template container of the property sheet which owns the property. |
scheduleName |
The name of the schedule container of the property sheet. |
searchFilterName |
The name of the search filter container of the property sheet. |
serviceAccountName |
Get the name of the service account container of the property sheet |
serviceName |
The name of the service container of the property sheet. |
snapshotName |
The name of the snapshot container of the property sheet which owns the property. |
stageName |
The name of the stage container of the property sheet which owns the property. |
stateDefinitionName |
The name of the state definition container of the property sheet which owns the property. |
stateName |
The name of the state container of the property sheet which owns the property. |
stepName |
The name of the step container of the property sheet which owns the property. |
systemObjectName |
The system object. |
tagName |
The name of the tag. |
taskName |
The name of the task which owns property sheet. |
transitionDefinitionName |
The name of the transition definition container of the property sheet which owns the property. |
transitionName |
The name of the transition container of the property sheet which owns the property. |
userName |
The name of the user container of the property sheet which owns the property. |
widgetName |
The name of the widget of the property sheet which owns the property. |
workflowDefinitionName |
The name of the workflow definition container of the property sheet which owns the property. |
workflowName |
The name of the workflow container of the property sheet which owns the property. |
workspaceName |
The name of the workspace container of the property sheet. |
zoneName |
The name of the zone container of the property sheet. |
actualParameter
A name/value pair that is passed to a procedure when it is invoked.
Required Arguments
Name | Description |
---|---|
actualParameterName |
The name of the parameter to create/modify/delete. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application, if the actual parameter is on an application process step. |
applicationServiceMappingName |
The name of the application service mapping. |
archiveConnectorName |
The name of the archive connector. |
componentName |
The name of the component, if the actual parameter is on a component process step. |
dashboardName |
The name of the dashboard. |
flowName |
The name of the flow to which the flow state belongs to. |
flowStateName |
The name of the flow state, if the formal parameter is on a flow state. |
newName |
New name for an existing object that is being renamed. |
procedureName |
The name of the procedure. |
processName |
The name of the process, if the actual parameter is on a process step. |
processStepName |
The name of the process step, if the actual parameter is on a process step. |
releaseName |
The name of the release, if the actual parameter is on a release. |
scheduleName |
The name of the schedule. |
serviceClusterMappingName |
The name of the service cluster mapping. |
serviceMapDetailName |
The name of the serviceMapDetail. |
serviceName |
The name of the service, if the actual parameter is on an service process step. |
stateDefinitionName |
The name of the state definition. |
stepName |
The name of the step. |
tierMapName |
The name of the tier map. |
transitionDefinitionName |
The name of the state definition. |
value |
The value of the actual parameter, if creating or modifying. |
widgetName |
The name of the widget. |
workflowDefinitionName |
The name of the workflow definition. |
application
Application representation.
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
applicationDependency
Represents a application dependency on other applications or service
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationDependencyName |
The name of application dependency. If not specified, a system generated guid is used. |
dependentApplicationName |
The name of application which this application depends on. |
dependentProjectName |
The name the project containing the dependent application. |
dependentServiceName |
The name of service which this application depends on. |
dependentSnapshotName |
The name of snapshot of the dependent application. |
effectiveDate |
The date when this dependency is applicable (for example, 2006-05-15). |
newName |
New name for an existing object that is being renamed. |
snapshotName |
Name of the snapshot; must be unique within the application. |
applicationTier
A logical grouping of a components that are part of an application and the resources they should be deployed on
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
applicationTierName |
Name of the tier; must be unique within the application. |
projectName |
The name for the project that must be unique among all projects. |
archiveConnector
Archive Connector.
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameter values for the configured archive connector. (Alternate argument name 'actualParameter') |
archiveDataFormat |
The data format that the connector consumes the archived data in. |
archiveScript |
Script registered to connect to the archive system and store the data being archived. |
clearActualParameters |
True if the archive connector should remove all actual parameters. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
enabled |
Whether the connector is enabled. If true, then any previously enabled archive connector will be disabled. |
newName |
New name for an existing object that is being renamed. |
artifact
Encapsulates various metadata about Artifacts.
Optional Arguments
Name | Description |
---|---|
artifactKey |
The artifactKey component of the GAV (GroupId/ArtifactKey/Version) coordinates. |
artifactName |
The name of the artifact |
artifactVersionNameTemplate |
The artifactVersion name template. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
groupId |
The groupId component of the GAV (GroupId/ArtifactKey/Version) coordinates. |
artifactVersion
Encapsulates various metadata about ArtifactVersions.
Optional Arguments
Name | Description |
---|---|
artifactKey |
The artifactKey component of the GAV (GroupId/ArtifactVersionId/Version) coordinates. |
artifactName |
The name of the artifact containing the artifactVersion. |
artifactVersionName |
The name of the artifact version. |
artifactVersionState |
The state of the artifact version. |
dependentArtifactVersions |
The set of artifactVersions on which this artifactVersion depends. (Alternate argument name 'dependentArtifactVersion') |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
groupId |
The groupId component of the GAV (GroupId/ArtifactVersionId/Version) coordinates. |
jobStepId |
The id of the job step; used to make a project association. |
newName |
New name for an existing object that is being renamed. |
removeAllDependentArtifactVersions |
If true then all dependencies will be removed. |
repositoryName |
The name of the artifact repository. |
version |
The version component of the GAV (GroupId/ArtifactVersionId/Version) coordinates. |
catalog
Self Service dashboard catalog, the container of catalog items.
Required Arguments
Name | Description |
---|---|
catalogName |
The name of the catalog. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
iconUrl |
Set icon url for a catalog |
newName |
New name for an existing object that is being renamed. |
catalogItem
Self Service dashboard catalog item
Required Arguments
Name | Description |
---|---|
catalogItemName |
The name of the Catalog Item |
catalogName |
The name of the Catalog |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
afterItem |
If specified, the catalog item will be placed after the named catalog item. |
beforeItem |
If specified, the catalog item will be placed before the named catalog item. |
buttonLabel |
The name of the button label. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
dslParamForm |
The DSL Parameter form Metadata |
dslString |
The dsl string that is evaluated for the catalog item |
endTargetJson |
The Json desrived end target object |
firstItem |
True to make a catalog item the first in a catalog. |
iconUrl |
The URL for the icon to be used in UI |
newName |
New name for an existing object that is being renamed. |
subpluginKey |
The name of the procedure’s pluginKey. |
subprocedure |
The name of the sub procedure. |
subproject |
The name of the project that contains the sub procedure or sub process |
useFormalParameter |
If true catalog item uses formalParameters data, if false formXml will be used |
cluster
Represents a pool of resources on the cloud
Required Arguments
Name | Description |
---|---|
clusterName |
The name of the cluster. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentName |
Name of the environment which owns this cluster. |
newName |
New name for an existing object that is being renamed. |
pluginKey |
Name of the plugin key. |
pluginProjectName |
plugin project name. |
providerClusterName |
Name of the cluster on the provider platform. |
providerProjectName |
Name of the project on the provider platform. |
provisionParameters |
provision parameter (Alternate argument name 'provisionParameter') |
provisionProcedure |
provision procedure name. |
component
A component of an application architecture.
Required Arguments
Name | Description |
---|---|
componentName |
The name of the component |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Parameters passed as arguments to the application component. (Alternate argument name 'actualParameter') |
applicationName |
The name of an application to scope this component to. |
clearActualParameters |
True if the step should remove all actual parameters. |
credentialName |
The name of a credential to attach to this component. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
pluginKey |
The key of the plugin |
pluginName |
The name of the plugin |
pluginParameters |
List of plugin parameters (Alternate argument name 'pluginParameter') |
reference |
1 to create reference of the component and 0 to create copy of the component |
sourceApplicationName |
The name of source application |
sourceComponentName |
The name of new component |
sourceProjectName |
The name of source project |
container
A container which typically encapsulates a microservice.
Required Arguments
Name | Description |
---|---|
containerName |
Name for the container; must be unique within the project or service. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of an application containing the specified service. |
command |
command to run on the container |
cpuCount |
number of CPUs to allocate to the container |
cpuLimit |
maximum number of CPUs |
credentialName |
The name of a credential to be used for accessing specified registry. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
entryPoint |
entrypoint for the container |
imageName |
Name of the container image |
imageVersion |
Version of the container image |
memoryLimit |
Memory limit in MB |
memorySize |
Size of memory in MB |
newName |
New name for an existing object that is being renamed. |
registryUri |
Registry uri of the container image |
serviceName |
The name of service containing the specified container. |
volumeMount |
Volume mount json of the container image |
credential
A username/password stored in the server as encrypted data. Typically used in an agent context to authenticate with a third-party system. The password value is not available in the web context for security reasons, so this object has no getPassword method.
Required Arguments
Name | Description |
---|---|
credentialName |
The name of the credential. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
password |
The password for the credential. Can also be a certificate or any other chunk of data. |
passwordRecoveryAllowed |
If true, recovering the password by invoking getFullCredential from a job step is allowed. |
userName |
The user name for the credential. |
dashboard
Report dashboard, the container of report widgets.
Required Arguments
Name | Description |
---|---|
dashboardName |
Unique name of the dashboard within the project. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
clearColumns |
Whether or not to clear columns for the dashboard. |
clearPhases |
[DEPRECATED]: Use 'clearColumns' instead |
columns |
List of the columns to display for the dashboard of type COMMAND_CENTER. (Alternate argument name 'column') |
customize |
Set to true to create a custom copy of the out-of-the-box 'Release Command Center' dashboard. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
layout |
Layout to use for adding the widgets to the dashboard. |
newName |
New name for an existing object that is being renamed. |
phases |
[DEPRECATED]: Use 'columns' instead (Alternate argument name 'phase') |
type |
Type of the dashboard. |
dataRetentionPolicy
Data Retention Policy.
Required Arguments
Name | Description |
---|---|
dataRetentionPolicyName |
Unique name of the data retention policy. |
Optional Arguments
Name | Description |
---|---|
action |
The action to take on the data that matches the criteria for the data retention rule. |
additionalFilters |
Additional filter criteria for the object type similar to search filters. (Alternate argument name 'additionalFilter') |
age |
Minimum age of the data to qualify for the data retention rule. |
ageUnit |
Time unit for age. |
associatedTags |
List of tags that the object can be associated with. (Alternate argument name 'associatedTag') |
cleanupAssociatedWorkspace |
Whether or not to cleanup the associated workspace directory with the job or deployment being purged. |
clearAdditionalFilters |
Whether or not to clear additional filters for the data retention policy. |
clearAssociatedTags |
Whether or not to clear associated tags for the data retention policy. |
clearProjectNames |
Whether or not to clear project names for the data retention policy. |
clearStatuses |
Whether or not to clear statuses for the data retention policy. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
enabled |
True to enable the data retention policy. Defaults to true when creating the data retention policy. |
includeSubreleases |
If the data retention rule is defined for releases, then whether to automatically include the sub-releases for the releases matching the data retention rule. Defaults to false. |
newName |
New name for an existing object that is being renamed. |
objectType |
Type of object for which the retention rule is defined. |
projectNames |
List of projects that the object can belong to. (Alternate argument name 'projectName') |
statuses |
List of statuses for the object such as job status, release status, pipeline run status, or deployment status. (Alternate argument name 'status') |
deployerApplication
Represents an application that will be deployed as part of deployer used in a release
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
afterLastRetry |
Specify continue or stop pipeline execution after last unsuccessful retry or a task. |
applicationProjectName |
The name of the project containing specified application. If not specified, it is defaulted to the release project name. |
enforceDependencies |
Enforce dependencies flag to be used during runProcess for the application |
errorHandling |
Specifies error handling for the deployer application |
orderIndex |
Specifies the application deployment order (starts from 1). |
processName |
The name of the application process |
releaseName |
The name of the release |
retryApprovers |
A list of retry approvers who receive the notification. (Alternate argument name 'retryApprover') |
retryCount |
If the retry is auto, specify the maximum number of times retry should occur. |
retryInterval |
If the retry is auto, specify the number of seconds to wait until the next retry should occur. |
retryNotificationTemplate |
Email retry notification template for application. |
retryType |
Type of rety when process step or task fails. Is one of 'auto' or 'manual' |
smartDeploy |
Smart deploy flag to be used during runProcess for the application |
snapshotName |
The name of the snapshot |
stageArtifacts |
Stage artifacts for the the application process. |
deployerConfiguration
Contains configuration for an application to be deployed in a release
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameters (Alternate argument name 'actualParameter') |
applicationName |
The name of the application |
applicationProjectName |
The name of the project containing specified application. If not specified, it is defaulted to the release project name. |
clearActualParameters |
True if the task should remove all actual parameters. |
deployerConfigurationName |
The name of deployer configuration. If not specified, a system generated guid is used. |
deployerTaskName |
The name of the deployer task defined in the provided stage. |
environmentName |
The name of the environment. |
environmentProjectName |
The name of the project containing specified environment or environment template. If not specified, it is defaulted to the release project name. |
environmentTemplateName |
The name of the environment template. |
environmentTemplateProjectName |
The name of the project containing specified environment template. If not specified, it is defaulted to the environment project name. |
insertRollingDeployManualStep |
True to indicate a manual step needs to be injected after each phase or batch. |
newName |
New name for an existing object that is being renamed. |
processName |
The name of the application or service process. |
releaseName |
The name of the release |
rollingDeployEnabled |
Perform rolling deployment. |
rollingDeployManualStepAssignees |
A list of assignees who receive the notification when rolling deploy iteration completes. (Alternate argument name 'rollingDeployManualStepAssignee') |
rollingDeployManualStepCondition |
Defines run condition on manual step created during rolling deployment. (Alternate argument name 'rollingDeployManualStepCondition') |
rollingDeployPhases |
One or more rolling deploy phases to be used for deployment. (Alternate argument name 'rollingDeployPhase') |
serviceName |
The name of the service |
serviceProjectName |
The name of the project containing specified service. If not specified, it is defaulted to the release project name. |
skipDeploy |
True to skip deployment to an environment |
snapshotName |
The name of the snapshot |
stageName |
The name of the stage of a pipeline attached to a release if specified. |
deployerService
Represents a service that will be deployed as part of deployer used in a release
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
serviceName |
The name of the service |
Optional Arguments
Name | Description |
---|---|
afterLastRetry |
Specify continue or stop pipeline execution after last unsuccessful retry or a task. |
enforceDependencies |
Enforce dependencies flag to be used during runProcess for the application |
errorHandling |
Specifies error handling for the deployer application |
orderIndex |
Specifies the application deployment order (starts from 1). |
processName |
The name of the application process |
releaseName |
The name of the release |
retryApprovers |
A list of retry approvers who receive the notification. (Alternate argument name 'retryApprover') |
retryCount |
If the retry is auto, specify the maximum number of times retry should occur. |
retryInterval |
If the retry is auto, specify the number of seconds to wait until the next retry should occur. |
retryNotificationTemplate |
Email retry notification template for application. |
retryType |
Type of rety when process step or task fails. Is one of 'auto' or 'manual' |
serviceProjectName |
The name of the project containing specified service. If not specified, it is defaulted to the release project name. |
snapshotName |
The name of the snapshot |
devOpsInsightDataSource
A DevOps Insight data source object.
Required Arguments
Name | Description |
---|---|
devOpsInsightDataSourceName |
The DevOps Insight data source name. |
projectName |
The name for the project that must be unique among all projects. |
releaseName |
The name of the release |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
pluginKey |
The plugin key, e.g., EC-MyPlugin |
pluginParameters |
The plugin parameters to be passed to the plugin for creating the required schedule and polling procedure (Alternate argument name 'pluginParameter') |
reportObjectTypeName |
The name of a report object type. |
directoryProvider
Contains information about the configuration used to communicate with an external directory service (LDAP or ActiveDirectory).
Required Arguments
Name | Description |
---|---|
providerName |
Name for a LDAP directory provider; must be unique. |
Optional Arguments
Name | Description |
---|---|
allowNestedGroupsApprovers |
Whether users in nested LDAP groups should be allowed to approve a manual task when a parent LDAP group is assigned as a approver for the task and recursive traversal of group hierarchy is enabled for the directory provider. |
commonGroupNameAttribute |
The attribute in a group record that contains the common name of the group. If specified, it is only used when searching for groups from an external provider. Typically used when the group name attribute is set to distinguishedName, because that field is not searchable. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
domainName |
The domain from which the Active Directory server(s) are automatically discovered. |
emailAttribute |
The attribute in a LDAP user record that contains the user’s email. |
enableGroups |
Determines whether or not to enable external groups for the directory provider. |
fullUserNameAttribute |
The attribute in a user record that contains the user’s full name (first and last). |
groupBase |
String prepended to the base DN to construct the DN of the directory that contains group records. |
groupMemberAttributes |
Comma separated list of attribute names that can identify a member of a group. |
groupMemberFilter |
LDAP query string for the groups directory to find groups that contain a given user as a member. |
groupNameAttribute |
The attribute in a group record that contains the name of the group. |
groupSearchFilter |
LDAP query string used in group directory to enumerate group records. |
managerDn |
The name of a user who has read-only access to the LDAP or Active Directory server. Typically a DN (distinguished name). A simple name may be used when the Active Directory server’s URL is being auto-discovered via DNS. |
managerPassword |
Secret value used to identify the account for the query user. |
membershipAttribute |
Attribute defined on an LDAP user or group entry used by the LDAP provider for specifying the group membership. |
membershipFilter |
LDAP filter to search for groups that an LDAP user or group belongs to. |
nestedGroupDepthLimit |
Maximum number of group hierarchy levels that will be traversed for retrieving nested group membership information. |
newName |
New name for an existing object that is being renamed. |
notifyUsersInNestedGroups |
Whether users in nested LDAP groups should be included when sending notifications for a parent LDAP group and recursive traversal of group hierarchy is enabled for the directory provider. |
providerType |
Type string for a directory provider. Should be 'ldap' or 'activedirectory'. |
realm |
The realm of the LDAP directory provider. This is used to create unique user names when there are multiple providers. |
traverseHierarchy |
Whether or not to enable recursive traversal of group hierarchy for nested group membership information. |
url |
The url of the LDAP Directory Provider server. |
useSSL |
True means SSL is used for communication. |
userBase |
Used to construct the DN of the directory that contain user records. |
userNameAttribute |
The attribute in a user record that contains the user’s account name. |
userSearchFilter |
RFC 2254 LDAP query to search for a user by name. |
userSearchSubtree |
If true recursively search the subtree below the user base. |
emailConfig
Encapsulates all of the mail server configuration information necessary for the Commander server to send an outbound e-mail message.
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
mailFrom |
The email address used as the email sender address for CloudBees Flow notifications. |
mailHost |
Name of the email server host. |
mailPort |
The port number for the email service on the server. |
mailProtocol |
Name of the email transport protocol. Supported protocol names: 'SMTP', 'SMTPS' |
mailUser |
Name of the email user on behalf of which CloudBees Flow sends email notifications. |
mailUserPassword |
Password of the email user on behalf of which CloudBees Flow sends email notifications. |
newName |
New name for an existing object that is being renamed. |
emailNotifier
E-mail notification to be sent when a particular event occurs.
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application which is related to the target email container (Process/ProcessStep) |
componentName |
The name of the component which is related to the target email container (Process/ProcessStep) |
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
configName |
Name for an email configuration; or a text that - through property expansion - results into such an email configuration name |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
destinations |
A list of space-separated user names, email addresses or email aliases or a text that - through property expansion - results into such a list. |
environmentNames |
Name of the environments (Alternate argument name 'environmentName') |
eventType |
An enumeration of valid event categories recognized by the email notifiers. |
flowName |
The name of the flow container of the email notifier. |
flowRuntimeId |
The primary key or name of the flowRuntime container of the email notifier. |
flowRuntimeStateId |
The primary key or name of the flowRuntimeState container of the email notifier. |
flowStateName |
The name of the flow container of the email notifier. |
formattingTemplate |
String containing email formatting instructions for generating notifications. |
gateType |
The type of the gate. |
groupNames |
A list of names of the groups which receives the notification. (Alternate argument name 'groupName') |
jobId |
The primary key or name of the job container of the email notifier. |
jobStepId |
The primary key of the job-step container of the email notifier. |
newName |
New name for an existing object that is being renamed. |
notificationType |
The notification type which will be stored to the ec_notificationType property |
pipelineName |
The name of the pipeline container of the email notifier. |
procedureName |
The name of the procedure container of the email notifier. |
processName |
The name of the process container of the email notifier) |
processStepName |
The name of the process step container of the email notifier) |
projectName |
The name of the project container of the email notifier. |
releaseName |
The name of the release containing the pipeline. |
serviceName |
The name of the service which is related to the target email container (Process/ProcessStep) |
stageName |
The name of the stage container of the email notifier. |
stateDefinitionName |
the name of the state definition container of the email notifier. |
stateName |
The name of the state container of the email notifier. |
stepName |
The name of the step container of the email notifier. |
userNames |
A list of names of the users who receives the notification. (Alternate argument name 'userName') |
workflowDefinitionName |
the name of the workflow definition container of the email notifier. |
workflowName |
The name of the workflow container of the email notifier. |
environment
The environment to which an application is deployed.
Required Arguments
Name | Description |
---|---|
environmentName |
The name of the environment. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationName |
Create environment from the specified application. |
applicationProjectName |
The application’s project name. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentEnabled |
True to enable the environment. |
newName |
New name for an existing object that is being renamed. |
reservationRequired |
True to allow run using reservation only |
rollingDeployEnabled |
True to enable support for rolling deploy on this environment. |
rollingDeployType |
The type of rolling deploy type supported by the environment. |
serviceName |
Create environment from the specified service. |
serviceProjectName |
The service’s project name. |
environmentMap
A map between a service and environment clusters.
Required Arguments
Name | Description |
---|---|
environmentName |
The name of the environment. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentMapName |
The name of the tier map. If not specified the operation will assume a hyphenated service and environment name. |
environmentProjectName |
The name of the environment’s project name. |
serviceEntityRevisionId |
Revisionid of the versioned object |
serviceName |
The name of the service |
environmentTemplate
The environment template.
Required Arguments
Name | Description |
---|---|
environmentTemplateName |
The name of the environment template. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
environmentTemplateTier
The environment template tier belonging to an environment template.
Required Arguments
Name | Description |
---|---|
environmentTemplateName |
The name of the environment template. |
environmentTemplateTierName |
Name for the environment template tier; must be unique among all tiers for the environment template. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
resourceCount |
The number of resources to be spun from a given resource template |
resourceNames |
List of resources to add to the environment tier. (Alternate argument name 'resourceName') |
resourceTemplateName |
Name for the resource template; must be unique among all resource templates. |
resourceTemplateProjectName |
Name for the project to which the resource template belongs to. |
environmentTemplateTierMap
A map to hold mappings between application and an environment template tiers.
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
environmentProjectName |
The name of the environment’s project name. |
environmentTemplateName |
The name of the environment template. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationEntityRevisionId |
Revisionid of the versioned object |
tierMapName |
The name of the environment template tier map. If not specified the operation will assume a hyphenated application and environment name. |
tierMappings |
The list of mappings between the application tiers and the environment template tiers. (Alternate argument name 'tierMapping') |
environmentTemplateTierMapping
A mapping between an application tier and an environment template tier.
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationEntityRevisionId |
Revisionid of the versioned object |
applicationTierName |
Name of the application tier. |
environmentProjectName |
The name of the environment template’s project name. |
environmentTemplateName |
The name of the environment template. |
environmentTemplateTierMapName |
The name of the environment template tier map. |
environmentTemplateTierMappingName |
The name of the environment template tier mapping. If not specified the operation will assume a UUID string. |
environmentTemplateTierName |
Name of the environment template tier. |
newName |
New name for an existing object that is being renamed. |
environmentTier
The environment tier belonging to an environment.
Required Arguments
Name | Description |
---|---|
environmentName |
The name of the environment. |
environmentTierName |
Name for the environment tier; must be unique among all tiers for the environment. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
batchSize |
The size of the batch supported by the environment tier. |
batchSizeType |
The type of batch size supported by the environment tier. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
resourceNames |
List of resources to add to the environment tier. (Alternate argument name 'resourceName') |
resourcePhaseMappings |
A map of resource and rolling deploy phase (Alternate argument name 'resourcePhaseMapping') |
resourcePoolNames |
List of resource pools to add to the environment tier. (Alternate argument name 'resourcePoolName') |
resourcePoolPhaseMappings |
A map of resource pool and rolling deploy phase (Alternate argument name 'resourcePoolPhaseMapping') |
environmentVariable
Encapsulates a microservice configuration
Required Arguments
Name | Description |
---|---|
environmentVariableName |
Name for the environment variable |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationEntityRevisionId |
Revision Id of the versioned object |
applicationName |
The name of an application to scope service. |
containerName |
Name for the container |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentName |
The name of the environment which is related to the service map detail. |
environmentProjectName |
The name of the environment project which contains the environment. |
newName |
New name for an existing object that is being renamed. |
serviceEntityRevisionId |
Revisionid of the versioned object |
serviceMapDetailName |
Name for the service map detail |
serviceName |
Name for the service |
type |
Defines a type of the environment variable |
value |
Environment variable value |
formalOutputParameter
A name and value pair that is passed to create an output parameter on procedure/process/pipeline.
Required Arguments
Name | Description |
---|---|
formalOutputParameterName |
Name for this parameter; used when the procedure is invoked to specify a value for the parameter. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application, if the formal output parameter is on an application process. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
pipelineName |
The name of the pipeline, if the formal output parameter is on a pipeline. |
procedureName |
The name of the procedure. |
processName |
The name of the process, if the formal output parameter is on a process. |
releaseName |
The name of the release, where pipeline is located. |
serviceName |
The name of the service, if the formal output parameter is on an service process. |
formalParameter
An unbound parameter defined on a procedure, workflow definition, etc.
Required Arguments
Name | Description |
---|---|
formalParameterName |
Name for this parameter; used when the procedure is invoked to specify a value for the parameter. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application, if the formal parameter is on an application process. |
archiveConnectorName |
The name of the archive connector, if the formal parameter is on an archive connector. |
catalogItemName |
The name of the catalog item, if the formal parameter is on a catalog item. |
catalogName |
The name of the catalog to which the catalog item belongs to. |
checkedValue |
Parameter value when the checkbox used to render the parameter is checked. Applicable only for 'checkbox' type. |
clearOptions |
Whether or not to clear options for formal parameter. |
componentName |
The name of the component, if the formal parameter is on a component process. |
dashboardName |
The name of the dashboard, if the formal parameter is on a dashboard. |
defaultValue |
If no value is provided for the parameter when the procedure is invoked, this value will be used. |
dependsOn |
Comma-separated list of formal parameters that this parameter depends on. Use with cascading drop-down ('select') parameters to declare dependency on one or more parameters. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
expansionDeferred |
True means expansion for this parameter should be deferred: the parameter value will not be expanded when the procedure call is expanded, but can be expanded from a command step instead. |
flowName |
The name of the flow to which the flow state belongs to. |
flowStateName |
The name of the flow state, if the formal parameter is on a flow state. |
gateType |
The type of the gate which contains the task, if the formal parameter is belongs to a task. |
label |
Specifies the display label. |
newName |
New name for an existing object that is being renamed. |
options |
Ordered list of options. (Alternate argument name 'option') |
optionsDsl |
Dsl for populating drop-down options for 'select' formal parameter type. |
optionsFromPropertySheet |
Path to the property sheet containing the options. |
orderIndex |
Specifies the display order index (starts from 1). |
pipelineName |
The name of the pipeline, if the formal parameter is on a pipeline. |
procedureName |
The name of the procedure. |
processName |
The name of the process, if the formal parameter is on a process. |
processStepName |
The name of the process step, if the formal parameter is on a process step. |
projectFormalParameterName |
Used when rendering the formal parameter to identify the formal parameter to use in order to get the owning project name. Applicable only for 'release', 'pipeline', 'application', 'service' or 'environment' parameter type. |
projectName |
The name for the project that must be unique among all projects. |
propertyReference |
Property or property sheet to use for displaying options. |
propertyReferenceType |
Whether the 'propertyReference' value is a property sheet (default) or a property. For property sheet, nested property names are used as options while for property, the property value is used as an option. |
releaseName |
The name of the release, if the formal parameter is on a release-scoped pipeline. |
renderCondition |
Condition for rendering the formal parameter. |
reportName |
The name of the report, if the formal parameter is on a report. |
required |
True means this parameter is required: the procedure will not execute unless a value is given for the parameter. |
serviceName |
The name of the service, if the formal parameter is on an service process. |
simpleList |
Pipe-separated list of options, e.g., option1|option2|option3. |
stageName |
The name of the stage which contains the task, if the formal parameter is belongs to a task. |
stateDefinitionName |
The name of the state definition. |
stateName |
The name of a workflow state. |
taskName |
The name of the task, if the formal parameter is belongs to a task. |
type |
The type of a formal parameter. |
uncheckedValue |
Parameter value when the checkbox used to render the parameter is unchecked. Applicable only for 'checkbox' type. |
updateFormXml |
Whether the parameter form XML stored in the procedure property 'ec_parameterForm' should also be updated. |
validationDsl |
Dsl for validating the formal parameter. |
workflowDefinitionName |
The name of the workflow definition. |
workflowName |
The name of a workflow. |
gate
Tasks container belonging to stage
Required Arguments
Name | Description |
---|---|
gateType |
The type of the gate. |
projectName |
The name for the project that must be unique among all projects. |
stageName |
Name of the stage to which this task belongs to. |
Optional Arguments
Name | Description |
---|---|
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
pipelineName |
The name of the pipeline |
precondition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
releaseName |
The name of the release |
gateway
A secured connection between two zones for sharing or transferring information between the zones.
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
gatewayDisabled |
True means this artifact repository is disabled. |
hostName1 |
The domain name or IP address resourceName2 uses to send messages to resourceName1. |
hostName2 |
The domain name or IP address resourceName1 uses to send messages to resourceName2. |
newName |
New name for an existing object that is being renamed. |
port1 |
Port number resourceName2 uses to send messages to resourceName1. |
port2 |
Port number resourceName1 uses to send messages to resourceName2. |
resourceName1 |
The name of the first resource in a gateway specification. Other resources in this resource’s zone forward messages through this resource to agents in resourceName2’s zone. |
resourceName2 |
The name of the second resource in a gateway specification. Other resources in this resource’s zone forward messages through this resource to agents in resourceName1’s zone. |
group
A group of users.
Optional Arguments
Name | Description |
---|---|
clearPersonas |
clear personas for group, if modifying. |
migrateSettings |
New group name to which settings will be migrated. |
newName |
New name for an existing object that is being renamed. |
personas |
List of personas that this group has. (Alternate argument name 'persona') |
removeAllUsers |
True to remove all users from this group. |
userNames |
List of users in the group. (Alternate argument name 'userName') |
hook
A resource template hook that stores a reference to a procedure in an ElectricFlow project or plugin project. When a resource template is used to create a resource pool, these procedures are invoked.
Optional Arguments
Name | Description |
---|---|
broadcast |
broadcast flag |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
hookParameters |
hook parameters (Alternate argument name 'hookParameter') |
hookType |
hook type |
newName |
New name for an existing object that is being renamed. |
procedureName |
hook procedure name |
procedurePluginKey |
procedure plugin key |
procedureProjectName |
procedure project name |
projectName |
projectName of the entity that owns the hook |
resourceTemplateName |
Name of the resource template. |
job
An instance of a procedure run.
Optional Arguments
Name | Description |
---|---|
destinationProject |
The project that will own the job. |
jobId |
The primary key of the job, or the name of the job. |
jobNameTemplate |
Template used to determine the default name of jobs launched from a procedure. |
procedureName |
The name of the procedure that should 'own' the job step. If not specified, myStep.procedure is used. |
projectName |
The name of the project is destinationProject is not specified. |
status |
The starting status for the job. |
jobStep
A step in a job.
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameters passed to an invoked subprocedure (Alternate argument name 'actualParameter') |
alwaysRun |
True means this step will run even if preceding steps fail in a way that aborts the job |
broadcast |
True means replicate this step to execute (in parallel) on each of the specified resources (that is, for a pool, run the step on each of the resources in the pool). |
command |
Script to execute the functions of this step; passed to the step’s shell for execution. |
comment |
Script to execute the functions of this step; passed to the step’s shell for execution. |
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
credentialName |
The name of the credential to be used for impersonation. |
credentials |
The list of runtime credentials attached to the job step. (Alternate argument name 'credential') |
errorHandling |
Specifies error handling for this step. |
exclusive |
True means the resource acquired for this step will be retained for the exclusive use of this job. This means 2 things: first, no other job will be able to use that resource, regardless of its step limit, until this job completes; second, future steps for this job will use the resource in preference to other resources, if this resource meets the needs of the steps and its step limit is not exceeded. |
exclusiveMode |
Determines the mode to use when the step acquires a resource. If set to 'none', then the default behavior for the step applies. If set to 'job', then the resource will be retained for the exclusive use of this job. If set to 'step', then the resource will be retained for the exclusive use of this step and procedure it may call. If set to 'call', then the resource will be retained for the exclusive use of all steps within the current procedure call. |
external |
True if the step is externally managed (no state machine). |
jobStepId |
The primary key of the job step |
jobStepName |
The name for the new step. If omitted, a default name will be generated. |
logFileName |
Name of the log file for a step; specified relative to the root directory in the job’s workspace. |
parallel |
True means this step and all adjacent steps with the flag set will run in parallel. |
parentPath |
Path to the parent job step. If a parent step is not specified, the current job step is used. |
postProcessor |
This command runs in parallel with the main command for the step; it analyzes the log for the step and collects diagnostic information. |
precondition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
procedureName |
The name of the procedure that should 'own' the job step. If not specified, myStep.procedure is used. |
projectName |
The name of the project for procedureName. |
releaseExclusive |
True means the resource acquired for this step will be no longer be retained for the exclusive use of this job when this step completes. |
releaseMode |
Determines the mode to use when the step releases its resource. If set to 'none', the default behavior applies. If set to 'release', then the resource will be available for use by any job. If set to 'releaseToJob', then the resource will be available for use by any step in this job. |
resourceName |
Name for the resource; must be unique among all resources. |
shell |
Name of the shell program that will execute the command and postprocessor for the step. |
status |
The starting status for the step. |
stepName |
The name of the procedure step that should 'own' the job step. If not specified, myStep is used. |
subprocedure |
Name of a procedure to invoke during this step. |
subproject |
Name of the project containing the procedure to invoke during this step. |
timeLimit |
Maximum amount of time the step can execute; abort if it exceeds this time. |
timeLimitUnits |
Units for step time limit: seconds, minutes, or hours. |
workingDirectory |
Working directory in which to execute the command for this step. A relative name is interpreted relative to the root directory for the job’s workspace. |
workspaceName |
The name of the workspace. |
license
License data in XML format that describes the usage to which you are entitled.
Required Arguments
Name | Description |
---|---|
licenseData |
Container elements for license data. Expects embedded XML as CDATA. |
persona
A persona for a user or group.
Optional Arguments
Name | Description |
---|---|
clearDetails |
clear persona details, if modifying. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
homePageName |
The default home page. |
isDefault |
Set as default persona. |
newName |
New name for an existing object that is being renamed. |
personaDetails |
The details of the persona, if creating. |
personaCategory
A persona category.
Optional Arguments
Name | Description |
---|---|
clearPages |
clear persona pages for the category, if modifying. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
personaPages |
list of pages in persona category (Alternate argument name 'personaPage') |
pipeline
pipeline representation.
Required Arguments
Name | Description |
---|---|
pipelineName |
The name of the pipeline |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
assigneesForSkipStage |
A list of users who can skip stages at runtime. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
disableMultipleActiveRuns |
Boolean flag showing if option to run multiple pipelines simultaniosly is disabled |
disableRestart |
True to disable restart the pipeline. |
enabled |
True to enable the pipeline. |
newName |
New name for an existing object that is being renamed. |
overrideWorkspace |
If true and workspaceName is not null, then all tasks use pipeline’s workspace |
pipelineRunNameTemplate |
Template used to determine the default name for pipelines on startup. |
releaseName |
The name of the release |
skipStageMode |
The flag to indicate if stages can be skipped at runtime. |
type |
Type of pipeline |
workspaceName |
The name of the default workspace for this pipeline. |
plugin
An add-on program used by CloudBees Flow to integrate with third-party tools, custom dashboards, and unique user experiences based on roles.
Optional Arguments
Name | Description |
---|---|
author |
The name of the plugin author. |
authorUrl |
The Url of the plugin author. |
category |
The category of the plugin. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
extensionVersion |
An extension version number should be used when modifying or extending a CloudBees provided plugin. This allows the system to differentiate between the product plugin versions and plugin versions modified or customized by you. |
key |
Version independent name for the plugin. |
label |
Label to display in lists for the plugin. |
pluginName |
The name of the plugin |
pluginWizardBased |
Whether the plugin is based on Plugin Wizard. |
projectName |
The name of the project |
supportsConfigurations |
Whether the plugin supports plugin configurations. If true, then the plugin configuration procedures, CreateConfiguration and DeleteConfiguration will be automatically created. |
version |
The version of the plugin. |
port
Container and Service port details
Required Arguments
Name | Description |
---|---|
portName |
Name for the port; must be unique for a container or service or ServiceClusterMapping |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationEntityRevisionId |
Revision Id of the versioned object |
applicationName |
Name of the application containing the service which owns the port. |
applicationServiceMappingName |
The name of the application service mapping. |
clusterName |
The name of the environment cluster to be used to resolve appication service mapping. |
containerName |
Name of the container which owns the port |
containerPort |
Container port for the container |
environmentMapName |
The name of the service environment name. If not provided, will use service name and environment name to resolve it. |
environmentName |
The name of the environment to which tierMap is mapped. |
environmentProjectName |
The name of the environment project to which tierMap is mapped. |
listenerPort |
listener port on the node |
newName |
New name for an existing object that is being renamed. |
protocol |
protocol |
serviceClusterMappingName |
The name of the service cluster mapping. |
serviceEntityRevisionId |
Revisionid of the versioned object |
serviceName |
Name of the service which owns the port or which owns the container which owns the port |
subcontainer |
Name of referencing container, when defining port info for a service. |
subport |
Name of container port for which values are being overridden at Service level. |
tierMapName |
The name of the tier map. If not provided, will use application name and environment name to resolve tierMap. |
procedure
Container for steps that execute some task.
Required Arguments
Name | Description |
---|---|
procedureName |
Name for the procedure; must be unique within the project. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
credentialName |
The name of a credential to attach to this procedure. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
jobNameTemplate |
Template used to determine the default name of jobs launched from a procedure. |
newName |
New name for an existing object that is being renamed. |
resourceName |
The name of the default resource for this procedure. |
timeLimit |
Maximum amount of time the step can execute; abort if it exceeds this time. |
timeLimitUnits |
Units for step time limit: seconds, minutes, or hours. |
workspaceName |
The name of the default workspace for this procedure. |
process
An application or component process.
Required Arguments
Name | Description |
---|---|
processName |
The name of the process. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application, if the process is owned by an application. |
componentApplicationName |
If specified, the component is scoped to this application not the project. |
componentName |
The name of the component, if the process is owned by a component. |
credentialName |
The name of a credential to attach to this process. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
exclusiveEnvironment |
True if environment is exclusive to the application or service process. |
newName |
New name for an existing object that is being renamed. |
processType |
Defines type of action performed by the process |
serviceApplicationName |
If specified, the service is scoped to this application not the project. |
serviceName |
The name of the service, if the process is owned by a service. |
smartUndeployEnabled |
True if smart deploy should be enabled for the undeploy component process |
timeLimit |
Maximum amount of time the step can execute; abort if it exceeds this time. |
timeLimitUnits |
Units for step time limit: seconds, minutes, or hours. |
workingDirectory |
Working directory in which to execute the command for this process. A relative name is interpreted relative to the root directory for the job’s workspace. |
workspaceName |
The name of the default workspace for this process. |
processDependency
Represents a dependency between process steps.
Required Arguments
Name | Description |
---|---|
processName |
The name of the process. |
processStepName |
The name of the process step. |
projectName |
The name for the project that must be unique among all projects. |
targetProcessStepName |
The name of the target process step. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application, if the process is owned by an application. |
branchCondition |
Branch Condition. |
branchConditionName |
Branch Condition Name. |
branchConditionType |
Branch Condition Type. |
branchType |
Branch Type. |
componentApplicationName |
If specified, the component is scoped to this application not the project. |
componentName |
The name of the component, if the process is owned by a component. |
serviceApplicationName |
If specified, the service is scoped to this application not the project. |
serviceName |
The name of the service, if the process is owned by a service. |
processStep
A step in an application or component process.
Required Arguments
Name | Description |
---|---|
processName |
The name of the process. |
processStepName |
The name of the process step. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
actionLabelText |
The Json derived action label text |
actualParameters |
Actual parameters passed to an invoked subprocedure or process. (Alternate argument name 'actualParameter') |
afterLastRetry |
Specifies error handling for the auto retry step. |
afterProcessStep |
If specified, the process step will be placed after the named process step. |
allowSkip |
When enabled, manual process step can be skipped. |
alwaysRun |
True means this step will run even if preceding steps fail in a way that aborts the job |
applicationName |
The name of the application, if the process is owned by an application. |
applicationTierName |
If references an application tier, the name of the application tier |
assignees |
A list of assignees who receive the notification. (Alternate argument name 'assignee') |
beforeProcessStep |
If specified, the process step will be placed before the named process step. |
clearActualParameters |
True if the step should remove all actual parameters. |
componentApplicationName |
If specified, the component is scoped to this application not the project. |
componentName |
The name of the component, if the process is owned by a component. |
componentRollback |
When enabled, rollback will be performed only for the components that were not deployed successfully. |
credentialName |
The name of the credential object. |
dependencyJoinType |
Join type for incoming dependencies. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
disableFailure |
True means a manual process step cannot be failed. |
emailConfigName |
The name of email configuration |
errorHandling |
Specifies error handling for this step. |
includeCompParameterRef |
True if the actual parameters should be generated from component properties. Works for artifact components only. |
instruction |
Instruction associated with the manual process step. |
newName |
New name for an existing object that is being renamed. |
notificationEnabled |
True means this email notification is enabled, false otherwise. |
notificationTemplate |
Email notification template for process step. |
processStepType |
Defines type of the process step |
retryCount |
If the retry is auto, specify the maximum number of times retry should occur. |
retryInterval |
If the retry is auto, specify the interval in seconds after which retry should be attempted. |
retryType |
Type of retry when process step fails. Is one of 'auto' or 'manual' |
rollbackSnapshot |
Name of Snapshot to be used for rollback. |
rollbackType |
The type of the rollback. |
rollbackUndeployProcess |
Name of the undeploy process to be used during rollback. |
serviceApplicationName |
If specified, the service is scoped to this application not the project. |
serviceName |
The name of the service, if the process is owned by a service. |
skipRollbackIfUndeployFails |
When enabled, rollback will be performed only for the components that were successfully undeployed. |
smartRollback |
Smart deploy flag to be used during rollback is triggered |
subcomponent |
If referencing a component process, the name of the component. |
subcomponentApplicationName |
If referencing a component process, the name of the component application (if not project scoped). |
subcomponentProcess |
If referencing a component process, the name of the component process. |
subprocedure |
If referencing a procedure, the name of the procedure. |
subproject |
If referencing a procedure, the name of the procedure’s project. |
subservice |
If referencing a service, the name of the service. |
subserviceProcess |
If referencing a service process, the name of the service process. |
timeLimit |
Maximum amount of time the step can execute; abort if it exceeds this time. |
timeLimitUnits |
Units for step time limit: seconds, minutes, or hours. |
useUtilityResource |
True means that step will run on utility reasorce instead of a tier |
utilityResourceName |
Utility reasorce name |
workingDirectory |
Working directory in which to execute the command for this step. A relative name is interpreted relative to the root directory for the job’s workspace. |
workspaceName |
The name of the workspace. |
project
Container for a group of related procedures and schedules.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
credentialName |
The name of the credential object. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
resourceName |
Name for the resource; must be unique among all resources. |
tracked |
True to enable change tracking for this project. |
workspaceName |
The name of the workspace. |
property
A custom attribute attached to any CloudBees Flow object. This may be a key, string-value pair or a complex structure, where the value is a reference to a property sheet containing nested properties.
Required Arguments
Name | Description |
---|---|
propertyName |
Name for the property; must be unique within the property sheet. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application container of the property sheet which owns the property. |
applicationTierName |
The name of the application tier container of the property sheet which owns the property. |
archiveConnectorName |
The name of the archive connector of the property sheet which owns the property. |
artifactName |
The name of the artifact container of the property sheet which owns the property. |
artifactVersionName |
The name of the artifactVersion container of the property sheet which owns the property. |
catalogName |
The name of the catalog of the property sheet which owns the property. |
clusterName |
The name of the cluster which owns property sheet. |
componentName |
The name of the component container of the property sheet which owns the property. |
configName |
The name of the emailConfig container that owns the property. |
containerName |
The name of the container that owns the property. |
credentialName |
The name of the credential container of the property sheet which owns the property. |
credentialProtected |
If true, then permissions requiring modify privileges on the property sheet being manipulated will also require execute privileges on credentials attached to the property sheet owner. |
dashboardName |
The name of the dashboard of the property sheet which owns the property. |
dataRetentionPolicyName |
The name of the data retention policy of the property sheet which owns the property. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentName |
The name of the environment container of the property sheet which owns the property. |
environmentTemplateName |
The name of the environment template container of the property sheet which owns the property. |
environmentTemplateTierName |
The name of the environment template tier container of the property sheet which owns the property. |
environmentTierName |
The name of the environment tier container of the property sheet which owns the property. |
expandable |
Whether or not the property is recursively expandable. |
extendedContextSearch |
For simple property names, whether or not to search objects in the hierarchy to find the desired property. |
flowName |
The name of the flow container of the property sheet which owns the property. |
flowRuntimeId |
The primary key or name of the flowRuntime container of the property sheet which owns the property. |
flowRuntimeName |
The name of the flow runtime container of the property sheet which owns the property. |
flowRuntimeStateId |
The primary key or name of the flowRuntimeState container of the property sheet which owns the property. |
flowRuntimeStateName |
The name of the flow state container of the property sheet which owns the property. |
flowStateName |
The name of the flow state container of the property sheet which owns the property. |
flowTransitionName |
The name of the flow transition container of the property sheet which owns the property. |
gateType |
The type of the gate which owns property sheet. |
gatewayName |
The name of the gateway container of the property sheet. |
groupName |
The name of the group container of the property sheet which owns the property. |
jobId |
The primary key or name of the job container of the property sheet which owns the property. |
jobStepId |
The primary key of the job-step container of the property sheet which owns the property. |
newName |
New name for an existing object that is being renamed. |
notifierName |
The name of the notifier container of the property sheet which owns the property. |
objectId |
The object id as returned by FindObjects. |
path |
Property path string. |
pipelineName |
The name of the pipeline container of the property sheet which owns the property. |
pluginName |
The name of the plugin container of the property sheet which owns the property. |
procedureName |
The name of the procedure container of the property sheet which owns the property. |
processName |
The name of the process, if the container is a process or process step. |
processStepName |
The name of the process step, if the container is a process step. |
projectName |
The name of the project container of the property sheet which owns the property. |
propertySheetId |
The primary key of the property sheet which owns the property. |
propertyType |
Type of property. |
releaseName |
The name of the release container of the property sheet which owns the property. |
reportName |
The name of the report of the property sheet which owns the property. |
reportObjectTypeName |
The name of the report object type of the property sheet which owns the property. |
repositoryName |
The name of the repository container of the property sheet which owns the property. |
resourceName |
The name of the resource container of the property sheet which owns the property. |
resourcePoolName |
The name of the resource pool container of the property sheet which owns the property. |
resourceTemplateName |
The name of the resource template container of the property sheet which owns the property. |
scheduleName |
The name of the schedule container of the property sheet. |
searchFilterName |
The name of the search filter container of the property sheet. |
serviceAccountName |
Get the name of the service account container of the property sheet |
serviceName |
The name of the service container of the property sheet. |
snapshotName |
The name of the snapshot container of the property sheet which owns the property. |
stageName |
The name of the stage container of the property sheet which owns the property. |
stateDefinitionName |
The name of the state definition container of the property sheet which owns the property. |
stateName |
The name of the state container of the property sheet which owns the property. |
stepName |
The name of the step container of the property sheet which owns the property. |
suppressValueTracking |
If true, then change tracking will ignore changes that only affect the value of the property, and exports of past states and force imports will preserve the current value. |
systemObjectName |
The system object. |
taskName |
The name of the task which owns property sheet. |
transitionDefinitionName |
The name of the transition definition container of the property sheet which owns the property. |
transitionName |
The name of the transition container of the property sheet which owns the property. |
userName |
The name of the user container of the property sheet which owns the property. |
value |
The value of the property. |
widgetName |
The name of the widget of the property sheet which owns the property. |
workflowDefinitionName |
The name of the workflow definition container of the property sheet which owns the property. |
workflowName |
The name of the workflow container of the property sheet which owns the property. |
workspaceName |
The name of the workspace container of the property sheet. |
zoneName |
The name of the zone container of the property sheet. |
release
Release object
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
releaseName |
The name of the release |
Optional Arguments
Name | Description |
---|---|
actualParameters |
The list of actual parameters. (Alternate argument name 'actualParameter') |
clearActualParameters |
True if the task should remove all actual parameters. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
disableMultipleActiveRuns |
Boolean flag showing if option to run multiple pipelines simultaniosly is disabled |
disablePipelineRestart |
True to disable restart release pipeline. |
newName |
New name for an existing object that is being renamed. |
overrideWorkspace |
If true and workspaceName is not null, then all tasks use pipeline’s workspace |
pipelineName |
The name of the pipeline |
pipelineProjectName |
The name of the project containing specified pipeline. If not specified, it is defaulted to the release project name. |
pipelineWorkspaceName |
The name of the workspace used by pipeline |
plannedEndDate |
The date when this release is expected to end (for example, 2006-05-15). |
plannedStartDate |
The date when this release is expected to begin (for example, 2006-05-15). |
timeZone |
The time zone to use when interpreting times. |
report
DevOps Insight Report object
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
reportName |
The name of the report. |
Optional Arguments
Name | Description |
---|---|
definition |
The Elasticsearch query definition to use for retrieving report data. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
parameters |
Input parameters in JSON format accepted by the report definition. |
reportObjectTypeForSourceType |
The report object type name to use to determine the source type for the report. Set this if the sourceType of the report’s reportObjectType is different from the actual source of the report data. |
reportObjectTypeName |
Report object type name |
reportQuery |
The report query in JSON format. It will be translated to the Elasticsearch query definition when retrieving report data. |
title |
The title of report. |
uri |
An advanced mode option for identifying the Elasticsearch URI to use for retrieving report data. By default, the reportObjectTypeName argument will be used to construct the URI based on the Elasticsearch index for the report object, e.g., 'ef-deployment-*/_search?pretty'. |
reportObjectAssociation
Report object association.
Required Arguments
Name | Description |
---|---|
associatedType |
The name of the associated type. |
reportObjectTypeName |
Report object type for which this association is defined. The association is owned by the specified report object type. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
required |
Whether the association between the report object type and associated type is always present. |
sourceFields |
Comma-separated list of fields in the report object type that should match the fields in the target or associated object type in order to establish a correlation between the two types. |
targetFields |
Comma-separated list of fields in the associated object type that should match the fields in the source report object type in order to establish a correlation between the two types. |
reportObjectAttribute
Report object attribute.
Required Arguments
Name | Description |
---|---|
reportObjectAttributeName |
The name of the report object attribute. |
reportObjectTypeName |
Report object type for which this attribute is defined. The attribute is owned by the specified report object type. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
displayName |
Display name of report object attribute. |
enumerationValues |
Enumeration values of report object attribute. |
newName |
New name for an existing object that is being renamed. |
required |
Whether the association between the report object type and attribute is always present. |
type |
Type of report object attribute. |
reportObjectType
Report object type.
Optional Arguments
Name | Description |
---|---|
colorCode |
The color associated with the report object type, in hexcode format '#rrggbb'. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
displayName |
Display name of report object type. |
newName |
New name for an existing object that is being renamed. |
sourceType |
Category of the third-party tool that data for the given report object type is obtained from. |
sourceTypeDescription |
Description of the category of the third-party tool that may be displayed on the UI. |
storagePattern |
Storage pattern for report object type. |
reportingFilter
Reporting filter.
Required Arguments
Name | Description |
---|---|
dashboardName |
Unique name of the dashboard within the project. |
projectName |
The name for the project that must be unique among all projects. |
reportingFilterName |
The name of the reporting filter. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
operator |
The operator is allowed to use in a reporting filter. |
orderIndex |
Order that the reporting filter should be displayed. |
parameterName |
The parameter name to filter on it. |
reportObjectTypeName |
The name of the report object type, if the reporting filter is a custom filter. |
required |
The flag to see is this reporting filter required to be used. |
type |
The type of the field value. |
widgetName |
The name of the widget this reporting filter is scoped to. |
repository
Encapsulates various metadata about Repositories.
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
repositoryDisabled |
Whether or not to disable the repository. |
url |
The url for contacting the repository. |
zoneName |
The zone name. |
reservation
The reservation
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
reservationName |
The name of the environment reservation. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
beginDate |
Date of beginning reservation |
blackout |
Do now allow executions against an environment at specified period |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
endDate |
The date when reservation event ends |
environmentName |
The name of the environment. |
environmentProjectName |
The name of the environment project name |
environmentTierName |
The name of the environment tier. |
monthDays |
A list of numbers from 1-31 separated by spaces, indicating zero or more days of the month. |
newName |
New name for an existing object that is being renamed. |
overlap |
Allow to overlap the reservation |
pipelineName |
The name of the pipeline |
recurrence |
Recurrence reservation |
recurrenceEndDate |
Date of beginning reservation |
releaseName |
The name of the release |
serviceName |
The name of the service |
timeZone |
The time zone to use when interpreting times. |
weekDays |
Days of the week: any number of names such as Monday or Tuesday, separated by spaces |
resource
Abstract reference to an agent, responsible for running step commands.
Required Arguments
Name | Description |
---|---|
resourceName |
Name for the resource; must be unique among all resources. |
Optional Arguments
Name | Description |
---|---|
artifactCacheDirectory |
Artifact cache directory for this resource. |
block |
True to block on the agent ping before returning. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
hostName |
The domain name or IP address of the server machine corresponding to this resource. |
hostType |
The type of the host. |
newName |
New name for an existing object that is being renamed. |
pools |
[Deprecated] A list of arbitrary names separated by spaces, indicating the pools with which this resource is associated. |
port |
Port number to use when connecting to the agent for this resource; defaults to server default. |
proxyCustomization |
Proxy specific customization data; defaults to none. |
proxyHostName |
The domain name or IP address of the proxy agent machine corresponding to this resource. |
proxyPort |
Port number to use when connecting to the proxy agent for this resource; defaults to server default. |
proxyProtocol |
The protocol to use when proxying to this resource; defaults to none. |
repositoryNames |
A newline delimited list of repositories to retrieve artifacts from. |
resourceDisabled |
True means this resource will not be allocated to job steps, regardless of its step limit. |
resourcePools |
A list of arbitrary names separated by comma, indicating the pools with which this resource is associated. |
shell |
Name of the shell program that will execute the command and postprocessor for the step. |
stepLimit |
The maximum number of steps that may execute simultaneously using this resource. |
trusted |
True means the agent can speak to all other trusted agents in its zone. An untrusted agent can only speak to gateway agents. |
useSSL |
True means SSL is used for communication. |
workspaceName |
The name of the workspace. |
zoneName |
Name for the zone; must be unique among all zones. |
resourcePool
A collection of resources with a ordering policy.
Required Arguments
Name | Description |
---|---|
resourcePoolName |
Name for the resource pool; must be unique among all resource pools. |
Optional Arguments
Name | Description |
---|---|
autoDelete |
If true, the pool is deleted when the last resource is deleted |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
orderingFilter |
JavaScript fragment that returns custom ordering of resources in a pool. |
resourceNames |
List of resources to add/remove from the pool. (Alternate argument name 'resourceName') |
resourcePoolDisabled |
True means the resourcePool will not be allocated to job steps |
resourceTemplate
A template with the required information to provision and later spin up cloud resources on an on-demand basis.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
resourceTemplateName |
Name for the resource template; must be unique among all resource templates. |
Optional Arguments
Name | Description |
---|---|
cfgMgrParameters |
configuration manager plugin parameters (Alternate argument name 'cfgMgrParameter') |
cfgMgrPluginKey |
configuration manager plugin key |
cfgMgrProcedure |
configuration manager plugin method name |
cfgMgrProjectName |
configuration manager plugin project name |
cloudProviderParameters |
cloud provider plugin parameters (Alternate argument name 'cloudProviderParameter') |
cloudProviderPluginKey |
cloud provider plugin key |
cloudProviderProcedure |
cloud provider plugin method name |
cloudProviderProjectName |
cloud provider plugin project name |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
rollingDeployPhase
Represents a rolling deploy phase
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
rollingDeployPhaseName |
The name of the rolling deploy phase |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentName |
The name of the environment |
newName |
New name for an existing object that is being renamed. |
orderIndex |
Specifies the phase order (starts from 1). |
phaseExpression |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
rollingDeployPhaseType |
The type of rolling deploy phase. |
samlIdentityProvider
SAML Identity Provider Configuration representation
Optional Arguments
Name | Description |
---|---|
colorCode |
Color code to be associate with the IDP |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
enabled |
If true, enables SAML Identity Provider |
label |
Label used by UI to display the text (e.g. label for UI button) |
metadata |
The metadata of the SAML identity provider |
newName |
New name for an existing object that is being renamed. |
samlServiceProvider
Saml Service Provider Configuration representation
Required Arguments
Name | Description |
---|---|
entityId |
Service Provider entity id (usually URI) |
serverUrl |
URL for the service provider host |
Optional Arguments
Name | Description |
---|---|
authnRequestsSigned |
Metadata will have AuthnRequestsSigned="true/false" in descriptor |
enabled |
If true, enables SAML Service Provider |
mdSigningEnabled |
If true, sign service provider metadata |
mdSigningPassphrase |
Passphrase use for SP metadata signing private key |
mdSigningPrivateKey |
SP metadata signing private key |
mdSigningPublicCertificate |
SP metadata signing public certificate |
nameIdFormat |
NameID format like urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified |
passphrase |
Passphrase use for SP private key |
privateKey |
SP private key |
publicCertificate |
SP’s public certificate |
samlServiceProviderName |
The name of the SAML Service Provider |
wantAssertionsSigned |
Metadata will have WantAssertionsSigned="true/false" in descriptor |
schedule
This object is responsible for launching a procedure at some time in the future, possibly on a regular interval.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
scheduleName |
Name for the schedule; must be unique among all schedules for the project. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Parameters passed to the invoked procedure/pipeline/process/release/workflow. (Alternate argument name 'actualParameter') |
applicationName |
The name of the application that owns the process. |
applicationProjectName |
Name for the project to which the application belongs to. |
beginDate |
The date when this schedule will begin (for example, 2006-05-15). |
clearActualParameters |
Whether or not to clear actual parameters for this object. |
clearPipelineParameters |
Whether or not to clear pipeline parameters for the schedule. |
credentialName |
The name of the credential to use for impersonation. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
endDate |
The date when this schedule will end (for example, 2006-05-15). The end date is not included in the range of dates. |
environmentMapName |
The name of the service environment map used to determine where to run the process. |
environmentName |
The name of the environment used to determine where to run the process. |
environmentProjectName |
Name for the project to which the environment or environment template belongs to. |
environmentTemplateName |
The name of the environment template used to determine the environment where to run the process. |
environmentTemplateProjectName |
Name for the project to which the environment template belongs to. |
environmentTemplateTierMapName |
The name of the environment template tier map used to determine how to spin up the environment which will be used to run the process. |
insertRollingDeployManualStep |
True to indicate a manual step needs to be injected after each phase or batch. |
interval |
If specified, the procedure/pipeline/process/release/workflow will be rescheduled over and over again at intervals of this length. "Continuous" means reschedule the procedure/process/workflow as soon as the previous job finishes. |
intervalUnits |
Units for the interval of rescheduling. |
misfirePolicy |
Specifies the misfire policy for a schedule. |
monthDays |
A list of numbers from 1-31 separated by spaces, indicating zero or more days of the month. |
newName |
New name for an existing object that is being renamed. |
pipelineName |
Name of the pipeline to invoke. |
pipelineParameters |
Pipeline parameters used by a release schedule to override the default parameters configured in the release (Alternate argument name 'pipelineParameter') |
priority |
The priority of the job. |
procedureName |
The name of the procedure to invoke. |
processName |
The name of the application process to invoke. |
releaseName |
Name of the release to invoke. |
rollingDeployEnabled |
Perform rolling deployment. |
rollingDeployManualStepAssignees |
A list of assignees who receive the notification when rolling deploy iteration completes. (Alternate argument name 'rollingDeployManualStepAssignee') |
rollingDeployManualStepCondition |
Defines run condition on manual step created during rolling deployment. (Alternate argument name 'rollingDeployManualStepCondition') |
rollingDeployPhases |
One or more rolling deploy phases to be used for deployment. (Alternate argument name 'rollingDeployPhase') |
scheduleDisabled |
If this box is "checked", the schedule will run. You can disable this schedule whenever necessary. |
serviceName |
The name of the service that owns the process. |
snapshotName |
The name of the snapshot to be used to invoke the application process. |
stagesToRun |
One or more stages to run in a pipeline. (Alternate argument name 'stagesToRun') |
startTime |
The time of day to begin invoking this schedule’s procedure/pipeline/process/release/workflow (24-hour clock, for example, 17:00). |
startingStage |
Name of the starting stage in pipeline. |
startingStateName |
The name of the starting state of the workflow. |
stopTime |
The time of day to stop invoking this schedule’s procedure/pipeline/process/release/workflow (don’t start a new job after this time); time values use a 24-hour clock, for example, 17:00. |
tierMapName |
The name of the tier map used to determine where to run the process. |
tierResourceCounts |
Resource count per resource template tier (Alternate argument name 'tierResourceCount') |
timeZone |
The time zone to use when interpreting times. |
weekDays |
Days of the week: any number of names such as Monday or Tuesday, separated by spaces |
workflowName |
The name of the workflow to invoke. |
searchFilter
Search filter representation.
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
newObjectType |
Search filter entity type |
searchQuery |
Search filter query CLOB |
userName |
Search filter user name |
service
A micro-service that may or may not be made up of multiple containers.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
serviceName |
The name of the service |
Optional Arguments
Name | Description |
---|---|
addDeployProcess |
If set to true,then a service process is also created. |
applicationName |
The name of an application to scope this service to. |
defaultCapacity |
The default service capacity |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
maxCapacity |
The max service capacity |
minCapacity |
The min service capacity |
newName |
New name for an existing object that is being renamed. |
volume |
Volume json of the service |
serviceAccount
A service account object.
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
serviceClusterMapping
A mapping between a service and an environment cluster.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameters specific to plugin procedure associated with the application service (Alternate argument name 'actualParameter') |
applicationEntityRevisionId |
Revisionid of the versioned object |
applicationName |
The name of the application which contains the service. |
applicationServiceMappingName |
The name of the application service mapping. |
clearActualParameters |
True if we should remove all actual parameters. |
clusterName |
The name of the environment cluster. |
clusterProjectName |
The name of the project which contains the cluster. |
defaultCapacity |
The default service capacity |
environmentMapName |
The name of the environment map. If not provided, will use service name and environment name to resolve environmentMap. |
environmentName |
The name of the environment which contains the cluster. |
environmentProjectName |
The name of the environment which contains the cluster. |
maxCapacity |
The max service capacity |
minCapacity |
The min service capacity |
serviceClusterMappingName |
The name of the service cluster mapping. |
serviceEntityRevisionId |
Revisionid of the versioned object |
serviceName |
The name of the independent service. |
tierMapName |
The name of the tier map. If not provided, will use application name and environment name to resolve tierMap. |
volume |
Volume json of the service |
serviceClusterMapping
A mapping between a service and an environment cluster.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameters specific to plugin procedure associated with the application service (Alternate argument name 'actualParameter') |
applicationEntityRevisionId |
Revisionid of the versioned object |
applicationName |
The name of the application which contains the service. |
applicationServiceMappingName |
The name of the application service mapping. |
clearActualParameters |
True if we should remove all actual parameters. |
clusterName |
The name of the environment cluster. |
clusterProjectName |
The name of the project which contains the cluster. |
defaultCapacity |
The default service capacity |
environmentMapName |
The name of the environment map. If not provided, will use service name and environment name to resolve environmentMap. |
environmentName |
The name of the environment which contains the cluster. |
environmentProjectName |
The name of the environment which contains the cluster. |
maxCapacity |
The max service capacity |
minCapacity |
The min service capacity |
serviceClusterMappingName |
The name of the service cluster mapping. |
serviceEntityRevisionId |
Revisionid of the versioned object |
serviceName |
The name of the independent service. |
tierMapName |
The name of the tier map. If not provided, will use application name and environment name to resolve tierMap. |
volume |
Volume json of the service |
serviceDependency
Represents a service dependency on other applications or service
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
serviceName |
The name of the service |
Optional Arguments
Name | Description |
---|---|
dependentApplicationName |
The name of application which this application depends on. |
dependentProjectName |
The name the project containing the dependent application. |
dependentServiceName |
The name of service which this application depends on. |
dependentSnapshotName |
The name of snapshot of the dependent application. |
effectiveDate |
The date when this dependency is applicable (for example, 2006-05-15). |
newName |
New name for an existing object that is being renamed. |
serviceDependencyName |
The name of service dependency. If not specified, a system generated guid is used. |
snapshotName |
Name of the snapshot; must be unique within the application. |
serviceMapDetail
Allows to override container definition at the time of application-service mapping
Required Arguments
Name | Description |
---|---|
containerName |
The name of the container. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameters specific to plugin procedure associated with the container (Alternate argument name 'actualParameter') |
applicationEntityRevisionId |
Revisionid of the versioned object |
applicationName |
The name of the application which contains the service. |
applicationServiceMappingName |
The name of the application service mapping. |
clearActualParameters |
True if we should remove all actual parameters. |
command |
command to run on the container |
cpuCount |
number of CPUs to allocate to the container |
cpuLimit |
maximum number of CPUs |
credentialName |
The name of a credential to be used for accessing specified registry. |
entryPoint |
entrypoint for the container |
environmentMapName |
The name of the environment map. If not provided, will use service name and environment name to resolve environmentMap. |
environmentName |
The name of the environment which contains the cluster. |
environmentProjectName |
The name of the environment which contains the cluster. |
imageName |
Name of the container image |
imageVersion |
Version of the container image |
memoryLimit |
Memory limit in MB |
memorySize |
Size of memory in MB |
registryUri |
Registry uri of the container image |
serviceClusterMappingName |
The name of the application service mapping. |
serviceEntityRevisionId |
Revisionid of the versioned object |
serviceMapDetailName |
The name of the service map detail. |
serviceName |
The name of the independent service. |
tierMapName |
The name of the tier map. If not provided, will use application name and environment name to resolve tierMap. |
volumeMount |
Volume mount json of the container image |
snapshot
A version of an application or service with specific artifact versions and the state of the application or service at any point in time.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
snapshotName |
Name of the snapshot; must be unique within the snapshot container. |
Optional Arguments
Name | Description |
---|---|
applicationName |
The name of application from which the snapshot should be created |
componentVersions |
component names and version used for snapshot. use keyword 'LATEST' to indicate latest version (Alternate argument name 'componentVersion') |
containerVersions |
Volume mount json of the container image |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentName |
The name of environment from which snapshot be created |
environmentProjectName |
Name for the project to which the environment or environment template belongs to. |
newName |
New name for an existing object that is being renamed. |
serviceName |
The name of service from which the snapshot should be created |
stage
Logical grouping of pipeline tasks
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
stageName |
The name of the stage |
Optional Arguments
Name | Description |
---|---|
afterStage |
If specified, the stage will be placed after the named stage. |
beforeStage |
If specified, the stage will be placed before the named stage. |
colorCode |
The hexadecimal value of the color to be used with an entity. |
completed |
Set true to complete and false to incomplete a stage with manual completion type. A stage with auto completion type ignores this argument. |
completionType |
The stage completion type: auto (be default) or manual |
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
duration |
Duration in minutes for which the stage or task should relative to 'plannedStartDate'. |
incompletePostStages |
If True then in case off specified stage inclompletion all post stages are incompleted too. |
newName |
New name for an existing object that is being renamed. |
parallelToPrevious |
If TRUE, the flow state will be run in parallel to the previous flow state |
pipelineName |
The name of the pipeline |
plannedEndDate |
The date when this stage or task is expected to end. |
plannedStartDate |
The date when this stage or task is expected to start. |
precondition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
releaseName |
The name of the release |
resourceName |
The name of the default resource for this stage. |
timeZone |
The time zone to use when interpreting times. |
waitForPlannedStartDate |
True to enable waiting for planned start date. |
stateDefinition
A state definition in a workflow definition. Each workflow can contain one or more states.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
stateDefinitionName |
The name used for the state definition |
workflowDefinitionName |
The name of the workflow definition. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
The actual parameters to the state definition’s process. (Alternate argument name 'actualParameter') |
clearActualParameters |
True if the state definition should remove all actual parameters to the process. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
startable |
True if the workflow can begin in this state. |
subprocedure |
The name of the sub procedure. |
subproject |
The name of the project that contains the sub procedure. |
substartingState |
The name of the starting state to use in the subworkflowDefinition. |
subworkflowDefinition |
The name of the subworkflowDefinition. |
step
A unit of logic that will execute on an agent.
Required Arguments
Name | Description |
---|---|
procedureName |
Name for the procedure; must be unique within the project. |
projectName |
The name for the project that must be unique among all projects. |
stepName |
Name of the step; must be unique within the procedure. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameters passed to an invoked subprocedure (Alternate argument name 'actualParameter') |
afterProcedureStep |
If specified, the procedure step will be placed after the named procedure step. |
alwaysRun |
True means this step will run even if preceding steps fail in a way that aborts the job |
beforeProcedureStep |
If specified, the procedure step will be placed before the named procedure step. |
broadcast |
True means replicate this step to execute (in parallel) on each of the specified resources (that is, for a pool, run the step on each of the resources in the pool). |
clearActualParameters |
True if the step should remove all actual parameters. |
command |
Script to execute the functions of this step; passed to the step’s shell for execution. |
comment |
Script to execute the functions of this step; passed to the step’s shell for execution. |
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
credentialName |
The name of the credential object. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
errorHandling |
Specifies error handling for this step. |
exclusive |
True means the resource acquired for this step will be retained for the exclusive use of this job. This means 2 things: first, no other job will be able to use that resource, regardless of its step limit, until this job completes; second, future steps for this job will use the resource in preference to other resources, if this resource meets the needs of the steps and its step limit is not exceeded. |
exclusiveMode |
Determines the mode to use when the step acquires a resource. If set to 'none', then the default behavior for the step applies. If set to 'job', then the resource will be retained for the exclusive use of this job. If set to 'step', then the resource will be retained for the exclusive use of this step and procedure it may call. If set to 'call', then the resource will be retained for the exclusive use of all steps within the current procedure call. |
logFileName |
Name of the log file for a step; specified relative to the root directory in the job’s workspace. |
newName |
New name for an existing object that is being renamed. |
parallel |
True means this step and all adjacent steps with the flag set will run in parallel. |
postProcessor |
This command runs in parallel with the main command for the step; it analyzes the log for the step and collects diagnostic information. |
precondition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
releaseExclusive |
True means the resource acquired for this step will be no longer be retained for the exclusive use of this job when this step completes. |
releaseMode |
Determines the mode to use when the step releases its resource. If set to 'none', the default behavior applies. If set to 'release', then the resource will be available for use by any job. If set to 'releaseToJob', then the resource will be available for use by any step in this job. |
resourceName |
Name for the resource; must be unique among all resources. |
shell |
Name of the shell program that will execute the command and postprocessor for the step. |
subprocedure |
Name of a procedure to invoke during this step. |
subproject |
Name of the project containing the procedure to invoke during this step. |
timeLimit |
Maximum amount of time the step can execute; abort if it exceeds this time. |
timeLimitUnits |
Units for step time limit: seconds, minutes, or hours. |
workingDirectory |
Working directory in which to execute the command for this step. A relative name is interpreted relative to the root directory for the job’s workspace. |
workspaceName |
The name of the workspace. |
task
A representation of task within a stage or gate.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
taskName |
The name of the task |
Optional Arguments
Name | Description |
---|---|
actionLabelText |
The Json derived action label text |
actualParameters |
Actual parameters passed to an invoked subprocedure (Alternate argument name 'actualParameter') |
advancedMode |
True to enable advanced mode so as to templatize snapshotName. |
afterLastRetry |
Specify continue or stop pipeline execution after last unsuccessful retry or a task. |
afterTask |
If specified, the task will be placed after the named task. |
allowOutOfOrderRun |
If True, allow to run a task out of order. |
allowSkip |
When enabled, manual task or gate rule can be skipped. |
alwaysRun |
True means this task will run even if preceding tasks fail in a way that aborts the pipeline |
approvers |
A list of task approvers who receive the notification. (Alternate argument name 'approver') |
beforeTask |
If specified, the task will be placed before the named task. |
clearActualParameters |
True if the task should remove all actual parameters. |
clearOutOfOrderRunAssignees |
True if the task should clean up all outOfOrderRunAssignees. |
clearStageSummaryParameters |
True if the task should remove all stage summary parameters |
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
customLabel |
Custom display name for sub pipelines or releases |
deployerExpression |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
deployerRunType |
The type of the deployer run for deployer type of task. If parallel then all applications are deployed in parallel. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
disableFailure |
True means a manual task cannot be failed. |
duration |
Duration in minutes for which the stage or task should relative to 'plannedStartDate'. |
emailConfigName |
The name of email configuration |
enabled |
True to enable the task. |
environmentName |
Environment name to create from template. |
environmentProjectName |
Name for the project to which the environment or environment template belongs to. |
environmentTemplateName |
Environment template name. |
environmentTemplateProjectName |
Name for the project to which the environment template belongs to. |
errorHandling |
Specifies error handling for this task. |
firstTask |
True to make a task first in a stage. |
gateCondition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
gateType |
The type of the gate. |
groupName |
The name of the group of task. |
groupRunType |
The type of the sub task run for a group task. If serial then all tasks are run in serial, otherwise - in parallel (by default). |
insertRollingDeployManualStep |
True to indicate a manual step needs to be injected after each phase or batch. |
instruction |
Instruction associated with the task. |
keepOnError |
True to keep environment on error (default is false) |
newName |
New name for an existing object that is being renamed. |
notificationEnabled |
True means this email notification is enabled, false otherwise. |
notificationTemplate |
String containing email formatting instructions for generating notifications. |
outOfOrderRunAssignees |
A list of users who can run a task out of order. (Alternate argument name 'outOfOrderRunAssignee') |
parallelToPrevious |
If TRUE, the flow state will be run in parallel to the previous flow state |
pipelineName |
The name of the pipeline |
plannedEndDate |
The date when this stage or task is expected to end. |
plannedStartDate |
The date when this stage or task is expected to start. |
precondition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
releaseName |
The name of the release |
requiredApprovalsCount |
The number of users from a group that should approve the task before it’s considered as finally approved. |
resourceName |
The name of the default resource for this task. |
retryCount |
If the retry is auto, specify the maximum number of times retry should occur. |
retryInterval |
If the retry is auto, specify the number of seconds to wait until the next retry should occur. |
retryType |
Type of rety when process step or task fails. Is one of 'auto' or 'manual' |
rollingDeployEnabled |
Perform rolling deployment. |
rollingDeployManualStepAssignees |
A list of assignees who receive the notification when rolling deploy iteration completes. (Alternate argument name 'rollingDeployManualStepAssignee') |
rollingDeployManualStepCondition |
Defines run condition on manual step created during rolling deployment. (Alternate argument name 'rollingDeployManualStepCondition') |
rollingDeployPhases |
One or more rolling deploy phases to be used for deployment. (Alternate argument name 'rollingDeployPhase') |
skippable |
True if a task is skippable. |
snapshotName |
Name of the snapshot associated with the application. |
stageName |
Name of the stage to which this task belongs to. |
stageSummaryParameters |
JSON representation of stage summary parameters and labels |
stagesToRun |
One or more stages to run in a pipeline. (Alternate argument name 'stagesToRun') |
startTime |
The time of day to begin invoking this task (24-hour clock, for example, 17:00). |
startingStage |
The name of the starting stage. |
subErrorHandling |
The impact of invoking pipeline run when sub-pipeline fails. |
subapplication |
The name of the application that owns the subprocess. |
subpipeline |
If referencing a pipeline, the name of the pipeline. |
subpluginKey |
If referencing a procedure, the name of the procedure’s pluginKey. |
subprocedure |
If referencing a procedure, the name of the procedure. |
subprocess |
The name of the process. |
subproject |
If referencing a procedure, the name of the procedure’s project. |
subrelease |
If referencing a release, the name of the release. |
subreleasePipeline |
The name of the pipeline to be used when attaching to the release instantiate from a releae task. |
subreleasePipelineProject |
The name of the project which contains the pipeline to the release instantiate from a releae task. |
subreleaseSuffix |
The suffix to be used when creating release. |
subservice |
The name of the service that owns the subprocess. |
subworkflowDefinition |
If referencing a workflow definition, the name of the workflow definition. |
subworkflowStartingState |
The name of the starting state in the specified workflow definition. |
taskProcessType |
The type of the process a task can invoke. |
taskType |
The type of the task. |
tierResourceCounts |
Resource count per resource template tier (Alternate argument name 'tierResourceCount') |
timeZone |
The time zone to use when interpreting times. |
triggerType |
The type of trigger when invoking a sub-pipeline. |
useApproverAcl |
True if after approve the authentication context of approving user should be added to the session. |
waitForPlannedStartDate |
True to enable waiting for planned start date. |
workspaceName |
The name of the workspace. |
tierMap
A map to hold mappings between application and an environment tiers.
Required Arguments
Name | Description |
---|---|
applicationName |
The name of the application |
environmentName |
The name of the environment. |
environmentProjectName |
The name of the environment’s project name. |
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationEntityRevisionId |
Revisionid of the versioned object |
tierMapName |
The name of the tier map. If not specified the operation will assume a hyphenated application and environment name. |
tierMappings |
The list of mappings between the application tiers and the environment tiers. (Alternate argument name 'tierMapping') |
tierMapping
A mapping between an application tier and an environment tier.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
applicationEntityRevisionId |
Revisionid of the versioned object |
applicationName |
The name of the application |
applicationTierName |
Name of the application tier. |
environmentName |
The name of the environment. |
environmentProjectName |
The name of the environment’s project name. |
environmentTierName |
Name of the environment tier. |
newName |
New name for an existing object that is being renamed. |
resourceExpression |
resource expression to pick up resources from the environment tier |
tierMapName |
The name of the tier map. |
tierMappingName |
The name of the tierMapping. |
transitionDefinition
Defines how a workflow must transition from one state to another.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
stateDefinitionName |
The name used for the state definition |
transitionDefinitionName |
The name used for the transition |
workflowDefinitionName |
The name of the workflow definition. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
The actual parameters to the transition’s target state. (Alternate argument name 'actualParameter') |
clearActualParameters |
True if the transition should remove all actual parameters to the target state. |
condition |
A fixed text or text embedding property references that is evaluated into a logical TRUE or FALSE. An empty string, a "0" or "false" is interpreted as FALSE. Any other result string is interpreted as TRUE. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
targetState |
Target state for the transition definition. |
trigger |
Specifies the type of trigger for this transaction. |
user
A user object.
Optional Arguments
Name | Description |
---|---|
clearPersonas |
clear personas for user, if modifying. |
Email address of the user. |
|
fullUserName |
Full name of the user. |
groupNames |
List of groups that this user is in. (Alternate argument name 'groupName') |
migrateSettings |
Migrate the user or group settings to this name. |
newName |
New name for an existing object that is being renamed. |
password |
The users password. |
personas |
List of personas that this user has. (Alternate argument name 'persona') |
removeFromAllGroups |
True to remove this user from all groups. |
sessionPassword |
Session user’s password. Used to re-verify identity before changing user passwords in the system. |
utilityResource
Utility resource representation.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
utilityResourceName |
Name for utilityResource; must be unique among all utility resources for the environment or environemnt template. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
environmentName |
Name of parent environment |
environmentTemplateName |
Name of parent environmentTemplate |
newName |
New name for an existing object that is being renamed. |
resourceName |
The name of the default resource for this utility resource. |
waitDependency
Represents a dependency defined on a stage or task.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
Optional Arguments
Name | Description |
---|---|
allowSkip |
The flag to indicate if a dependency can be skipped at runtime. |
assigneesForSkip |
A list of assignees who can skip a dependency at runtime. |
dependentGateType |
The type of dependent gate. |
dependentPipelineName |
The name of the dependent pipeline |
dependentProjectName |
The name of the dependent project |
dependentReleaseName |
The name of the dependent release |
dependentStageName |
The name of the dependent stage |
dependentTaskName |
The name of the dependent task |
gateType |
The type of gate. |
newName |
New name for an existing object that is being renamed. |
pipelineName |
The name of the pipeline |
releaseName |
The name of the release |
stageName |
The name of the stage |
taskName |
The name of the task |
waitDependencyName |
The name of the wait dependency. |
waitForTriggeredPipelines |
The flag to indicate that dependency should be created on all triggered pipelines. |
waitForTriggeredReleases |
The flag to indicate that dependency should be created on all triggered releases. |
widget
Dashboard widget
Required Arguments
Name | Description |
---|---|
dashboardName |
Unique name of the dashboard within the project. |
projectName |
The name for the project that must be unique among all projects. |
widgetName |
The name of the dashboard widget. |
Optional Arguments
Name | Description |
---|---|
actualParameters |
Actual parameter values for the parameters defined on the widget’s report. (Alternate argument name 'actualParameter') |
afterWidget |
The name of the widget after which this widget should be placed. |
attributeDataTypes |
Widget parameters used by UI to control data types of attributes (Alternate argument name 'attributeDataType') |
attributePaths |
Widget parameters used by UI to control paths of attributes (Alternate argument name 'attributePath') |
beforeWidget |
The name of the widget before which this widget should be placed. |
clearAttributeDataTypes |
Whether or not to clear attribute data types for the widget. |
clearAttributePaths |
Whether or not to clear attribute paths for the widget. |
clearColors |
Whether or not to clear color for the widget. |
clearLinkParameters |
Whether or not to clear link parameters for the widget. |
clearVisualizationProperties |
Whether or not to clear visualization properties for the widget. |
colorRanges |
The JSON with color ranges definition for the widget. |
colors |
Color map used when rendering the widget. The usage of the color map depends on the widget’s visualization type. (Alternate argument name 'color') |
column |
The column in a COMMANDER_CENTER dashboard that the widget belongs to. Required for a COMMANDER_CENTER dashboard widget unless the widget section is 'SUMMARY' in which case it is not applicable. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
iconUrl |
The icon to display for the widget. |
linkParameters |
Widget parameters used by UI to construct the drill-down link for the widget. (Alternate argument name 'linkParameter') |
linkTarget |
Determines the page to navigate to when the user drills down through the dashboard widget. |
newName |
New name for an existing object that is being renamed. |
orderIndex |
Specifies the relative display order for the widget |
phase |
[DEPRECATED]: Use 'column' instead |
reportName |
Name of an existing report backing the widget |
reportProjectName |
Set if the report is in a different project than the dashboard. |
section |
The section of a COMMAND_CENTER dashboard to display the widget in. Applicable for a COMMANDER_CENTER dashboard widget. |
title |
The title to display for the widget. If not set, use the report title. |
visualization |
Type of visualization data in the widget. |
visualizationProperties |
Properties or settings used by the widget’s visualization type. (Alternate argument name 'visualizationProperty') |
widgetFilterOverride
Widget filter override.
Required Arguments
Name | Description |
---|---|
dashboardFilterName |
The name of the dashboard filter. |
dashboardName |
Unique name of the dashboard within the project. |
projectName |
The name for the project that must be unique among all projects. |
widgetName |
Name of the widget within the dashboard this widget filter override is scoped to. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
ignoreFilter |
Whether to ignore the dashboard filter and not apply it to the report. All other arguments are ignored if this argument is set to true. |
parameterName |
The parameter name to use when applying the filter to the report instead of the parameter name specified in the dashboard filter. |
workflowDefinition
A top-level workflow object, which is a container for states, and transitions, and other information defining your workflow.
Required Arguments
Name | Description |
---|---|
projectName |
The name for the project that must be unique among all projects. |
workflowDefinitionName |
The name of the workflow definition. |
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |
workflowNameTemplate |
The template used to name instances of this workflow definition. |
workspace
File system directory in which a JobStep’s logs and often its artifactVersions are stored.
Optional Arguments
Name | Description |
---|---|
agentDrivePath |
Pathname to the root directory of a workspace, for use on Windows, specified with a drive letter. |
agentUncPath |
Pathname to the root directory of a workspace, for use on Windows, specified with a UNC path. |
agentUnixPath |
Pathname to the root directory of a workspace, for use on UNIX. |
credentialName |
The name of the impersonation credential to attach to this workspace. |
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
local |
True if the workspace is 'local'. |
newName |
New name for an existing object that is being renamed. |
workspaceDisabled |
True means this workspace is disabled. |
zoneName |
The zone name. |
zone
A zone or top-level network created as a way to partition a collection of agents to secure them from use by other groups.
Optional Arguments
Name | Description |
---|---|
description |
Comment text describing this object that is not interpreted at all by CloudBees Flow. |
newName |
New name for an existing object that is being renamed. |