Skip to main content
Glama
aliyun

AlibabaCloud DevOps MCP Server

Official
by aliyun

list_commits

Retrieve commit history from an Alibaba Cloud Codeup repository to track code changes, filter by date, author, or file path, and monitor development progress.

Instructions

[Code Management] List commits in a Codeup repository

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
organizationIdYes组织ID
repositoryIdYes代码库ID或者URL-Encoder编码的全路径
refNameYes分支名称、标签名称或提交版本,默认为代码库默认分支
sinceNo提交起始时间,格式:YYYY-MM-DDTHH:MM:SSZ
untilNo提交截止时间,格式:YYYY-MM-DDTHH:MM:SSZ
pageNo页码
perPageNo每页大小
pathNo文件路径
searchNo搜索关键字
showSignatureNo是否展示签名
committerIdsNo提交人ID列表(多个ID以逗号隔开)

Implementation Reference

  • Handler logic for the 'list_commits' tool: parses input parameters using the schema, calls the listCommits function, and formats the response as JSON text.
    case 'list_commits': const listCommitsParams = ListCommitsRequestSchema.parse(request.params.arguments); const listCommitsResult = await listCommits(listCommitsParams); return { content: [{ type: "text", text: JSON.stringify(listCommitsResult, null, 2) }], };
  • Registration of the 'list_commits' tool, including name, description, and input schema.
    name: 'list_commits', description: '[Code Management] List commits in a Codeup repository', inputSchema: zodToJsonSchema(ListCommitsRequestSchema), },
  • Zod schema definition for ListCommitsRequestSchema used for input validation.
    export const ListCommitsRequestSchema = z.object({ organizationId: z.string().describe("组织ID"), repositoryId: z.string().describe("代码库ID或者URL-Encoder编码的全路径"), refName: z.string().describe("分支名称、标签名称或提交版本,默认为代码库默认分支"), since: z.string().optional().describe("提交起始时间,格式:YYYY-MM-DDTHH:MM:SSZ"), until: z.string().optional().describe("提交截止时间,格式:YYYY-MM-DDTHH:MM:SSZ"), page: z.number().int().optional().describe("页码"), perPage: z.number().int().optional().describe("每页大小"), path: z.string().optional().describe("文件路径"), search: z.string().optional().describe("搜索关键字"), showSignature: z.boolean().optional().describe("是否展示签名"), committerIds: z.string().optional().describe("提交人ID列表(多个ID以逗号隔开)"), });
  • Core implementation of listCommits: builds API URL with query params, makes GET request to Codeup API, parses and returns list of commits.
    export async function listCommits(params: z.infer<typeof ListCommitsRequestSchema>) { const { organizationId, repositoryId, refName, since, until, page, perPage, path, search, showSignature, committerIds } = params; const encodedRepoId = handleRepositoryIdEncoding(repositoryId); const baseUrl = `/oapi/v1/codeup/organizations/${organizationId}/repositories/${encodedRepoId}/commits`; const queryParams: Record<string, string | number | undefined> = { refName: refName }; if (since !== undefined) { queryParams.since = since; } if (until !== undefined) { queryParams.until = until; } if (page !== undefined) { queryParams.page = page; } if (perPage !== undefined) { queryParams.perPage = perPage; } if (path !== undefined) { queryParams.path = path; } if (search !== undefined) { queryParams.search = search; } if (showSignature !== undefined) { queryParams.showSignature = String(showSignature); } if (committerIds !== undefined) { queryParams.committerIds = committerIds; } const url = buildUrl(baseUrl, queryParams); const response: any = await yunxiaoRequest(url, { method: "GET", }); if (!Array.isArray(response)) { return []; } return response.map(commit => DevopsCommitVOSchemaType.parse(commit)); }

Latest Blog Posts

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/aliyun/alibabacloud-devops-mcp-server'

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