@cnbcool/mcp-server
Version:
CNB MCP Server. A comprehensive MCP server that provides seamless integration to the CNB's API(https://cnb.cool), offering a wide range of tools for repository management, pipelines operations and collaboration features
28 lines (27 loc) • 1.03 kB
JavaScript
import CnbApiClient from './client.js';
export async function listIssues(repo, params) {
const cnbInst = CnbApiClient.getInstance();
const url = new URL(`/${repo}/-/issues`, cnbInst.baseUrl);
if (params) {
for (const [key, value] of Object.entries(params)) {
if (value === undefined)
continue;
url.searchParams.set(key, value.toString());
}
}
return cnbInst.request('GET', `${url.pathname}${url.search}`);
}
export async function getIssue(repo, issueId) {
return CnbApiClient.getInstance().request('GET', `/${repo}/-/issues/${issueId}`);
}
export async function createIssue(repo, params) {
const newParams = Object.entries(params).reduce((acc, [key, value]) => {
if (value === undefined)
return acc;
Object.assign(acc, { [key]: value });
return acc;
}, {});
return CnbApiClient.getInstance().request('POST', `/${repo}/-/issues`, newParams, {
header: { 'Content-Type': 'application/json' }
});
}