Skip to main content
Glama

Backlog MCP Server

addProject.test.ts2.08 kB
import { addProjectTool } from './addProject.js'; import { jest, describe, it, expect } from '@jest/globals'; import type { Backlog } from 'backlog-js'; import { createTranslationHelper } from '../createTranslationHelper.js'; describe('addProjectTool', () => { const mockBacklog: Partial<Backlog> = { postProject: jest.fn<() => Promise<any>>().mockResolvedValue({ id: 1, projectKey: 'TEST', name: 'Test Project', chartEnabled: true, subtaskingEnabled: true, projectLeaderCanEditProjectLeader: false, textFormattingRule: 'backlog', archived: false, displayOrder: 0, }), }; const mockTranslationHelper = createTranslationHelper(); const tool = addProjectTool(mockBacklog as Backlog, mockTranslationHelper); it('returns created project as formatted JSON text', async () => { const result = await tool.handler({ name: 'Test Project', key: 'TEST', chartEnabled: true, subtaskingEnabled: true, }); if (Array.isArray(result)) { throw new Error('Unexpected array result'); } expect(result.name).toEqual('Test Project'); expect(result.projectKey).toEqual('TEST'); }); it('calls backlog.postProject with correct params', async () => { await tool.handler({ name: 'Test Project', key: 'TEST', chartEnabled: true, subtaskingEnabled: true, }); expect(mockBacklog.postProject).toHaveBeenCalledWith({ name: 'Test Project', key: 'TEST', chartEnabled: true, subtaskingEnabled: true, projectLeaderCanEditProjectLeader: false, textFormattingRule: 'backlog', }); }); it('uses default values for optional parameters', async () => { await tool.handler({ name: 'Test Project', key: 'TEST', }); expect(mockBacklog.postProject).toHaveBeenCalledWith({ name: 'Test Project', key: 'TEST', chartEnabled: false, subtaskingEnabled: false, projectLeaderCanEditProjectLeader: false, textFormattingRule: 'backlog', }); }); });

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/nulab/backlog-mcp-server'

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