Skip to main content
Glama

list_merge_request_notes

Retrieve comments and discussions from a specific merge request in GitLab to review feedback, track changes, and monitor collaboration on code changes.

Instructions

列出 Merge Request 的留言

Args: project_id: 專案 ID 或路徑 mr_iid: MR 的 IID page: 頁碼 per_page: 每頁筆數

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes
mr_iidYes
pageNo
per_pageNo

Implementation Reference

  • The handler function in `server.py` that registers the `list_merge_request_notes` tool and calls the client implementation.
    def list_merge_request_notes(project_id: int | str, mr_iid: int,
                                 page: int = 1, per_page: int = 20) -> str:
        """列出 Merge Request 的留言
    
        Args:
            project_id: 專案 ID 或路徑
            mr_iid: MR 的 IID
            page: 頁碼
            per_page: 每頁筆數
        """
        try:
            client = get_client()
            notes = client.list_merge_request_notes(project_id, mr_iid, page=page, per_page=per_page)
    
            if not notes:
                return "此 MR 沒有留言"
    
            lines = [f"MR !{mr_iid} 的留言(共 {len(notes)} 則):\n"]
            for n in notes:
                system_tag = " [系統]" if n.get("system") else ""
                lines.append(
                    f"📝 #{n['id']}{system_tag}"
                    f"\n  作者: {n.get('author', {}).get('name', 'N/A')}"
                    f"\n  時間: {n.get('created_at', 'N/A')}"
                    f"\n  內容: {n.get('body', '')}\n"
                )
            return "\n".join(lines)
        except GitLabAPIError as e:
            return f"列出 MR 留言失敗: {str(e)}"
  • The underlying GitLab client method that performs the actual API request.
    def list_merge_request_notes(
        self,
        project_id: int | str,
        mr_iid: int,
        sort: str = "asc",
        page: int = 1,
        per_page: int = 20,
    ) -> list[dict]:
        """GET /projects/:id/merge_requests/:iid/notes"""
        pid = self._resolve_project_id(project_id)
        params = {"sort": sort, "page": page, "per_page": per_page}
        return self._get_json(
            f"/projects/{pid}/merge_requests/{mr_iid}/notes", params=params
        )

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/snowild/gitlab-mcp'

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