list_ci_build_actions
Retrieve build actions (analyze, build, test, archive) for a specific App Store Connect build run to monitor CI/CD workflow progress and status.
Instructions
List build actions (analyze, build, test, archive) for a specific build run
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| buildRunId | Yes | The ID of the build run to list actions for | |
| limit | No | Maximum number of build actions to return (default: 100, max: 200) | |
| sort | No | Sort order for the results | |
| filter | No | ||
| include | No | Related resources to include in the response | |
| fields | No |
Implementation Reference
- src/handlers/workflows.ts:93-121 (handler)The core handler function that executes the tool logic: constructs API parameters and calls the App Store Connect API endpoint `/ciBuildRuns/${buildRunId}/actions` to list CI build actions.async listBuildActions(args: { buildRunId: string; limit?: number; sort?: CiBuildActionSortOptions; filter?: CiBuildActionFilters; fields?: { ciBuildActions?: CiBuildActionFieldOptions[]; }; include?: CiBuildActionIncludeOptions[]; }): Promise<CiBuildActionsResponse> { const { buildRunId, limit = 100, sort, filter, fields, include } = args; const params: Record<string, any> = { limit: sanitizeLimit(limit) }; if (sort) { params.sort = sort; } if (include?.length) { params.include = include.join(','); } Object.assign(params, buildFilterParams(filter)); Object.assign(params, buildFieldParams(fields)); return this.client.get<CiBuildActionsResponse>(`/ciBuildRuns/${buildRunId}/actions`, params); }
- src/index.ts:981-1045 (registration)Registers the 'list_ci_build_actions' tool in the MCP tools list with its input schema, description, and parameters matching the handler arguments.name: "list_ci_build_actions", description: "List build actions (analyze, build, test, archive) for a specific build run", inputSchema: { type: "object", properties: { buildRunId: { type: "string", description: "The ID of the build run to list actions for" }, limit: { type: "number", description: "Maximum number of build actions to return (default: 100, max: 200)", minimum: 1, maximum: 200 }, sort: { type: "string", description: "Sort order for the results", enum: ["name", "-name", "actionType", "-actionType", "startedDate", "-startedDate", "finishedDate", "-finishedDate"] }, filter: { type: "object", properties: { actionType: { type: "string", enum: ["ANALYZE", "BUILD", "TEST", "ARCHIVE"], description: "Filter by action type" }, executionProgress: { type: "string", enum: ["PENDING", "RUNNING", "COMPLETE"], description: "Filter by execution progress" }, completionStatus: { type: "string", enum: ["SUCCEEDED", "FAILED", "ERRORED", "CANCELED", "SKIPPED"], description: "Filter by completion status" } } }, include: { type: "array", items: { type: "string", enum: ["buildRun", "issues", "testResults"] }, description: "Related resources to include in the response" }, fields: { type: "object", properties: { ciBuildActions: { type: "array", items: { type: "string", enum: ["name", "actionType", "startedDate", "finishedDate", "issueCounts", "executionProgress", "completionStatus"] }, description: "Fields to include for each build action" } } } }, required: ["buildRunId"] } },
- src/index.ts:1432-1434 (registration)Dispatches tool calls to 'list_ci_build_actions' by invoking the workflowHandlers.listBuildActions method.case "list_ci_build_actions": const buildActionsData = await this.workflowHandlers.listBuildActions(args as any); return formatResponse(buildActionsData);
- src/types/workflows.ts:216-301 (schema)TypeScript type definitions for CI build actions response, filters, sort options, fields, and includes used for type safety in the handler and tool schema.// CI Build Action Types export interface CiBuildAction { id: string; type: "ciBuildActions"; attributes: { name: string; actionType: "ANALYZE" | "BUILD" | "TEST" | "ARCHIVE"; startedDate?: string; finishedDate?: string; issueCounts?: { analyzerWarnings?: number; errors?: number; testFailures?: number; warnings?: number; }; executionProgress?: "PENDING" | "RUNNING" | "COMPLETE"; completionStatus?: "SUCCEEDED" | "FAILED" | "ERRORED" | "CANCELED" | "SKIPPED"; }; relationships?: { buildRun?: { data?: { id: string; type: "ciBuildRuns"; }; }; issues?: { data?: Array<{ id: string; type: "ciIssues"; }>; }; testResults?: { data?: Array<{ id: string; type: "ciTestResults"; }>; }; }; } export interface CiBuildActionsResponse { data: CiBuildAction[]; included?: Array<{ id: string; type: "ciBuildRuns" | "ciIssues" | "ciTestResults"; attributes: any; }>; links?: { self: string; first?: string; next?: string; }; meta?: { paging: { total: number; limit: number; }; }; } export interface CiBuildActionFilters { actionType?: "ANALYZE" | "BUILD" | "TEST" | "ARCHIVE"; executionProgress?: "PENDING" | "RUNNING" | "COMPLETE"; completionStatus?: "SUCCEEDED" | "FAILED" | "ERRORED" | "CANCELED" | "SKIPPED"; } export type CiBuildActionSortOptions = | "name" | "-name" | "actionType" | "-actionType" | "startedDate" | "-startedDate" | "finishedDate" | "-finishedDate"; export type CiBuildActionFieldOptions = | "name" | "actionType" | "startedDate" | "finishedDate" | "issueCounts" | "executionProgress" | "completionStatus"; export type CiBuildActionIncludeOptions = | "buildRun" | "issues" | "testResults";