UNPKG

@aashari/mcp-server-atlassian-jira

Version:

Node.js/TypeScript MCP server for Atlassian Jira. Equips AI systems (LLMs) with tools to list/get projects, search/get issues (using JQL/ID), and view dev info (commits, PRs). Connects AI capabilities directly into Jira project management and issue tracki

126 lines (125 loc) 3.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProjectsResponseSchema = exports.ProjectDetailedSchema = exports.ProjectSchema = void 0; /** * Types for Atlassian Jira Projects API */ const zod_1 = require("zod"); /** * Project style enum */ const ProjectStyleSchema = zod_1.z.enum(['classic', 'next-gen']); /** * Project avatar URLs */ const ProjectAvatarUrlsSchema = zod_1.z.object({ '16x16': zod_1.z.string().url(), '24x24': zod_1.z.string().url(), '32x32': zod_1.z.string().url(), '48x48': zod_1.z.string().url(), }); /** * Project insight information */ const ProjectInsightSchema = zod_1.z.object({ lastIssueUpdateTime: zod_1.z.string(), totalIssueCount: zod_1.z.number(), }); /** * Project category */ const ProjectCategorySchema = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), description: zod_1.z.string().optional(), self: zod_1.z.string().url(), }); /** * Project object returned from the API */ const ProjectSchema = zod_1.z.object({ id: zod_1.z.string(), key: zod_1.z.string(), name: zod_1.z.string(), self: zod_1.z.string().url(), simplified: zod_1.z.boolean(), style: ProjectStyleSchema, avatarUrls: ProjectAvatarUrlsSchema, insight: ProjectInsightSchema.optional(), projectCategory: ProjectCategorySchema.optional(), }); exports.ProjectSchema = ProjectSchema; /** * Project component */ const ProjectComponentSchema = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), description: zod_1.z.string().optional(), lead: zod_1.z .object({ id: zod_1.z.string(), displayName: zod_1.z.string(), }) .optional(), assigneeType: zod_1.z.string().optional(), assignee: zod_1.z .object({ id: zod_1.z.string(), displayName: zod_1.z.string(), }) .optional(), self: zod_1.z.string().url(), }); /** * Project version */ const ProjectVersionSchema = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), description: zod_1.z.string().optional(), archived: zod_1.z.boolean(), released: zod_1.z.boolean(), releaseDate: zod_1.z.string().optional(), startDate: zod_1.z.string().optional(), self: zod_1.z.string().url(), }); /** * Extended project object with optional fields */ const ProjectDetailedSchema = ProjectSchema.extend({ description: zod_1.z.string().optional(), lead: zod_1.z .object({ id: zod_1.z.string().optional(), displayName: zod_1.z.string(), active: zod_1.z.boolean(), self: zod_1.z.string().optional(), accountId: zod_1.z.string().optional(), avatarUrls: zod_1.z.record(zod_1.z.string()).optional(), }) .optional(), components: zod_1.z.array(ProjectComponentSchema), versions: zod_1.z.array(ProjectVersionSchema), properties: zod_1.z .object({ results: zod_1.z.array(zod_1.z.any()).optional(), meta: zod_1.z.any().optional(), _links: zod_1.z.any().optional(), }) .optional(), }); exports.ProjectDetailedSchema = ProjectDetailedSchema; /** * API response for listing projects */ const ProjectsResponseSchema = zod_1.z.object({ isLast: zod_1.z.boolean(), maxResults: zod_1.z.number(), nextPage: zod_1.z.string().optional(), self: zod_1.z.string().url(), startAt: zod_1.z.number(), total: zod_1.z.number(), values: zod_1.z.array(ProjectSchema), }); exports.ProjectsResponseSchema = ProjectsResponseSchema;