---
name: ContinuousDelivery-toolchains_using
title: Using toolchains
description: Open toolchains are available on IBM Cloud&reg;. You can use a toolchain to be productive in your daily development, deployment, and operations work. After you set up a toolchain, you can add, delete, or configure tool integrations and manage access to the toolchain. For more information about working with tool integrations, see Working with tool integrations.
last-updated: 2026-07-23
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/ContinuousDelivery?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Using toolchains
{: #toolchains-using}

DevOps Insights will reach end of service and be discontinued on **August 31, 2026**. Continuous Delivery will be discontinued in the following regions on 12 February 2027: **au-syd**, **ca-mon**, **ca-tor**, **us-east**. Code Risk Analyzer will also be discontinued in all regions on that date. If a region has no active usage of these features, the features in that region may be discontinued earlier and stop accepting new instances. [Learn more](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-faq_region_feature_consolidation&format=markdown)
{: important}

Open toolchains are available on IBM Cloud&reg;. You can use a toolchain to be productive in your daily development, deployment, and operations work. After you set up a toolchain, you can add, delete, or configure tool integrations and manage access to the toolchain. For more information about working with tool integrations, see [Working with tool integrations](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-integrations&format=markdown).
{: shortdesc}

## Managing access to toolchains
{: #managing_access_resource_groups}

You can use the Identity and Access Management (IAM) service to manage user access to toolchains in resource groups. For more information about managing access control with IAM, see [Managing user access to toolchains in resource groups](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-toolchains-iam-security&format=markdown).

Users with access to toolchains might be counted as authorized users of the IBM Cloud&reg; Continuous Delivery service. For more information about how authorized users are counted, see [Plan limitations and usage](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-limitations_usage&format=markdown).

## Organizing toolchains
{: #organizing_toolchains}

You can add tags to your toolchains to organize them and easily find them later. A tag is a label that you assign to a toolchain for easy filtering of toolchains in your toolchains list.


1. From the IBM Cloud console, click the **Menu** icon ![hamburger icon](images/icon_hamburger.svg) > **Platform Automation** > **Toolchains**. 
1. On the Toolchains page, locate the toolchain that you want to add a tag to and click **Add tags**.
1. Enter a name for the tag that you want to add to the toolchain. You can add multiple tags, which are separated by commas.
1. Click **Save**.

For more information about tags, see [Working with tags](https://cloud.ibm.com/docs/account?topic=account-tag&format=markdown).

## Viewing toolchain connections to apps, clusters, and services
{: #view_toolchain_connections}

You can view your toolchain's connections to Kubernetes clusters and services.

1. From the IBM Cloud console, click the **Menu** icon ![hamburger icon](images/icon_hamburger.svg) > **Platform Automation** > **Toolchains**. 
1. On the Toolchains page, click a toolchain to open its Overview page. Alternatively, on the App details page in your app, click the toolchain name.
1. Select the **Connections** tab, and select the app, cluster, or service that you want to view.


## Deleting a toolchain
{: #deleting_a_toolchain}

You can delete a toolchain. When you delete a toolchain, all of the tool integrations that belong to that toolchain are also deleted. The deletion cannot be undone.

When you delete a Delivery Pipeline tool integration, the associated Delivery Pipeline is also deleted.
{: tip}

When you delete a GitHub or Git Repos and Issue Tracking tool integration, the associated repo is not deleted from GitHub or Git Repos and Issue Tracking. You must manually remove the repo.
{: tip}

### Deleting a toolchain by using the console
{: #deleting_a_toolchain_ui}
{: ui}


1. From the IBM Cloud console, click the **Menu** icon ![hamburger icon](images/icon_hamburger.svg) > **Platform Automation** > **Toolchains**. 
1. On the Toolchains page, click a toolchain to open its Overview page. Alternatively, on the App details page in your app, click the toolchain name.
1. Click the **Actions** menu and select **Delete**. Deleting a toolchain removes all of its tool integrations, which might delete resources that are managed by those integrations.
1. Confirm the deletion by typing the name of the toolchain and clicking **Delete**.

### Deleting a toolchain from the CLI (Beta)
{: #deleting_a_toolchain_cli}
{: cli}

1. Log in to IBM Cloud by using the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli&format=markdown).

   ```sh
   ibmcloud login
   ```
   {: pre}

   If the login fails, run the `ibmcloud login --sso` command to try again. The `--sso` parameter is required when you log in with a federated ID. If you use this option, go to the link that is listed in the CLI output to generate a one-time passcode.
   {: tip}

2. Optional. List all of the toolchains in the targeted account, region, and resource group to identify the instance that you want to delete.

   ```sh
   ibmcloud dev toolchains
   ```
   {: pre}

3. Delete a toolchain by running the [`ibmcloud dev toolchain-delete`](https://cloud.ibm.com/docs/cli?topic=cli-idt-cli&format=markdown#toolchain-delete) command.

   ```sh
   ibmcloud dev toolchain-delete TOOLCHAIN-NAME
   ```
   {: pre}

The following table lists and describes each of the variables that are used in the previous steps.

| Variable | Description |
|:---------|:------------|
| `TOOLCHAIN_NAME` | The name of the toolchain that you want to delete. |
{: caption="Variables for deleting the toolchain from the CLI" caption-side="top"}

### Deleting a toolchain with the API
{: #deleting_a_toolchain_api}
{: api}

1. [Obtain an IAM bearer token](https://cloud.ibm.com/apis/toolchain#authentication){: external}. Alternatively, if you are using an SDK, [obtain an IAM API key](https://cloud.ibm.com/iam/apikeys){: external} and set the client options by using environment variables.

   ```bash
   export CD_TOOLCHAIN_AUTH_TYPE=iam && \
   export CD_TOOLCHAIN_APIKEY={iam_api_key} && \
   export CD_TOOLCHAIN_URL={base_url}
   ```
   {: pre}

2. Delete the toolchain that you want to remove.

   ```curl
   curl -X DELETE \
     "{base_url}/toolchains/{toolchain_id}" \
     -H 'Authorization: Bearer {token}'
   ```
   {: pre}
   {: curl}

   ```javascript
   const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
   const toolchainService = CdToolchainV2.newInstance();
   ...
   (async() => {
      const response = await toolchainService.deleteToolchain({
         toolchainId: {toolchain_id}
      });
   })();
   ```
   {: codeblock}
   {: node}

   ```go
   import (
	   "github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
   )
   ...
   toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
   toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
   deleteToolchainOptions := toolchainClient.NewDeleteToolchainOptions({toolchain_id})
   response, err := toolchainClient.DeleteToolchain(deleteToolchainOptions)
   ```
   {: codeblock}
   {: go}

   ```python
   from ibm_continuous_delivery.cd_toolchain_v2 import CdToolchainV2
   ...
   toolchain_service = CdToolchainV2.new_instance()
   response = toolchain_service.delete_toolchain(
      toolchain_id = toolchain_id
   )
   ```
   {: codeblock}
   {: python}

   ```java
   import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.CdToolchain;
   import com.ibm.cloud.continuous_delivery.cd_toolchain.v2.model.*;
   ...
   CdToolchain toolchainService = CdToolchain.newInstance();
   DeleteToolchainOptions deleteToolchainOptions = new DeleteToolchainOptions.Builder()
      .toolchainId({toolchain_id})
      .build();
   Response<Void> response = toolchainService.deleteToolchain(deleteToolchainOptions).execute();
   ```
   {: codeblock}
   {: java}

The following table lists and describes each of the variables that are used in the previous steps.

| Variable | Description |
|:---------|:------------|
| `{base_url}` | The Toolchain API endpoint URL, for example `https://api.us-south.devops.cloud.ibm.com/toolchain/v2`. For more information about this endpoint URL, including a list of values, see [Endpoint URL](https://cloud.ibm.com/apis/toolchain#endpoint-url){: external}. |
| `{iam_api_key}` | Your IAM API key. |
| `{token}` | A valid IAM bearer token. |
| `{toolchain_id}` | The ID of the toolchain that you want to delete. |
{: caption="Variables for deleting the toolchain with the API" caption-side="top"}

### Deleting a toolchain with Terraform
{: #deleting_a_toolchain_terraform}
{: terraform}

1. Locate the Terraform file (for example, `main.tf`) that contains the `resource` block for the existing toolchain. For more information about using Terraform with toolchains, see [Creating a toolchain with Terraform](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-toolchains_getting_started&interface=terraform&format=markdown).

   The `resource` in the following example describes an existing toolchain.

   ```terraform
   data "ibm_resource_group" "group" {
     name = "default"
   }

   resource "ibm_cd_toolchain" "cd_toolchain" {
     name              = "my toolchain"
     resource_group_id = data.ibm_resource_group.group.id
   }
   ```
   {: codeblock}

2. Remove the `resource` block from your Terraform file.

3. Initialize the Terraform CLI.

   ```terraform
   terraform init
   ```
   {: pre}

4. Create a Terraform execution plan. This plan summarizes all of the actions that must run to delete the toolchain.

   ```terraform
   terraform plan
   ```
   {: pre}

5. Apply the Terraform execution plan. Terraform takes all of the required actions to delete the toolchain.

   ```terraform
   terraform apply
   ```
   {: pre}

## Managing alternative toolchains in different regions
{: #cd-ha-dr-alttoolchains}

You can define your toolchain by using Terraform Configuration Language, and then apply and maintain your toolchain definition in two regions: a primary region with active pipelines, and an alternative region with idle pipelines. If you use Git Repos and Issue Tracking, you can also [mirror your Git repos](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-cd-ha-dr-mirrorgit&format=markdown) from the primary region to the alternative region. Maintaining primary and alternative toolchains and Git repos provides faster failover and redundancy. It also ensures smooth operation if issues arise in the primary region. By codifying your toolchain in Terraform, you can update your toolchain and apply the changes to both regions.

For more information about using Terraform, see [Setting up Terraform for Continuous Delivery](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-terraform-setup&format=markdown).