list_issues
Retrieve and display issues from Zoho Projects, allowing users to view project or portal-level issues with pagination controls for efficient issue management.
Instructions
List issues from a project or portal
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| per_page | No | Items per page | |
| project_id | No | Project ID (optional for portal-level) |
Implementation Reference
- src/index.ts:779-791 (handler)Core handler function that constructs the Zoho Projects API endpoint for listing issues (project-specific or portal-wide) and returns the JSON response formatted as MCP content.private async listIssues( projectId?: string, page: number = 1, perPage: number = 10 ) { const endpoint = projectId ? `/portal/${this.config.portalId}/projects/${projectId}/issues?page=${page}&per_page=${perPage}` : `/portal/${this.config.portalId}/issues?page=${page}&per_page=${perPage}`; const data = await this.makeRequest(endpoint); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
- src/index.ts:382-399 (schema)Tool registration including name, description, and input schema definition for the list_issues tool.name: "list_issues", description: "List issues from a project or portal", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID (optional for portal-level)", }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, }, },
- src/index.ts:584-585 (registration)Dispatch case in the CallToolRequestSchema handler that routes list_issues calls to the listIssues method.case "list_issues": return await this.listIssues(params.project_id, params.page, params.per_page);
- src/http-server.ts:782-794 (handler)Identical core handler function in the HTTP server variant.private async listIssues( projectId?: string, page: number = 1, perPage: number = 10 ) { const endpoint = projectId ? `/portal/${this.config.portalId}/projects/${projectId}/issues?page=${page}&per_page=${perPage}` : `/portal/${this.config.portalId}/issues?page=${page}&per_page=${perPage}`; const data = await this.makeRequest(endpoint); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; }
- src/http-server.ts:385-401 (schema)Tool registration including name, description, and input schema in the HTTP server variant.name: "list_issues", description: "List issues from a project or portal", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "Project ID (optional for portal-level)", }, page: { type: "number", description: "Page number", default: 1 }, per_page: { type: "number", description: "Items per page", default: 10, }, }, },