UNPKG

@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

61 lines (60 loc) 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listPulls = listPulls; exports.getPull = getPull; exports.createPull = createPull; exports.updatePull = updatePull; exports.mergePull = mergePull; exports.listPullComments = listPullComments; exports.createPullComment = createPullComment; async function listPulls(client, repo, params) { const url = new URL(`/${repo}/-/pulls`, client.baseUrl); if (params) { for (const [key, value] of Object.entries(params)) { if (value === undefined) continue; url.searchParams.set(key, value.toString()); } } return client.request('GET', `${url.pathname}${url.search}`); } async function getPull(client, repo, number) { return client.request('GET', `/${repo}/-/pulls/${number}`); } async function createPull(client, repo, params) { return client.request('POST', `/${repo}/-/pulls`, params, { header: { 'Content-Type': 'application/json' } }); } async function updatePull(client, repo, number, params) { return client.request('PATCH', `/${repo}/-/pulls/${number}`, params, { header: { 'Content-Type': 'application/json' } }); } async function mergePull(client, repo, number, params) { return client.request('PUT', `/${repo}/-/pulls/${number}/merge`, params, { header: { 'Content-Type': 'application/json' } }); } async function listPullComments(client, repo, number, params) { const url = new URL(`/${repo}/-/pulls/${number}/comments`, client.baseUrl); if (params) { for (const [key, value] of Object.entries(params)) { if (value === undefined) continue; url.searchParams.set(key, value.toString()); } } return client.request('GET', `${url.pathname}${url.search}`); } async function createPullComment(client, repo, number, params) { const response = await client.request('POST', `/${repo}/-/pulls/${number}/comments`, params, { header: { 'Content-Type': 'application/json' } }, 'raw'); if (response.status === 201) { return { message: 'Created' }; } else { return { status: response.status, message: response.statusText }; } }