The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

Cloudify

cfyAzureArm: Create Azure ARM Deployment

  • azureCredentialsId (optional)

    The ID of the credentials to use when accessing Azure. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deploymentId (optional)
    • Type: String
  • echoEnvData (optional)

    If checked, then the created environment's data will be printed to the job's log.

    • Type: boolean
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • envDataLocation (optional)

    Path to a file that will contain the created environment's data. If not provided, the environment data won't be written.

    • Type: String
  • location (optional)

    The Azure location where the created resource group should reside in. If omitted, the value of the azure_default_location Cloudify secret will be used.

    • Type: String
  • parameters (optional)

    YAML/JSON of parameters to pass to the template.

    • Type: java.util.Map<java.lang.String, java.lang.Object>
  • parametersAsString (optional)
    • Type: String
  • parametersFile (optional)

    Path, relative to the Jenkins workspace root, of a YAML/JSON file containing parmaeters to pass to the template.

    • Type: String
  • resourceGroupName (optional)

    Name of resource group to create for the template.

    • Type: String
  • templateFile (optional)

    Workspace-relative path of the ARM template file.

    • Type: String
  • tenant (optional)
    • Type: String

cfyAnsible: Run Ansible Playbook

  • additionalArgs (optional)
    • Type: String
  • ansibleEnvVars (optional)
    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugLevel (optional)
    • Type: int
  • debugOutput (optional)
    • Type: boolean
  • deploymentId (optional)
    • Type: String
  • echoEnvData (optional)
    • Type: boolean
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • envDataLocation (optional)
    • Type: String
  • optionsConfig (optional)
    • Type: String
  • playbookPath (optional)
    • Type: String
  • remergeSources (optional)
    • Type: boolean
  • runData (optional)
    • Type: String
  • savePlaybook (optional)
    • Type: boolean
  • scpExtraArgs (optional)
    • Type: String
  • sensitiveKeys (optional)
    • Type: String
  • sftpExtraArgs (optional)
    • Type: String
  • sourcePath (optional)
    • Type: String
  • sources (optional)
    • Type: String
  • sshCommonArgs (optional)
    • Type: String
  • sshExtraArgs (optional)
    • Type: String
  • startAtTask (optional)
    • Type: String
  • tenant (optional)
    • Type: String
  • timeout (optional)
    • Type: int

cfyCloudFormation: Create CloudFormation Stack

  • awsCredentialsId (optional)

    The ID of the credentials to use when accessing AWS. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deploymentId (optional)

    ID to assign to the created Cloudify deployment. If not provided, one will be randomly generated. You can obtain the deployment ID from the "environment data" output file.

    • Type: String
  • echoEnvData (optional)

    If checked, then the created environment's data will be printed to the job's log.

    • Type: boolean
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • envDataLocation (optional)

    Path to a file that will contain the created environment's data. If not provided, the environment data won't be written.

    • Type: String
  • parameters (optional)
    • Type: java.util.Map<java.lang.String, java.lang.Object>
  • parametersAsString (optional)
    • Type: String
  • parametersFile (optional)

    Path, relative to the Jenkins workspace root, of a YAML/JSON file containing parmaeters to pass to the template.

    • Type: String
  • regionName (optional)

    AWS region to use. If not specified, the value of the aws_region_name secret is used.

    • Type: String
  • stackName (optional)

    Name of the new stack.

    • Type: String
  • templateBody (optional)
    • Type: String
  • templateBucketName (optional)
    • Type: String
  • templateFile (optional)
    • Type: String
  • templateResourceName (optional)
    • Type: String
  • templateUrl (optional)

    URL of the Terraform template. May be a ZIP, tar.gz, or a Git repository.

    • Type: String
  • tenant (optional)
    • Type: String

createCloudifyEnv: Create Cloudify Environment

Creates a topology from an environment blueprint.

The "Output File" parameter denotes where the new environment's outputs will be written to. Later build steps can inspect this file in order to grab information pertinent to them (such as IP addresses, user names and so forth).

All input fields support standard Jenkins parameters' expansion. For example, the string ${app_name} will be expanded, in runtime, to the value of a build parameter called app_name .

