Circleci

Learn how to use Circleci with Composio

Overview

SLUG: CIRCLECI

Description

Template description for circleci

Authentication Details

generic_api_key
stringRequired

Connecting to Circleci

Create an auth config

Use the dashboard to create an auth config for the Circleci toolkit. This allows you to connect multiple Circleci accounts to Composio for agents to use.

1

Select App

Navigate to the Circleci toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4circleci_auth_config_id = "ac_YOUR_CIRCLECI_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Circleci for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, circleci_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Circleci toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["CIRCLECI"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Get Job Artifacts

Description

Tool to retrieve artifacts produced by a specific job. use after a job has completed to list its output files.

Action Parameters

job_number
integerRequired
project_slug
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Job Details

Description

Tool to fetch details of a specific job within a project. use when you need status, timing, and executor information for a circleci job by its number.

Action Parameters

job_number
integerRequired
project_slug
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Pipeline Config

Description

Tool to fetch pipeline configuration by id. use when you need the source or compiled yaml of a specific pipeline.

Action Parameters

pipeline_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Test Metadata

Description

Tool to fetch test metadata for a specific job. use when you need detailed test results, run times, and failure messages after a job completes.

Action Parameters

job_number
integerRequired
limit
integer
page-token
string
project_slug
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Information

Description

Tool to retrieve information about a circleci user by their unique id. use when you need user profile details after obtaining the user id.

Action Parameters

user_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Pipelines for Project

Description

Tool to list all pipelines for a specific project. use when you need to retrieve the pipelines for a project (e.g., to display recent runs on a dashboard).

Action Parameters

branch
string
mine
boolean
page-token
string
project_slug
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Self-Hosted Runners

Description

Tool to list available self-hosted runners. use when you need to retrieve all configured self-hosted runners for your organization.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Workflows by Pipeline ID

Description

Tool to list all workflows associated with a specific pipeline. use when you need to fetch or paginate through workflows by pipeline id.

Action Parameters

limit
integer
page-token
string
pipeline_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Trigger Pipeline

Description

Tool to trigger a new pipeline for the specified project. use when you need to start a build on a branch or tag programmatically.

Action Parameters

branch
string
parameters
object
project_slug
stringRequired
tag
string

Action Response

data
objectRequired
error
string
successful
booleanRequired