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