For explanation about the format of the outputs file, refer to the help tooltip for that parameter.

  • blueprintId (optional)

    Unique identifier for the created deployment.

    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deploymentId (optional)

    Identifies the blueprint to create a deployment off.

    • Type: String
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • echoOutputs (optional)
    At the end of the build step, print the outputs and capabilities to the console.
    • Type: boolean
  • inputs (optional)

    A YAML/JSON containing inputs for the deployment. These inputs will be merged with inputs provided through the " inputs file " parameter.

    • Type: String
  • inputsFile (optional)

    A path (relative to the workspace root) to a YAML/JSON file containing inputs for the deployment. These inputs will be merged with inputs provided through the " inputs " parameter.

    • Type: String
  • mapping (optional)

    If specified, this YAML/JSON will be used to transform a YAML/JSON coming from the "inputs file" parameter. This is useful if the "inputs file" is the result of a different Cloudify environment build.

    This parameter must not be provided if "mapping file" is provided.

    • Type: String
  • mappingFile (optional)

    If specified, this YAML/JSON file will be used to transform a YAML/JSON coming from the "inputs file" parameter. This is useful if the "inputs file" is the result of a different Cloudify environment build.

    This parameter must not be provided if "mapping" is provided.

    • Type: String
  • outputFile (optional)

    Name of file into which the deployment's outputs and capabilities will be written. The file will be a JSON, adhering to the following format:

    {
        "outputs": <outputs_dictionary>,
        "capabilities": <capabilities_dictionary>
    }
    	
    • Type: String
  • skipInstall (optional)
    Only create a Cloudify deployment; skip running the install workflow.
    • Type: boolean
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String

deleteCloudifyBlueprint: Delete Cloudify Blueprint

Use this step to delete a Cloudify blueprint from Cloudify Manager.
  • blueprintId (optional)
    ID of blueprint to delete.
    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String

deleteCloudifyEnv: Delete Cloudify Environment

Deletes a Cloudify environment.
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deleteBlueprintIfLast (optional)

    If checked, and this is the last environment for the associated blueprint, then also delete the blueprint.

    • Type: boolean
  • deploymentId (optional)
    • Type: String
  • ignoreFailure (optional)

    If checked, then failures during the removal of the environment will be ignored.

    • Type: boolean
  • skipUninstall (optional)
    Only delete the Cloudify deployment; skip running the uninstall workflow.
    • Type: boolean
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String

executeCloudifyWorkflow: Execute Cloudify Workflow

This step executes a workflow on Cloudify Manager.
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deploymentId (optional)
    ID of the Cloudify environment to delete.
    • Type: String
  • executionParameters (optional)

    Parameters to pass to the execution, in YAML/JSON format.

    • Type: String
  • printLogs (optional)
    If checked, then the execution's events and logs are printed to the build log. Note that this implies "wait for completion".
    • Type: boolean
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String
  • waitForCompletion (optional)
    If checked, then the build waits for the execution to finish. If the execution ends in any way other than success, the build step will fail.
    • Type: boolean
  • workflowId (optional)

    The ID of the workflow to execute.

    • Type: String

cfyKubernetes: Create Kubernetes Resources

  • allowNodeRedefinition (optional)
    • Type: boolean
  • apiKeyCredentialsId (optional)

    The ID of the credentials entry that contains the API key.

    This parameter is optional; the API key may also be provided through "API options", however this method is preferred.

    If provided, then this credentials entry must either be of type "text" or "file". In the latter case, the file is read as-is and the resultant string is used as the API credentials.

    • Type: String
  • apiKeyFile (optional)

    Path to file, relative to the Jenkins workspace, containing the API key.

    This parameter is optional, as the API key may be provided by other means.

    • Type: String
  • caCert (optional)
    Path, relative to the workspace's root, of a file containing the CA certificates store to use for verifying the Kubernetes host's certificate.
    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • definition (optional)
    • Type: java.util.Map<java.lang.String, java.lang.Object>
  • definitionAsString (optional)
    The Kubernetes application definition.
    • Type: String
  • definitionFile (optional)
    Path, relative to the Jenkins workspace root, to a file containing the Kubernetes application definition.
    • Type: String
  • deploymentId (optional)

    ID to assign to the created Cloudify deployment. If not provided, one will be randomly generated. You can obtain the deployment ID from the "environment data" output file.

    • Type: String
  • echoEnvData (optional)

    If checked, then the created environment's data will be printed to the job's log.

    • Type: boolean
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • envDataLocation (optional)

    Path to a file that will contain the created environment's data. If not provided, the environment data won't be written.

    • Type: String
  • gcpCredentialsFile (optional)

    A YAML/JSON file containing GCP service account details, to use for authentication against GCP.

    This parameter is optional, and is only relevant for authenticating against GCP.

    If provided, it should follow the same layout as described in the "GCP Credentials ID" parameter.

    • Type: String
  • gcpCredentialsId (optional)

    The ID of the credentials to be used for authentication against GCP.

    This parameter is optional, and is only relevant for authenticating against GCP.

    If provided, it should be the ID of either a string-type or file-type credentials entry, with the standard GCP service account YAML/JSON syntax:

    {
      "type": "...",
      "project_id": "...",
      "private_key_id": "...",
      "private_key": "...",
      "client_email": "...",
      "client_id": "...",
      "auth_uri": "...",
      "token_uri": "...",
      "auth_provider_x509_cert_url": "...",
      "client_x509_cert_url": "..."
    }
    	
    • Type: String
  • k8sDebug (optional)
    • Type: boolean
  • k8sMaster (optional)
    The Kubernetes master host to use. This can also be provided through the API Options field; it is available as a separate parameter for convenience.
    • Type: String
  • namespace (optional)
    The application's namespace. Note: value provided here will overwrite the namespace value in the options field, if exists.
    • Type: String
  • options (optional)
    • Type: java.util.Map<java.lang.String, java.lang.Object>
  • optionsAsString (optional)
    Kubernetes options.
    • Type: String
  • optionsFile (optional)
    Path, relative to the Jenkins workspace root, to a file containing Kubernetes options.
    • Type: String
  • skipSslVerification (optional)
    • Type: boolean
  • sslCertFile (optional)
    Path, relative to the workspace's root, of a file containing the certificate presented to the Kubernetes host.
    • Type: String
  • sslKeyFile (optional)
    Path, relative to the workspace's root, of a file containing the key for the certificate presented to the Kubernetes host.
    • Type: String
  • tenant (optional)
    • Type: String
  • validateStatus (optional)
    If checked, then the status of the Kubernetes application is validated after provisioning.
    • Type: boolean

