KosmoKrator

devtools

CircleCI Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the CircleCI KosmoKrator integration.

7 functions 6 read 1 write Bearer token auth

Lua Namespace

Agents call this integration through app.integrations.circleci.*. Use lua_read_doc("integrations.circleci") inside KosmoKrator to discover the same reference at runtime.

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

CircleCI — Lua API Reference

list_pipelines

List recent CI/CD pipelines for an organization.

Parameters

NameTypeRequiredDescription
orgSlugstringyesOrganization slug (e.g., "gh/my-org")
branchstringnoFilter by branch name
limitintegernoMax results (default: 20)
page_tokenstringnoPagination token from previous response

Examples

local result = app.integrations.circleci.list_pipelines({
  orgSlug = "gh/my-org",
  limit = 10
})

for _, pipeline in ipairs(result.items) do
  print(pipeline.id .. " - " .. pipeline.status .. " (" .. pipeline.branch .. ")")
end

Filter by branch:

local result = app.integrations.circleci.list_pipelines({
  orgSlug = "gh/my-org",
  branch = "main",
  limit = 5
})

get_pipeline

Get detailed information about a specific pipeline.

Parameters

NameTypeRequiredDescription
idstringyesPipeline UUID

Example

local result = app.integrations.circleci.get_pipeline({
  id = "abc123-def456-..."
})

print("Status: " .. result.state)
print("Branch: " .. result.branch)
print("Revision: " .. result.vcs.revision)

list_workflows

List all workflows for a pipeline.

Parameters

NameTypeRequiredDescription
pipeline_idstringyesPipeline UUID

Example

local result = app.integrations.circleci.list_workflows({
  pipeline_id = "abc123-def456-..."
})

for _, wf in ipairs(result.items) do
  print(wf.name .. " - " .. wf.status)
end

get_workflow

Get detailed information about a specific workflow.

Parameters

NameTypeRequiredDescription
idstringyesWorkflow UUID

Example

local result = app.integrations.circleci.get_workflow({
  id = "wf123-def456-..."
})

print("Name: " .. result.name)
print("Status: " .. result.status)
print("Duration: " .. result.duration .. "s")

list_projects

List all projects for an organization.

Parameters

NameTypeRequiredDescription
orgSlugstringyesOrganization slug (e.g., "gh/my-org")
limitintegernoMax results

Example

local result = app.integrations.circleci.list_projects({
  orgSlug = "gh/my-org"
})

for _, project in ipairs(result.items) do
  print(project.slug .. " - " .. project.vcs_url)
end

trigger_pipeline

Trigger a new pipeline on a project.

Parameters

NameTypeRequiredDescription
orgSlugstringyesOrganization slug (e.g., "gh/my-org")
projectSlugstringyesProject slug / repo name (e.g., "my-repo")
branchstringnoBranch to run on (default: project default)
parametersobjectnoPipeline parameters (for parameterized configs)

Examples

Trigger on default branch:

local result = app.integrations.circleci.trigger_pipeline({
  orgSlug = "gh/my-org",
  projectSlug = "my-repo"
})

print("Pipeline: " .. result.id .. " - " .. result.state)

Trigger on specific branch with parameters:

local result = app.integrations.circleci.trigger_pipeline({
  orgSlug = "gh/my-org",
  projectSlug = "my-repo",
  branch = "feature/login",
  parameters = {
    run_integration_tests = true,
    environment = "staging"
  }
})

get_current_user

Get the authenticated user profile.

Parameters

None.

Example

local result = app.integrations.circleci.get_current_user({})

print("Logged in as: " .. result.login)
print("Name: " .. result.name)

Multi-Account Usage

If you have multiple CircleCI accounts configured, use account-specific namespaces:

-- Default account (always works)
app.integrations.circleci.list_pipelines({ orgSlug = "gh/my-org" })

-- Explicit default (portable across setups)
app.integrations.circleci.default.list_pipelines({ orgSlug = "gh/my-org" })

-- Named accounts
app.integrations.circleci.work.list_pipelines({ orgSlug = "gh/work-org" })
app.integrations.circleci.personal.list_pipelines({ orgSlug = "gh/personal-org" })

All functions are identical across accounts — only the credentials differ.

Raw agent markdown
# CircleCI — Lua API Reference

## list_pipelines

List recent CI/CD pipelines for an organization.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `orgSlug` | string | yes | Organization slug (e.g., `"gh/my-org"`) |
| `branch` | string | no | Filter by branch name |
| `limit` | integer | no | Max results (default: 20) |
| `page_token` | string | no | Pagination token from previous response |

### Examples

```lua
local result = app.integrations.circleci.list_pipelines({
  orgSlug = "gh/my-org",
  limit = 10
})

for _, pipeline in ipairs(result.items) do
  print(pipeline.id .. " - " .. pipeline.status .. " (" .. pipeline.branch .. ")")
end
```

Filter by branch:

```lua
local result = app.integrations.circleci.list_pipelines({
  orgSlug = "gh/my-org",
  branch = "main",
  limit = 5
})
```

---

## get_pipeline

Get detailed information about a specific pipeline.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | yes | Pipeline UUID |

### Example

```lua
local result = app.integrations.circleci.get_pipeline({
  id = "abc123-def456-..."
})

print("Status: " .. result.state)
print("Branch: " .. result.branch)
print("Revision: " .. result.vcs.revision)
```

---

## list_workflows

List all workflows for a pipeline.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `pipeline_id` | string | yes | Pipeline UUID |

### Example

