Reference · Tools

CircleCI

Interact with the CircleCI CI/CD platform to get, list, and trigger pipelines

Action Development v1

The CircleCI node lets you get pipeline details, list pipelines for a project, and trigger new pipeline runs against GitHub or Bitbucket repositories — all via CircleCI API v2. Use it to kick off a build the moment a pull request is merged, or to poll pipeline status as part of a larger deployment workflow. Credentials are handled through a dedicated CircleCI API credential type.

Node type
Action
Parameters
10
Outputs
Output, Error
Credentials
CircleCI API

CircleCI

Get, list, and trigger CircleCI pipelines.

Overview

CircleCI is a continuous integration and continuous delivery (CI/CD) platform. This tool allows you to retrieve pipeline information, list pipelines for a project, and trigger new pipeline runs via the CircleCI API v2. It supports projects hosted on GitHub and Bitbucket.

Category: Development
Tool Name: circleci
Version: 1

Appearance: Icon: si-circleci | Color: #343434

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires CircleCI API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Pipelinepipeline

Operations

OperationValueDescription
GetgetGet a pipeline
Get ManygetAllGet many pipelines
TriggertriggerTrigger a pipeline

Parameters

Pipeline: Get

ParameterTypeRequiredDefaultDescription
ProvideroptionsNoSource control system.
Options: bitbucket, github
Project SlugstringNoProject slug in the form org-name/repo-name. Supports expressions like {{ $json.repo }}.
Pipeline NumbernumberNo1The number of the pipeline. Supports expressions.

Pipeline: Get Many

ParameterTypeRequiredDefaultDescription
ProvideroptionsNoSource control system.
Options: bitbucket, github
Project SlugstringNoProject slug in the form org-name/repo-name. Supports expressions like {{ $json.repo }}.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Filters for the pipeline list.
— BranchstringNoThe name of a VCS branch to filter by. Supports expressions.

Pipeline: Trigger

ParameterTypeRequiredDefaultDescription
ProvideroptionsNoSource control system.
Options: bitbucket, github
Project SlugstringNoProject slug in the form org-name/repo-name. Supports expressions like {{ $json.repo }}.
Additional FieldscollectionNo{}Additional fields for triggering a pipeline.
— BranchstringNoThe branch where the pipeline will run. Note that branch and tag are mutually exclusive. Supports expressions.
— TagstringNoThe tag used by the pipeline. Note that branch and tag are mutually exclusive. Supports expressions.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

What happens to the input item’s JSON depends on the operation, and the two behaviours are different — this matters when a downstream node still expects fields that arrived with the item.

OperationOutput
getOne item. The pipeline object from the API is merged onto the input item’s JSON, so incoming fields pass through.
triggerOne item. The trigger response from the API is merged onto the input item’s JSON.
getAllFans out — one output item per pipeline. Each output item’s JSON is the pipeline object itself and replaces the input JSON; nothing the item arrived with is carried over. When no pipelines match, the input item produces no output items at all.

Binary data on the input item is forwarded in every case.

Pipeline fields come straight from the CircleCI API v2 response — reference them downstream by expression, e.g. {{ $json.id }} or {{ $json.state }}.

Usage Examples

  • Get a specific pipeline by number
  • List all pipelines for a project
  • List pipelines filtered by branch
  • Trigger a new pipeline run on a branch
  • Trigger a pipeline build for a specific tag

Example Configuration

Get one pipeline by its number:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "get",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "pipelineNumber": 123
  }
}

List every pipeline for a project:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "getAll",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "returnAll": true
  }
}

List up to 25 pipelines on one branch:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "getAll",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "returnAll": false,
    "limit": 25,
    "filters": {
      "branch": "develop"
    }
  }
}

Trigger a pipeline on a branch:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "trigger",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "additionalFields": {
      "branch": "{{ $json.branch }}"
    }
  }
}

Trigger a pipeline for a tag on a Bitbucket project:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "trigger",
    "vcs": "bitbucket",
    "projectSlug": "myorg/myrepo",
    "additionalFields": {
      "tag": "v2.1.0"
    }
  }
}

Check the ten most recent runs:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "getAll",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "returnAll": false,
    "limit": 10
  }
}

Monitor a single development stream:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "getAll",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "branch": "main"
    }
  }
}

Trigger a release pipeline as part of an automated deploy:

{
  "type": "circleci",
  "parameters": {
    "resource": "pipeline",
    "operation": "trigger",
    "vcs": "github",
    "projectSlug": "myorg/myrepo",
    "additionalFields": {
      "branch": "release/v1.0"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Use CircleCI to get, list, or trigger CI/CD pipelines for GitHub or Bitbucket projects via the CircleCI API v2.

Behavior notes

  • Project Slug is org-name/repo-name, not a URL — the slash is encoded for you before the request goes out.
  • Branch and tag are mutually exclusive when triggering. Set one of them, not both.
  • Return All pages through every result using CircleCI’s page tokens; the Limit field is only consulted when Return All is off.
  • getAll replaces the item JSON. If a downstream node needs a field that arrived with the input item, capture it before this node or re-attach it afterwards — pipeline objects overwrite the item wholesale.
  • Triggering only starts the run. The response describes the newly created pipeline; poll with get if you need its final state.

Frequently asked questions

What format does the Project Slug need to be in?

The Project Slug is `org-name/repo-name` — for example, `acme-corp/api-service`. It is not a full URL. The node encodes the slash for you before the request goes out, so you should enter the slug in plain `org/repo` format.

Can I trigger a pipeline on both a branch and a tag at the same time?

No. Branch and tag are mutually exclusive when triggering a pipeline. Set one or the other, not both. Providing both will cause unexpected behavior, so decide at workflow-design time which targeting strategy you need.

If I use 'Return All' to list pipelines, what happens to the original item data?

When Return All is enabled, the node pages through every result using CircleCI's page tokens and replaces the item JSON wholesale with pipeline objects. Any fields that arrived on the input item will be overwritten. If a downstream node needs that original data, capture it before this node runs or re-attach it afterwards.

The node triggered my pipeline — how do I find out whether it succeeded?

Triggering only starts the run. The node's response describes the newly created pipeline but does not wait for it to finish. To check the final state, follow up with a separate `get` operation in a subsequent node call, polling until the pipeline reaches a terminal status.

What credential does this node require, and where does it connect?

The node uses the CircleCI API credential type (`circleCiApi`), which holds your CircleCI personal API token. It communicates directly with CircleCI API v2 and supports projects hosted on GitHub or Bitbucket.

Build with the CircleCI node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need CircleCI API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.