cfyOutputsToInputs: Convert Cloudify Environment Outputs/Capabilities to Inputs

This step maps outputs and capabilities, of an environment created by Cloudify, into inputs of another deployment.

This step takes two inputs:

  • A JSON file in the format generated by the "Build Cloudify Environment" ("outputs file"). For more information, refer to the tooltip of the "Outputs File" parameter.
  • A JSON file (or string) containing the mapping.

The format of the mapping JSON is as follows:

{
    "outputs": {
    	"<output_name>": "<input_name>",
    	"<output_name>": "<input_name>",
    	...
    },
    "capabilities": {
    	"<capability_name>": "<input_name>",
    	"<capability_name>": "<input_name>",
    	...
    }
}
	

At the end, a file will be generated, containing a JSON compatible with Cloudify's standard "Deployment Inputs" structure, namely:

{
	"<input_name>": "<intput_value>",
	"<input_name>": "<intput_value>",
	...
	

For example, if the "outputs file" is as follows:

{
	"outputs": {
		"endpoint": "10.0.0.130",
		"username": "centos"
	},
	"capabilities": {
		"public_key": "/tmp/public_key"
	}
}
	

And the mapping is as follows:

{
	"outputs": {
		"username": "app_username"
	},
	"capabilities": {
		"public_key": "app_data"
	}
}
	

Then the resultant inputs file will be as follows:

{
	"app_username": "centos",
	"app_data": "/tmp/public_key"
}
	
  • credentialsId (optional)
    • Type: String
  • inputsLocation (optional)

    Path to the inputs file to be created.

    • Type: String
  • mapping (optional)

    A JSON containing mapping between outputs/capabilities and inputs. For information about the structure, refer to the tooltip of this build step.

    • Type: String
  • mappingLocation (optional)

    A JSON containing mapping between outputs/capabilities and inputs. For information about the structure, refer to the tooltip of this build step.

    • Type: String
  • outputsLocation (optional)

    Location of the outputs JSON file, containing outputs and capabilities of another deployment. The file must be in the following format:

    {
        "outputs": {
        	"<output_name>": "<output_value>",
        	"<output_name>": "<output_value>",
        	...
        },
        "capabilities": {
        	"<capability_name>": "<capability_value>",
        	"<capability_name>": "<capability_value>",
        	...
        }
    }
    	
    • Type: String
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String

cfyTerraform: Apply Terraform Module

  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deploymentId (optional)

    ID to assign to the created Cloudify deployment. If not provided, one will be randomly generated. You can obtain the deployment ID from the "environment data" output file.

    • Type: String
  • echoEnvData (optional)

    If checked, then the created environment's data will be printed to the job's log.

    • Type: boolean
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • envDataLocation (optional)

    Path to a file that will contain the created environment's data. If not provided, the environment data won't be written.

    • Type: String
  • environmentVariables (optional)
    • Type: java.util.Map<java.lang.String, java.lang.String>
  • environmentVariablesAsString (optional)

    YAML/JSON containing environment variables to pass to the Terraform process. The provided string will be expanded for environment variables (${VAR_NAME}).

    • Type: String
  • environmentVariablesFile (optional)

    Path, relative to the Jenkins workspace root, of a YAML/JSON file containing environment variables to pass to the Terraform process.

    • Type: String
  • executable (optional)

    Path, on Cloudify Manager, of the Terraform executable. If omitted, the value of the terraform_executable Cloudify secret will be used.

    • Type: String
  • pluginsDirectory (optional)

    Path, on Cloudify Manager, of Terraform's plugins directory. If omitted, the value of the terraform_plugins_dir Cloudify secret will be used.

    • Type: String
  • storageDirectory (optional)

    Path, on Cloudify Manager, of Terraform's storage directory. If omitted, the value of the terraform_storage_dir Cloudify secret will be used.

    • Type: String
  • templateUrl (optional)

    URL of the Terraform template. May be a ZIP, tar.gz, or a Git repository.

    • Type: String
  • tenant (optional)
    • Type: String
  • variables (optional)
    • Type: java.util.Map<java.lang.String, java.lang.Object>
  • variablesAsString (optional)

    YAML/JSON containing variables to pass to the Terraform template. The provided string will be expanded for environment variables (${VAR_NAME}).

    • Type: String
  • variablesFile (optional)

    Path, relative to the Jenkins workspace root, of a YAML/JSON file containing parmaeters to pass to the template.

    • Type: String

uploadCloudifyBlueprint: Upload Cloudify Blueprint

Use this step to upload a blueprint to Cloudify Manager.

Two paramters are mandatory:

  • Blueprint ID
  • Main blueprint file name

In addition, exactly one of the following parameters is mandatory:

  • Blueprint archive path
  • Blueprint archive URL
  • Blueprint's root directory

If you provide a blueprint's root directory, then the entire directory contents are packaged into a blueprint archive.

  • archivePath (optional)
    Path (relative to the workspace root) of the blueprint archive.
    • Type: String
  • archiveUrl (optional)
    URL of the blueprint archive.
    • Type: String
  • blueprintId (optional)
    ID to assign to the uploaded blueprint.
    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • mainFileName (optional)
    Name of the YAML file containing the main entry point to the blueprint.
    • Type: String
  • rootDirectory (optional)
    Directory where the blueprint is located.
    • Type: String
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String

uploadCloudifyBlueprint: Upload Cloudify Plugin

Use this step to upload a plugin to Cloudify Manager.
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • outputLocation (optional)
    Location where the plugin information, in JSON format, will be stored.
    • Type: String
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String
  • wagonLocation (optional)
    URL of the Wagon file.
    • Type: String
  • yamlLocation (optional)
    URL of the plugin.yaml file of the plugin.
    • Type: String

wrap([$class: 'CloudifyBuildWrapper']): Cloudify Environment

Applies a Cloudify "Wrapper" around this job:

  • A Cloudify deployment will be created at the beginning of the job.
  • The deployment will be torn down at the end of the job.
  • blueprintArchiveUrl (optional)

    URL to the blueprint's archive.

    • Type: String
  • blueprintId (optional)

    For newly uploaded blueprints, this will be the new blueprint's ID.

    For existing blueprints, this should be the existing blueprint's ID.

    • Type: String
  • blueprintMainFile (optional)

    The name of the YAML file that is to be considered the blueprint's main YAML.

    In order to use an existing blueprint, leave this field blank.

    • Type: String
  • blueprintRootDirectory (optional)

    The path, relative to the build's workspace, to the new blueprint's root.

    In order to use an existing blueprint, leave this field blank.

    • Type: String
  • credentialsId (optional)

    The ID of the credentials to use when accessing Cloudify. Parameters' expansion is supported when using freestyle jobs.

    • Type: String
  • debugOutput (optional)
    If checked, then printed Cloudify events and logs will include debug-level records.
    • Type: boolean
  • deploymentId (optional)

    ID of the deployment to create.

    • Type: String
  • echoInputs (optional)
    If checked, then the Cloudify deployment inputs are echoed to the Jenkins log.
    • Type: boolean
  • echoOutputs (optional)
    At the end of the build step, print the outputs and capabilities to the console.
    • Type: boolean
  • ignoreFailureOnTeardown (optional)
    • Type: boolean
  • inputs (optional)

    Inputs to pass to the new deployment, in YAML/JSON format.

    Inputs provided here will be merged with inputs provided through a file.

    • Type: String
  • inputsLocation (optional)

    A path, relative to the workspace's root, to a YAML/JSON file containing inputs for the new deployment.

    Inputs provided here will be merged with inputs provided through text.

    • Type: String
  • outputsLocation (optional)

    A path, relative to the workspace's root, to a JSON file that will contain the outputs and capabilities of the new deployment.

    If not provided, the file won't be created.

    • Type: String
  • tenant (optional)

    Cloudify tenant to operate on. If left empty, then the default tenant (defined in the plugin's configuration page) will be used.

    • Type: String

Was this page helpful?

Please submit your feedback about this page through this quick form.

Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

    


See existing feedback here.