Action domain

branch

Every action this domain exposes through gitlab_execute_action, from the gitlab://tools manifest. Each entry folds out to its full upstream description and required parameters.

11 · actions3 · destructive5 · read-only

Counted with a Free-tier GitLab token. The catalog is scoped to the token that asks, so the count moves with both its tier and its permissions: higher tiers expose more actions, and administration domains only appear to tokens allowed to use them.

Back to the server card

  1. branch.createBranch Create

    Create a branch from a source ref (branch, tag, or commit SHA). Returns: the created branch with its head commit object, protection and default flags, and web URL. See also: branch.list, merge_request.create, repository.compare.

    Required parameters: branch_name (string), project_id (string), ref (string)

  2. branch.deleteBranch Deletedestructive

    Delete a single branch by name. Returns: a success confirmation. Fails for protected or default branches. See also: branch.list, branch.unprotect.

    Required parameters: branch_name (string), project_id (string)

  3. branch.delete_mergedBranch Delete Mergeddestructive

    Delete all branches merged into the default branch. Returns: a success confirmation. Protected and default branches are skipped. See also: branch.list, merge_request.list.

    Required parameters: project_id (string)

  4. branch.getBranch Getread-only

    Get a single branch by name. Returns: the branch with protection, default, and merged flags, push/merge permissions, the head commit object, and web URL. See also: branch.list, branch.protect, branch.unprotect.

    Required parameters: branch_name (string), project_id (string)

  5. branch.get_protectedProtected Branch Getread-only

    Get a single protected branch or wildcard rule by name. Returns: the rule with push, merge, and unprotect access-level arrays, allow-force-push, and CODEOWNERS-approval flags. See also: branch.list_protected, branch.update_protected, branch.unprotect.

    Required parameters: branch_name (string), project_id (string)

  6. branch.listBranch Listread-only

    List repository branches in one project with optional search/regex filtering, ordering, and offset or keyset pagination. Returns: matching branches with protection, default, merged flags, the head commit object, and pagination metadata. See also: branch.get, branch.create, repository.compare.

    Required parameters: project_id (string)

  7. branch.list_protectedProtected Branches Listread-only

    List protected branches and wildcard rules for a project with optional search, ordering, and offset or keyset pagination. Returns: protected rules with push/merge/unprotect access-level arrays and pagination metadata. See also: branch.get_protected, branch.protect, branch.update_protected.

    Required parameters: project_id (string)

  8. branch.protectBranch Protect

    Protect a branch or wildcard with push/merge/unprotect access levels and optional fine-grained allowed_to_push/merge/unprotect entries. Returns: the protected rule with its access-level arrays. Idempotent: returns the existing rule when the branch is already protected. See also: branch.unprotect, branch.get_protected, branch.update_protected.

    Required parameters: branch_name (string), project_id (string)

  9. branch.rule_listList Branch Rulesread-only

    List a project's aggregated branch protection rules by full project path. Returns: each branch rule with its matched pattern, default and protected flags, matching branch count, branch protection settings (allow force push, code-owner approval required), approval rules, external status checks, and keyset pagination metadata. See also: branch.list_protected, branch.get_protected, project.get.

    Required parameters: project_path (string)

  10. branch.unprotectBranch Unprotectdestructive

    Remove protection from a branch (idempotent). Returns: a status and message confirming protection removed or already absent. See also: branch.protect, branch.get_protected, branch.delete.

    Required parameters: branch_name (string), project_id (string)

  11. branch.update_protectedProtected Branch Update

    Update an existing protected branch rule: allow-force-push, CODEOWNERS approval, rename, or fine-grained allowed_to_push/merge/unprotect entries. Returns: the updated rule with its access-level arrays. See also: branch.get_protected, branch.list_protected, branch.protect.

    Required parameters: branch_name (string), project_id (string)