Skip to main content
Glama

mcp-server-circleci

Official
deploys.ts2.92 kB
import { DeployComponentsResponse, DeployComponentVersionsResponse, DeployEnvironmentResponse, DeploySettingsResponse, RollbackProjectRequest, RollbackProjectResponse } from '../schemas.js'; import { HTTPClient } from './httpClient.js'; export class DeploysAPI { protected client: HTTPClient; constructor(httpClient: HTTPClient) { this.client = httpClient; } async runRollbackPipeline({ projectID, rollbackRequest, }: { projectID: string; rollbackRequest: RollbackProjectRequest; }): Promise<RollbackProjectResponse> { const rawResult = await this.client.post<unknown>( `/projects/${projectID}/rollback`, rollbackRequest, ); const parsedResult = RollbackProjectResponse.safeParse(rawResult); if (!parsedResult.success) { throw new Error(`Failed to parse rollback response: ${parsedResult.error.message}`); } return parsedResult.data; } async fetchComponentVersions({ componentID, environmentID, }: { componentID: string; environmentID: string; }): Promise<DeployComponentVersionsResponse> { const rawResult = await this.client.get<unknown>( `/deploy/components/${componentID}/versions?environment-id=${environmentID}` ); const parsedResult = DeployComponentVersionsResponse.safeParse(rawResult); if (!parsedResult.success) { throw new Error(`Failed to parse component versions: ${parsedResult.error.message}`); } return parsedResult.data; } async fetchEnvironments({ orgID, }: { orgID: string; }): Promise<DeployEnvironmentResponse> { const rawResult = await this.client.get<unknown>( `/deploy/environments?org-id=${orgID}` ); const parsedResult = DeployEnvironmentResponse.safeParse(rawResult); if (!parsedResult.success) { throw new Error(`Failed to parse environments: ${parsedResult.error.message}`); } return parsedResult.data; } async fetchProjectComponents({ projectID, orgID, }: { projectID: string; orgID: string; }): Promise<DeployComponentsResponse> { const rawResult = await this.client.get<unknown>( `/deploy/components?org-id=${orgID}&project-id=${projectID}` ); const parsedResult = DeployComponentsResponse.safeParse(rawResult); if (!parsedResult.success) { throw new Error(`Failed to parse components: ${parsedResult.error.message}`); } return parsedResult.data; } async fetchProjectDeploySettings({ projectID, }: { projectID: string; }): Promise<DeploySettingsResponse> { const rawResult = await this.client.get<unknown>( `/deploy/projects/${projectID}/settings` ); const parsedResult = DeploySettingsResponse.safeParse(rawResult); if (!parsedResult.success) { throw new Error(`Failed to parse project deploy settings: ${parsedResult.error.message}`); } return parsedResult.data; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CircleCI-Public/mcp-server-circleci'

If you have feedback or need assistance with the MCP directory API, please join our Discord server