name: gitlab-merge-rules description: "Manages GitLab merge approval rules. Use for approvals, rules at project/group levels. Triggers: code reviews, approvals."
Overview
Handles approval configurations.
Available Tools
get_project_level_merge_request_approval_rules: Retrieve project-level merge request approval rules for a GitLab project details of a specific project-level merge request approval rule.- Parameters:
project_id(str): Optional. - Project ID or pathapproval_rule_id(int): Optional. - Approval rule ID
- Parameters:
create_project_level_rule: Create a new project-level merge request approval rule.- Parameters:
project_id(str): Optional. - Project ID or pathname(str): Optional. - Name of the approval ruleapprovals_required(Optional[int]): Optional. - Number of approvals requiredrule_type(Optional[str]): Optional. - Type of rule (e.g., 'regular')user_ids(Optional[List[int]]): Optional. - List of user IDs required to approvegroup_ids(Optional[List[int]]): Optional. - List of group IDs required to approvectx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
update_project_level_rule: Update an existing project-level merge request approval rule.- Parameters:
project_id(str): Optional. - Project ID or pathapproval_rule_id(int): Optional. - Approval rule IDname(Optional[str]): Optional. - New name for the approval ruleapprovals_required(Optional[int]): Optional. - New number of approvals requireduser_ids(Optional[List[int]]): Optional. - Updated list of user IDs required to approvegroup_ids(Optional[List[int]]): Optional. - Updated list of group IDs required to approvectx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
delete_project_level_rule: Delete a project-level merge request approval rule.- Parameters:
project_id(str): Optional. - Project ID or pathapproval_rule_id(int): Optional. - Approval rule IDctx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
merge_request_level_approvals: Retrieve approvals for a specific merge request in a GitLab project.- Parameters:
project_id(str): Optional. - Project ID or pathmerge_request_iid(int): Optional. - Merge request IID
- Parameters:
get_approval_state_merge_requests: Retrieve the approval state of a specific merge request in a GitLab project.- Parameters:
project_id(str): Optional. - Project ID or pathmerge_request_iid(int): Optional. - Merge request IID
- Parameters:
get_merge_request_level_rules: Retrieve merge request-level approval rules for a specific merge request in a GitLab project.- Parameters:
project_id(str): Optional. - Project ID or pathmerge_request_iid(int): Optional. - Merge request IID
- Parameters:
approve_merge_request: Approve a specific merge request in a GitLab project.- Parameters:
project_id(str): Optional. - Project ID or pathmerge_request_iid(int): Optional. - Merge request IIDctx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
unapprove_merge_request: Unapprove a specific merge request in a GitLab project.- Parameters:
project_id(str): Optional. - Project ID or pathmerge_request_iid(int): Optional. - Merge request IIDctx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
get_group_level_rule: Retrieve merge request approval settings for a specific GitLab group.- Parameters:
group_id(str): Optional. - Group ID or path
- Parameters:
edit_group_level_rule: Edit merge request approval settings for a specific GitLab group.- Parameters:
group_id(str): Optional. - Group ID or pathallow_author_approval(Optional[bool]): Optional. - Whether authors can approve their own merge requestsallow_committer_approval(Optional[bool]): Optional. - Whether committers can approve merge requestsallow_overrides_to_approver_list(Optional[bool]): Optional. - Whether overrides to the approver list are allowedminimum_approvals(Optional[int]): Optional. - Minimum number of approvals requiredctx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
get_project_level_rule: Retrieve merge request approval settings for a specific GitLab project.- Parameters:
project_id(str): Optional. - Project ID or path
- Parameters:
edit_project_level_rule: Edit merge request approval settings for a specific GitLab project.- Parameters:
project_id(str): Optional. - Project ID or pathallow_author_approval(Optional[bool]): Optional. - Whether authors can approve their own merge requestsallow_committer_approval(Optional[bool]): Optional. - Whether committers can approve merge requestsallow_overrides_to_approver_list(Optional[bool]): Optional. - Whether overrides to the approver list are allowedminimum_approvals(Optional[int]): Optional. - Minimum number of approvals requiredctx(Optional[Context]): Optional. - MCP context for progress
- Parameters:
Usage Instructions
- Use approvals_required, user/group IDs.
Examples
- Create rule:
create_project_level_rulewith project_id="123", name="review", approvals_required=2. - Approve MR:
approve_merge_requestwith project_id="123", merge_request_iid=1.
Error Handling
- Insufficient approvals: Check state.