Skip to main content
Glama

JIRA MCP Server

get-sprints.use-case.ts1.88 kB
/** * Get Sprints Use Case * * Business logic for retrieving JIRA sprints with filtering capabilities */ import { JiraApiError } from "@features/jira/client/errors"; import type { Sprint, SprintState } from "../models"; import type { SprintRepository } from "../repositories/sprint.repository"; /** * Request parameters for get sprints use case */ export interface GetSprintsUseCaseRequest { boardId: number; state?: SprintState; startAt?: number; maxResults?: number; } /** * Interface for get sprints use case */ export interface GetSprintsUseCase { /** * Execute the get sprints use case * * @param request - Sprints retrieval parameters * @returns List of JIRA sprints matching the criteria */ execute(request: GetSprintsUseCaseRequest): Promise<Sprint[]>; } /** * Implementation of the get sprints use case */ export class GetSprintsUseCaseImpl implements GetSprintsUseCase { /** * Create a new GetSprintsUseCase implementation * * @param sprintRepository - Repository for sprint operations */ constructor(private readonly sprintRepository: SprintRepository) {} /** * Execute the get sprints use case * * @param request - Sprints retrieval parameters * @returns List of JIRA sprints matching the criteria */ public async execute(request: GetSprintsUseCaseRequest): Promise<Sprint[]> { try { // Get sprints using repository with provided parameters return await this.sprintRepository.getSprints(request.boardId, { state: request.state, startAt: request.startAt, maxResults: request.maxResults, boardId: request.boardId, }); } catch (error) { if (error instanceof Error) { throw JiraApiError.withStatusCode( `Failed to get sprints: ${error.message}`, 400, ); } throw error; } } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dsazz/mcp-jira'

If you have feedback or need assistance with the MCP directory API, please join our Discord server