```lua
local result = app.integrations.circleci.list_workflows({
  pipeline_id = "abc123-def456-..."
})

for _, wf in ipairs(result.items) do
  print(wf.name .. " - " .. wf.status)
end
```

---

## get_workflow

Get detailed information about a specific workflow.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | yes | Workflow UUID |

### Example

```lua
local result = app.integrations.circleci.get_workflow({
  id = "wf123-def456-..."
})

print("Name: " .. result.name)
print("Status: " .. result.status)
print("Duration: " .. result.duration .. "s")
```

---

## list_projects

List all projects for an organization.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `orgSlug` | string | yes | Organization slug (e.g., `"gh/my-org"`) |
| `limit` | integer | no | Max results |

### Example

```lua
local result = app.integrations.circleci.list_projects({
  orgSlug = "gh/my-org"
})

for _, project in ipairs(result.items) do
  print(project.slug .. " - " .. project.vcs_url)
end
```

---

## trigger_pipeline

Trigger a new pipeline on a project.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `orgSlug` | string | yes | Organization slug (e.g., `"gh/my-org"`) |
| `projectSlug` | string | yes | Project slug / repo name (e.g., `"my-repo"`) |
| `branch` | string | no | Branch to run on (default: project default) |
| `parameters` | object | no | Pipeline parameters (for parameterized configs) |

### Examples

Trigger on default branch:

```lua
local result = app.integrations.circleci.trigger_pipeline({
  orgSlug = "gh/my-org",
  projectSlug = "my-repo"
})

print("Pipeline: " .. result.id .. " - " .. result.state)
```

Trigger on specific branch with parameters:

```lua
local result = app.integrations.circleci.trigger_pipeline({
  orgSlug = "gh/my-org",
  projectSlug = "my-repo",
  branch = "feature/login",
  parameters = {
    run_integration_tests = true,
    environment = "staging"
  }
})
```

---

## get_current_user

Get the authenticated user profile.

### Parameters

None.

### Example

```lua
local result = app.integrations.circleci.get_current_user({})

print("Logged in as: " .. result.login)
print("Name: " .. result.name)
```

---

## Multi-Account Usage

If you have multiple CircleCI accounts configured, use account-specific namespaces:

```lua
-- Default account (always works)
app.integrations.circleci.list_pipelines({ orgSlug = "gh/my-org" })

-- Explicit default (portable across setups)
app.integrations.circleci.default.list_pipelines({ orgSlug = "gh/my-org" })

-- Named accounts
app.integrations.circleci.work.list_pipelines({ orgSlug = "gh/work-org" })
app.integrations.circleci.personal.list_pipelines({ orgSlug = "gh/personal-org" })
```

All functions are identical across accounts — only the credentials differ.

Metadata-Derived Lua Example

local result = app.integrations.circleci.circleci_list_pipelines({
  orgSlug = "example_orgSlug",
  branch = "example_branch",
  limit = 1,
  page_token = "example_page_token"
})
print(result)

Functions

circleci_list_pipelines

List recent CI/CD pipelines in CircleCI. Filter by organization slug and branch. Returns pipeline IDs, status, trigger information, and revision details.

Operation
Read read
Full name
circleci.circleci_list_pipelines
ParameterTypeRequiredDescription
orgSlug string yes Organization slug (e.g., "gh/my-org" for GitHub, "bb/my-org" for Bitbucket).
branch string no Filter pipelines by branch name (e.g., "main", "develop").
limit integer no Maximum number of pipelines to return (default: 20, max: 100).
page_token string no Pagination token from a previous response to fetch the next page.

circleci_get_pipeline

Get detailed information about a specific CircleCI pipeline, including its status, configuration, trigger source, and commit details.

Operation
Read read
Full name
circleci.circleci_get_pipeline
ParameterTypeRequiredDescription
id string yes The pipeline ID (UUID).

circleci_list_workflows

List all workflows for a specific CircleCI pipeline. Shows workflow names, statuses (running, success, failed, etc.), and timing information.

Operation
Read read
Full name
circleci.circleci_list_workflows
ParameterTypeRequiredDescription
pipeline_id string yes The pipeline ID (UUID) to list workflows for.

circleci_get_workflow

Get detailed information about a specific CircleCI workflow, including its status, timing, duration, and associated project.

Operation
Read read
Full name
circleci.circleci_get_workflow
ParameterTypeRequiredDescription
id string yes The workflow ID (UUID).

circleci_list_projects

List all projects in a CircleCI organization. Returns project slugs, repository URLs, and VCS provider information.

Operation
Read read
Full name
circleci.circleci_list_projects
ParameterTypeRequiredDescription
orgSlug string yes Organization slug (e.g., "gh/my-org" for GitHub, "bb/my-org" for Bitbucket).
limit integer no Maximum number of projects to return.

circleci_trigger_pipeline

Trigger a new CI/CD pipeline on a CircleCI project. Specify the organization, project, branch, and optional pipeline parameters.

Operation
Write write
Full name
circleci.circleci_trigger_pipeline
ParameterTypeRequiredDescription
orgSlug string yes Organization slug (e.g., "gh/my-org" for GitHub, "bb/my-org" for Bitbucket).
projectSlug string yes Project slug / repository name (e.g., "my-repo").
branch string no The branch to run the pipeline on (e.g., "main"). Defaults to the project's default branch.
parameters object no Pipeline parameters to pass (for parameterized configs). Pass as a JSON object with string/boolean/number values.

circleci_get_current_user

Get the current authenticated CircleCI user profile. Returns login, name, and account details. Useful for verifying API token validity.

Operation
Read read
Full name
circleci.circleci_get_current_user
ParameterTypeRequiredDescription
No parameters.