list_ci_issues
Retrieve and filter CI/CD build issues and errors from App Store Connect to identify and resolve problems in iOS/macOS development workflows.
Instructions
List issues and errors from a build run or build action
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| buildRunId | No | The ID of the build run to list issues for (provide either buildRunId or buildActionId) | |
| buildActionId | No | The ID of the build action to list issues for (provide either buildRunId or buildActionId) | |
| limit | No | Maximum number of issues 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
- dist/src/handlers/workflows.js:61-81 (handler)The `listIssues` method in WorkflowHandlers class that executes the core logic of the 'list_ci_issues' tool. It validates input, builds query parameters using helpers, determines the appropriate App Store Connect API endpoint (/ciBuildRuns/{id}/issues or /ciBuildActions/{id}/issues), and fetches the issues data via the client.async listIssues(args) { const { buildRunId, buildActionId, limit = 100, sort, filter, fields, include } = args; if (!buildRunId && !buildActionId) { throw new Error('Either buildRunId or buildActionId must be provided'); } const params = { 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)); const endpoint = buildRunId ? `/ciBuildRuns/${buildRunId}/issues` : `/ciBuildActions/${buildActionId}/issues`; return this.client.get(endpoint, params); }
- dist/src/index.js:1047-1109 (schema)Input schema and metadata definition for the 'list_ci_issues' tool, provided to the MCP server for tool listing and validation.name: "list_ci_issues", description: "List issues and errors from a build run or build action", inputSchema: { type: "object", properties: { buildRunId: { type: "string", description: "The ID of the build run to list issues for (provide either buildRunId or buildActionId)" }, buildActionId: { type: "string", description: "The ID of the build action to list issues for (provide either buildRunId or buildActionId)" }, limit: { type: "number", description: "Maximum number of issues to return (default: 100, max: 200)", minimum: 1, maximum: 200 }, sort: { type: "string", description: "Sort order for the results", enum: ["issueType", "-issueType", "category", "-category", "message", "-message"] }, filter: { type: "object", properties: { issueType: { type: "string", enum: ["ANALYZER_WARNING", "ERROR", "TEST_FAILURE", "WARNING"], description: "Filter by issue type" }, category: { type: "string", description: "Filter by issue category" } } }, include: { type: "array", items: { type: "string", enum: ["buildAction", "buildRun"] }, description: "Related resources to include in the response" }, fields: { type: "object", properties: { ciIssues: { type: "array", items: { type: "string", enum: ["issueType", "message", "fileSource", "category"] }, description: "Fields to include for each issue" } } } } } }, // CI Test Results Management
- dist/src/index.js:1358-1360 (registration)Tool dispatch registration in the MCP CallToolRequestHandler switch statement, mapping 'list_ci_issues' calls to the workflowHandlers.listIssues method and formatting the response.case "list_ci_issues": const issuesData = await this.workflowHandlers.listIssues(args); return formatResponse(issuesData);