get_issue_types
Retrieve a list of issue types for a specific project by providing its numeric ID or key.
Instructions
Returns list of issue types for a project
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | The numeric ID of the project (e.g., 12345) | |
| projectKey | No | The key of the project (e.g., 'PROJECT') | |
| organization | No | Optional organization name. Use list_organizations to inspect available organizations. |
Implementation Reference
- src/tools/getIssueTypes.ts:29-56 (handler)Main handler for get_issue_types tool. Resolves project ID or key, then calls backlog.getIssueTypes() to return the list of issue types for a project.
export const getIssueTypesTool = ( backlog: Backlog, { t }: TranslationHelper ): ToolDefinition< ReturnType<typeof getIssueTypesSchema>, (typeof IssueTypeSchema)['shape'] > => { return { name: 'get_issue_types', description: t( 'TOOL_GET_ISSUE_TYPES_DESCRIPTION', 'Returns list of issue types for a project' ), schema: z.object(getIssueTypesSchema(t)), outputSchema: IssueTypeSchema, importantFields: ['id', 'name'], handler: async ({ projectId, projectKey }) => { const result = resolveIdOrKey( 'project', { id: projectId, key: projectKey }, t ); if (!result.ok) { throw result.error; } return backlog.getIssueTypes(result.value); }, }; - src/tools/getIssueTypes.ts:8-27 (schema)Input schema: optional projectId (number) and projectKey (string). At least one required.
const getIssueTypesSchema = buildToolSchema((t) => ({ projectId: z .number() .optional() .describe( t( 'TOOL_GET_GIT_REPOSITORIES_PROJECT_ID', 'The numeric ID of the project (e.g., 12345)' ) ), projectKey: z .string() .optional() .describe( t( 'TOOL_GET_GIT_REPOSITORIES_PROJECT_KEY', "The key of the project (e.g., 'PROJECT')" ) ), })); - Output schema for issue types - defines fields: id, projectId, name, color (enum), displayOrder, optional templateSummary and templateDescription.
export const IssueTypeSchema = z.object({ id: z.number(), projectId: z.number(), name: z.string(), color: IssueTypeColorSchema, displayOrder: z.number(), templateSummary: z.string().optional(), templateDescription: z.string().optional(), }); - src/tools/tools.ts:111-124 (registration)Registration of getIssueTypesTool in the 'issue' toolset group.
getIssueTypesTool(backlog, helper), getResolutionsTool(backlog, helper), getWatchingListItemsTool(backlog, helper), getWatchingListCountTool(backlog, helper), addWatchingTool(backlog, helper), updateWatchingTool(backlog, helper), deleteWatchingTool(backlog, helper), markWatchingAsReadTool(backlog, helper), getVersionMilestoneListTool(backlog, helper), addVersionMilestoneTool(backlog, helper), updateVersionMilestoneTool(backlog, helper), deleteVersionTool(backlog, helper), ], }, - src/tools/tools.ts:21-21 (registration)Import statement for getIssueTypesTool in the tools registration module.
import { getIssueTypesTool } from './getIssueTypes.js';