Claude-skill-registry gitlab-environments

Manages GitLab environments. Use for creating, updating, deleting, or protecting deployment environments. Triggers: CI/CD environments, deployments.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gitlab-environments" ~/.claude/skills/majiayu000-claude-skill-registry-gitlab-environments && rm -rf "$T"
manifest: skills/data/gitlab-environments/SKILL.md
source content

Overview

Covers environment lifecycle and protection.

Available Tools

  • get_environments
    : Retrieve a list of environments for a GitLab project, optionally filtered by name, search, or states or a single environment by id.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • environment_id
        (Optional[int]): Optional. - Environment ID
      • name
        (Optional[str]): Optional. - Filter environments by exact name
      • search
        (Optional[str]): Optional. - Filter environments by search term in name
      • states
        (Optional[str]): Optional. - Filter environments by state (e.g., 'available', 'stopped')
  • create_environment
    : Create a new environment in a GitLab project with a specified name and optional external URL.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • name
        (str): Optional. - Name of the environment
      • external_url
        (Optional[str]): Optional. - External URL for the environment
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • update_environment
    : Update an existing environment in a GitLab project with new name or external URL.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • environment_id
        (int): Optional. - Environment ID
      • name
        (Optional[str]): Optional. - New name for the environment
      • external_url
        (Optional[str]): Optional. - New external URL for the environment
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • delete_environment
    : Delete a specific environment in a GitLab project.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • environment_id
        (int): Optional. - Environment ID
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • stop_environment
    : Stop a specific environment in a GitLab project.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • environment_id
        (int): Optional. - Environment ID
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • stop_stale_environments
    : Stop stale environments in a GitLab project, optionally filtered by older_than timestamp.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • older_than
        (Optional[str]): Optional. - Filter environments older than this timestamp (ISO 8601 format)
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • delete_stopped_environments
    : Delete stopped review app environments in a GitLab project.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • get_protected_environments
    : Retrieve protected environments in a GitLab project (list or single by name).
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • name
        (str): Optional. - Name of the protected environment
  • protect_environment
    : Protect an environment in a GitLab project with optional approval count.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • name
        (str): Optional. - Name of the environment to protect
      • required_approval_count
        (Optional[int]): Optional. - Number of approvals required for deployment
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • update_protected_environment
    : Update a protected environment in a GitLab project with new approval count.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • name
        (str): Optional. - Name of the protected environment
      • required_approval_count
        (Optional[int]): Optional. - New number of approvals required for deployment
      • ctx
        (Optional[Context]): Optional. - MCP context for progress
  • unprotect_environment
    : Unprotect a specific environment in a GitLab project.
    • Parameters:
      • project_id
        (str): Optional. - Project ID or path
      • name
        (str): Optional. - Name of the environment to unprotect
      • ctx
        (Optional[Context]): Optional. - MCP context for progress

Usage Instructions

  1. Use name and external_url for creation.
  2. Protection: Set required_approval_count.

Examples

  • Create:
    create_environment
    with project_id="123", name="prod", external_url="https://prod.example.com".
  • Protect:
    protect_environment
    with project_id="123", name="prod", required_approval_count=2.

Error Handling

  • State conflicts: Check status before ops.