@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
134 lines (133 loc) • 2.72 kB
TypeScript
/**
* Types for Atlassian Jira Projects API
*/
import { ContentProperty, OptionalFieldMeta, OptionalFieldLinks } from './vendor.atlassian.types.js';
/**
* Project style enum
*/
export type ProjectStyle = 'classic' | 'next-gen';
/**
* Project avatar URLs
*/
export interface ProjectAvatarUrls {
'16x16': string;
'24x24': string;
'32x32': string;
'48x48': string;
}
/**
* Project insight information
*/
export interface ProjectInsight {
lastIssueUpdateTime: string;
totalIssueCount: number;
}
/**
* Project category
*/
export interface ProjectCategory {
id: string;
name: string;
description?: string;
self: string;
}
/**
* Project object returned from the API
*/
export interface Project {
id: string;
key: string;
name: string;
self: string;
simplified: boolean;
style: ProjectStyle;
avatarUrls: ProjectAvatarUrls;
insight?: ProjectInsight;
projectCategory?: ProjectCategory;
}
/**
* Extended project object with optional fields
*/
export interface ProjectDetailed extends Project {
description?: string;
lead?: {
id: string;
displayName: string;
active: boolean;
};
components: ProjectComponent[];
versions: ProjectVersion[];
properties?: {
results: ContentProperty[];
meta: OptionalFieldMeta;
_links: OptionalFieldLinks;
};
}
/**
* Project component
*/
export interface ProjectComponent {
id: string;
name: string;
description?: string;
lead?: {
id: string;
displayName: string;
};
assigneeType?: string;
assignee?: {
id: string;
displayName: string;
};
self: string;
}
/**
* Project version
*/
export interface ProjectVersion {
id: string;
name: string;
description?: string;
archived: boolean;
released: boolean;
releaseDate?: string;
startDate?: string;
self: string;
}
/**
* Parameters for listing projects
*/
export interface ListProjectsParams {
ids?: string[];
keys?: string[];
query?: string;
typeKey?: string;
categoryId?: string;
action?: string;
expand?: string[];
status?: string[];
orderBy?: string;
startAt?: number;
maxResults?: number;
}
/**
* Parameters for getting a project by ID or key
*/
export interface GetProjectByIdParams {
expand?: string[];
includeComponents?: boolean;
includeVersions?: boolean;
includeProperties?: boolean;
}
/**
* API response for listing projects
*/
export interface ProjectsResponse {
isLast: boolean;
maxResults: number;
nextPage?: string;
self: string;
startAt: number;
total: number;
values: Project[];
}