The IBM Cloud developer experience team is pleased to announce the latest version of the IBM Cloud Developer Tools CLI.
In addition to the usual stability/quality improvements, we are excited to announce some new IBM Cloud Developer Tools CLI productivity features that let you manage your IBM Cloud DevOps toolchains and pipelines directly from the CLI.
The new DevOps commands in the ibmcloud dev CLI make it even easier to manage and interact with your IBM Cloud DevOps toolchains and pipelines.
Toolchains are collections of services that work together as part of your DevOps processes. CLI commands for toolchains include the following:
pipeline-open: Open the system web browser to a pipeline on IBM Cloud.
The new DevOps commands were also designed with scriptability in mind. When fetching details for toolchains or pipelines, you can use the --json flag to return the toolchain or pipeline definition in JSON format instead of the readability-optimized format. This lets you take the output of the command and pipe it directly into a JSON parser for use in scripting and automation workflows.
For example, let’s look at a relatively simple `bash` script that makes use of the --json flag and jq for JSON processing. The script fetches all toolchains, extracts the name from the first one, fetches details for that toolchain, extracts the pipeline id, and then runs/invokes the DevOps pipeline:
# Fetch toolchains as JSON
TOOLCHAINS="$(ibmcloud dev toolchains --json)"
# Parse the first toolchain name
TOOLCHAIN_NAME="$(echo $TOOLCHAINS | jq .items.name -r)"
# Extract the pipeline id
PIPELINE_SERVICE="$(echo $TOOLCHAIN | jq '.items.services | select(.service_id == "pipeline")' -r)"
PIPELINE_ID="$(echo $PIPELINE_SERVICE | jq .instance_id -r)"
#invoke the pipeline
ibmcloud dev pipeline-invoke $PIPELINE_ID
The DevOps CLI functionality can only be used to target toolchains that exist within a resource group. Older Cloud Foundry-based toolchains may not be compatible with the DevOps CLI commands.
Another thing to keep in mind when working with the DevOps commands is that DevOps toolchains and pipelines are region-specific. The DevOps commands will use the region where you are currently logged into with the ibmcloud cli. If you’re not sure which region you’re targeting, just use the ibmcloud target command to find out.
What else is new?
Other notable features in this release include:
General formatting and usability improvements
Removal of the deprecated OpenAPI support in ibmcloud dev create
Golang projects are now supported in ibmcloud dev enable
Added -f (force) flag to ibmcloud dev delete—it’s now even easier to script
For assistance, please submit questions to the author of this article. You can reach the development team in the #developer-tools channel of this Slack. You can request access to this Slack channel here.