# project — gitlab

> 123 acciones
> Esta página en markdown. Índice: https://mcp.jmrp.io/llms.txt

Canonical: https://mcp.jmrp.io/es/servers/gitlab/actions/project/
Language: es
Alternate: https://mcp.jmrp.io/servers/gitlab/actions/project/index.md
Updated: 2026-09-11T09:56:41+02:00
License: https://mcp.jmrp.io/es/license/

Contado con un token Free contra gitlab.com, que es el único host con el que habla este endpoint: para usarlo contra una instancia self-managed, levanta tú el servidor — su documentación lo cubre. El catálogo depende del token que pregunta, así que el recuento se mueve con su tier y con sus permisos: los tiers superiores exponen más acciones, y los dominios de administración solo aparecen a tokens autorizados a usarlos. Por eso las cifras difieren en otros sitios: el proyecto upstream cataloga 1.006 acciones en 162 dominios, y 851 en la superficie Free/CE, mientras que este despliegue publica 747 porque es solo-OAuth y actúa con tu token, así que los dominios de administración que una cuenta sin admin no puede llamar no aparecen nunca. Las tres describen el mismo catálogo, contado desde tres sitios distintos.

## Acciones

### `project.archive` — Project Archive

Archive a project, making it read-only in GitLab. Returns: the project with archived set to true. See also: project.unarchive, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.badge_add` — Add Project Badge

Add a badge to a project. Returns: the created badge with id, name, link_url, image_url, rendered_link_url, rendered_image_url, and kind. See also: project.badge_list, project.badge_get.

**Parámetros obligatorios:** `image_url (string)`, `link_url (string)`, `project_id (string)`

### `project.badge_delete` — Delete Project Badge

_destructiva_

Delete a project badge by badge_id. Returns: a success confirmation. See also: project.badge_list, project.badge_get.

**Parámetros obligatorios:** `badge_id (integer)`, `project_id (string)`

### `project.badge_edit` — Edit Project Badge

Edit a project badge's name, link_url, or image_url. Returns: the updated badge with id, name, link_url, image_url, rendered_link_url, rendered_image_url, and kind. See also: project.badge_list, project.badge_get.

**Parámetros obligatorios:** `badge_id (integer)`, `project_id (string)`

### `project.badge_get` — Get Project Badge

_solo lectura_

Get a single project badge by badge_id. Returns: the badge with id, name, link_url, image_url, rendered_link_url, rendered_image_url, and kind. See also: project.badge_list, project.badge_edit.

**Parámetros obligatorios:** `badge_id (integer)`, `project_id (string)`

### `project.badge_list` — List Project Badges

_solo lectura_

List badges for a project, including inherited group badges. Returns: badges (id, name, link_url, image_url, rendered_link_url, rendered_image_url, and kind) plus pagination metadata. See also: project.badge_get, project.badge_add.

**Parámetros obligatorios:** `project_id (string)`

### `project.badge_preview` — Preview Project Badge

_solo lectura_

Preview how a project badge's link_url and image_url resolve after placeholder interpolation, without persisting it. Returns: the rendered badge with id, name, link_url, image_url, rendered_link_url, rendered_image_url, and kind. See also: project.badge_add, project.badge_list.

**Parámetros obligatorios:** `image_url (string)`, `link_url (string)`, `project_id (string)`

### `project.board_create` — Board Create

Create a new issue board in a project. Returns: the created board with its project, scope, and lists. See also: project.board_get, project.board_update, project.board_list.

**Parámetros obligatorios:** `name (string)`, `project_id (string)`

### `project.board_delete` — Board Delete

_destructiva_

Delete an issue board permanently. Returns: a success confirmation naming the board and project. See also: project.board_get, project.board_list.

**Parámetros obligatorios:** `board_id (integer)`, `project_id (string)`

### `project.board_get` — Board Get

_solo lectura_

Get a single issue board by board_id. Returns: the board with its project, milestone, assignee, scope labels, and ordered lists. See also: project.board_list, project.board_update, project.board_delete.

**Parámetros obligatorios:** `board_id (integer)`, `project_id (string)`

### `project.board_list` — Board List

_solo lectura_

List a project's issue boards with pagination. Returns: each board with its project, milestone, assignee, scope labels, and lists. See also: project.board_get, project.board_create, project.board_list_list.

**Parámetros obligatorios:** `project_id (string)`

### `project.board_list_create` — Board List Create

Create a board list (column) scoped to a label, assignee, milestone, or iteration. Returns: the created list with its scope, position, and issue limits. See also: project.board_list_get, project.board_list_update, project.board_list_list.

**Parámetros obligatorios:** `board_id (integer)`, `project_id (string)`

### `project.board_list_delete` — Board List Delete

_destructiva_

Delete a board list (column) permanently. Returns: a success confirmation naming the list. See also: project.board_list_get, project.board_list_list.

**Parámetros obligatorios:** `board_id (integer)`, `list_id (integer)`, `project_id (string)`

### `project.board_list_get` — Board List Get

_solo lectura_

Get a single board list by list_id. Returns: the list with its label, assignee, milestone, iteration, position, and issue limits. See also: project.board_list_list, project.board_list_update, project.board_list_delete.

**Parámetros obligatorios:** `board_id (integer)`, `list_id (integer)`, `project_id (string)`

### `project.board_list_list` — Board List Lists

_solo lectura_

List the lists (columns) in an issue board with pagination. Returns: each list with its label, assignee, milestone, iteration, position, and issue limits. See also: project.board_list_get, project.board_list_create, project.board_get.

**Parámetros obligatorios:** `board_id (integer)`, `project_id (string)`

### `project.board_list_update` — Board List Update

Reorder a board list to a new position. Returns: the updated list with its scope, position, and issue limits. See also: project.board_list_get, project.board_list_list, project.board_list_delete.

**Parámetros obligatorios:** `board_id (integer)`, `list_id (integer)`, `position (integer)`, `project_id (string)`

### `project.board_update` — Board Update

Update an issue board's name, scope (assignee, milestone, labels, weight), or list visibility. Returns: the updated board with its project, scope, and lists. See also: project.board_get, project.board_delete, project.board_list.

**Parámetros obligatorios:** `board_id (integer)`, `project_id (string)`

### `project.create` — Project Create

Create a new GitLab project. Returns: the created project with id, path_with_namespace, default_branch, visibility, and web URL. See also: project.get, project.update, project.create_for_user.

**Parámetros obligatorios:** `name (string)`

### `project.create_for_user` — Project Create For User

Create a project on behalf of a user (admin). Returns: the created project with id, owner namespace, visibility, and web URL. See also: project.create, project.get.

**Parámetros obligatorios:** `name (string)`, `user_id (integer)`

### `project.create_fork_relation` — Project Create Fork Relation

Create a fork relationship to an upstream project. Returns: the downstream project as GitLab answers with it, including forked_from_project. See also: project.delete_fork_relation, project.fork.

**Parámetros obligatorios:** `forked_from_id (integer)`, `project_id (string)`

### `project.delete` — Project Delete

_destructiva_

Delete a project. Returns: a deletion status. On instances with delayed deletion the project is marked for deletion. See also: project.restore, project.archive.

**Parámetros obligatorios:** `project_id (string)`

### `project.delete_fork_relation` — Project Delete Fork Relation

_destructiva_

Remove a project's fork relationship. Returns: a success confirmation naming the project. See also: project.create_fork_relation, project.fork.

**Parámetros obligatorios:** `project_id (string)`

### `project.delete_shared_group` — Project Delete Shared Group

_destructiva_

Remove a group share from a project. Returns: a success confirmation naming the group and project. See also: project.share_with_group, project.list_invited_groups.

**Parámetros obligatorios:** `group_id (integer)`, `project_id (string)`

### `project.download_avatar` — Project Download Avatar

_solo lectura_

Download a project's avatar. Returns: the avatar image content. See also: project.upload_avatar, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.export_download` — Download Project Export

_solo lectura_

Download a finished project export archive as base64. Returns: base64 archive content and size in bytes. See also: project.export_status, project.import_from_file.

**Parámetros obligatorios:** `project_id (string)`

### `project.export_schedule` — Schedule Project Export

Schedule an asynchronous project export. Returns: a confirmation message. See also: project.export_status, project.export_download.

**Parámetros obligatorios:** `project_id (string)`

### `project.export_status` — Get Project Export Status

_solo lectura_

Get the export status of a project. Returns: export id, name, path, status, message, and download links. See also: project.export_schedule, project.export_download.

**Parámetros obligatorios:** `project_id (string)`

### `project.fork` — Project Fork

Fork a project. Returns: the new fork with id, path_with_namespace, forked_from_project, and web URL. See also: project.list_forks, project.create_fork_relation.

**Parámetros obligatorios:** `project_id (string)`

### `project.get` — Project Get

_solo lectura_

Get a single project by ID or namespace path. Returns: project metadata including id, path_with_namespace, default_branch, visibility, and web URL. See also: project.update, project.archive, project.delete.

**Parámetros obligatorios:** `project_id (string)`

### `project.hook_add` — Project Hook Add

Add a webhook to a project. Returns: the created webhook with id, URL, and enabled events. See also: project.hook_list, project.hook_test.

**Parámetros obligatorios:** `project_id (string)`, `url (string)`

### `project.hook_delete` — Project Hook Delete

_destructiva_

Delete a project webhook. Returns: a success confirmation naming the webhook and project. See also: project.hook_list, project.hook_add.

**Parámetros obligatorios:** `hook_id (integer)`, `project_id (string)`

### `project.hook_delete_custom_header` — Project Hook Delete Custom Header

_destructiva_

Delete a custom header from a project webhook. Returns: a success confirmation naming the header and webhook. See also: project.hook_set_custom_header, project.hook_get.

**Parámetros obligatorios:** `hook_id (integer)`, `key (string)`, `project_id (string)`

### `project.hook_delete_url_variable` — Project Hook Delete URL Variable

_destructiva_

Delete a URL variable from a project webhook. Returns: a success confirmation naming the variable and webhook. See also: project.hook_set_url_variable, project.hook_get.

**Parámetros obligatorios:** `hook_id (integer)`, `key (string)`, `project_id (string)`

### `project.hook_edit` — Project Hook Edit

Edit a project webhook. Returns: the updated webhook with URL and enabled events. See also: project.hook_get, project.hook_test.

**Parámetros obligatorios:** `hook_id (integer)`, `project_id (string)`

### `project.hook_get` — Project Hook Get

_solo lectura_

Get a single project webhook. Returns: the webhook with URL, enabled events, and SSL settings. See also: project.hook_list, project.hook_edit.

**Parámetros obligatorios:** `hook_id (integer)`, `project_id (string)`

### `project.hook_list` — Project Hook List

_solo lectura_

List a project's webhooks. Returns: webhooks with URL, enabled events, and SSL settings, plus pagination metadata. See also: project.hook_get, project.hook_add.

**Parámetros obligatorios:** `project_id (string)`

### `project.hook_set_custom_header` — Project Hook Set Custom Header

Set a custom header on a project webhook. Returns: a success confirmation naming the header and webhook. See also: project.hook_delete_custom_header, project.hook_get.

**Parámetros obligatorios:** `hook_id (integer)`, `key (string)`, `project_id (string)`, `value (string)`

### `project.hook_set_url_variable` — Project Hook Set URL Variable

Set a URL variable on a project webhook. Returns: a success confirmation naming the variable and webhook. See also: project.hook_delete_url_variable, project.hook_get.

**Parámetros obligatorios:** `hook_id (integer)`, `key (string)`, `project_id (string)`, `value (string)`

### `project.hook_test` — Project Hook Test

Trigger a test event for a project webhook. Returns: a confirmation that the test event was fired. See also: project.hook_get, project.hook_edit.

**Parámetros obligatorios:** `event (string)`, `hook_id (integer)`, `project_id (string)`

### `project.import_from_file` — Import Project From File

Import a project from an export archive. Returns: the new project's import status, type, correlation id, and any import error. See also: project.import_status, project.export_download.

### `project.import_status` — Get Project Import Status

_solo lectura_

Get the import status of a project. Returns: import id, name, path, status, type, correlation id, and import error. See also: project.import_from_file.

**Parámetros obligatorios:** `project_id (string)`

### `project.integration_delete` — Delete Integration

_destructiva_

Delete (disable) a project integration by slug. Supports the same slugs as get, plus 'slack-application' for disabling the GitLab for Slack app.

Returns: confirmation message.

See also: project.integration_list, project.integration_get.

**Parámetros obligatorios:** `project_id (string)`, `slug (string)`

### `project.integration_delete_group` — Delete Group Integration

_destructiva_

Delete (disable) a group integration by slug. Requires Owner role on the group.

Returns: confirmation message.

See also: project.integration_list_group, project.integration_get_group, project.integration_set_group.

**Parámetros obligatorios:** `group_id (string)`, `slug (string)`

### `project.integration_delete_group_datadog` — Delete Group Datadog Integration

_destructiva_

Remove the Datadog integration from a group. The stored api_key is cleared. Deletion is irreversible. Requires Owner role and GitLab Premium/Ultimate (self-managed EE or GitLab.com).

Returns: confirmation message.

See also: project.integration_get_group_datadog, project.integration_set_group_datadog.

**Parámetros obligatorios:** `group_id (string)`

### `project.integration_get` — Get Integration

_solo lectura_

Get details of a specific project integration by slug (e.g. jira, slack, discord, mattermost, microsoft-teams, telegram, datadog, jenkins, emails-on-push, pipelines-email, external-wiki, custom-issue-tracker, drone-ci, github, harbor, matrix, redmine, youtrack, slack-slash-commands, mattermost-slash-commands).

Returns: JSON with integration details.

See also: project.integration_list, project.integration_delete.

**Parámetros obligatorios:** `project_id (string)`, `slug (string)`

### `project.integration_get_group` — Get Group Integration

_solo lectura_

Get details of a specific group integration by slug. Requires Owner role on the group.

Returns: JSON with the group integration details.

See also: project.integration_list_group, project.integration_set_group, project.integration_delete_group.

**Parámetros obligatorios:** `group_id (string)`, `slug (string)`

### `project.integration_get_group_datadog` — Get Group Datadog Integration

_solo lectura_

Read the Datadog integration configured on a group. Requires Owner role and GitLab Premium/Ultimate (self-managed EE or GitLab.com). The api_key is never returned.

Returns: JSON with the group's Datadog integration details. The canonical configuration is the nested properties object (api_url, datadog_env, datadog_service, datadog_site, datadog_tags, datadog_ci_visibility, archive_trace_events). The flat top-level copies of those fields are deprecated and will be removed. Prefer properties.*.

See also: project.integration_set_group_datadog, project.integration_delete_group_datadog.

**Parámetros obligatorios:** `group_id (string)`

### `project.integration_list` — List Integrations

_solo lectura_

List all integrations (services) configured for a project, including their active status.

Returns: JSON array of integration items with id, title, slug, and active flag.

See also: project.integration_get, project.integration_set_jira, project.integration_delete.

**Parámetros obligatorios:** `project_id (string)`

### `project.integration_list_group` — List Group Integrations

_solo lectura_

List all active integrations configured on a group. Requires Owner role (some integrations require GitLab Premium/Ultimate).

Returns: JSON array of group integration items with id, title, slug, and active flag.

See also: project.integration_get_group, project.integration_set_group, project.integration_delete_group.

**Parámetros obligatorios:** `group_id (string)`

### `project.integration_set` — Set Integration

Configure (create or update) any project integration by slug, passing the integration's documented parameters in a free-form `config` object. Use this generic action for integrations without a dedicated tool (e.g. slack, harbor, jenkins, google-play, apple-app-store, prometheus, microsoft-teams, mattermost, discord).

Common slugs: slack, jira, discord, mattermost, microsoft-teams, telegram, datadog, jenkins, harbor, drone-ci, github, emails-on-push, pipelines-email, external-wiki, custom-issue-tracker, matrix, redmine, youtrack, slack-slash-commands, mattermost-slash-commands, google-play, apple-app-store, prometheus, bamboo, buildkite, campfire, confluence, packagist, pivotaltracker, pumble, pushover, teamcity, unify-circuit, webex-teams, zentao, gitlab-slack-application.

The `config` object is sent verbatim as the request body. See doc/api/integrations.md for the exact fields each integration accepts (for example slack expects `webhook`. Harbor expects `url`, `project_name`, `username`, `password`).

Returns: JSON with the resulting integration details.

See also: project.integration_get, project.integration_list, project.integration_delete, project.integration_set_jira.

**Parámetros obligatorios:** `project_id (string)`, `slug (string)`

### `project.integration_set_group` — Set Group Integration

Configure (create or update) any group integration by slug, passing the integration's documented parameters in a free-form `config` object. Requires Owner role on the group (some integrations require GitLab Premium/Ultimate).

The `config` object is sent verbatim as the request body. See doc/api/group_integrations.md and doc/api/integrations.md for the per-integration fields.

Returns: JSON with the resulting group integration details.

See also: project.integration_get_group, project.integration_list_group, project.integration_delete_group.

**Parámetros obligatorios:** `group_id (string)`, `slug (string)`

### `project.integration_set_group_datadog` — Set Group Datadog Integration

Create or update the Datadog integration on a group. Requires Owner role and GitLab Premium/Ultimate (self-managed EE or GitLab.com). At least one of api_key, api_url, datadog_env, datadog_service, datadog_site, datadog_tags, datadog_ci_visibility, archive_trace_events, or use_inherited_settings=true must be supplied.

Returns: JSON with the updated Datadog integration details (canonical values in the nested properties object. Flat copies are deprecated, so prefer properties.*).

See also: project.integration_get_group_datadog, project.integration_delete_group_datadog.

**Parámetros obligatorios:** `group_id (string)`

### `project.integration_set_jira` — Set Jira Integration

Configure the Jira integration for a project. Sets up the connection to a Jira instance with URL, credentials, and event triggers.

Returns: JSON with the configured Jira integration details.

See also: project.integration_list, project.integration_get.

**Parámetros obligatorios:** `project_id (string)`, `url (string)`

### `project.label_create` — Label Create

Create a project label with required name and hex color, plus optional description, priority, and archived state. Returns: the created label (id, name, color, text_color, description, counts, priority, subscribed, is_project_label, archived). See also: project.label_get, project.label_update, issue.list.

**Parámetros obligatorios:** `color (string)`, `name (string)`, `project_id (string)`

### `project.label_delete` — Label Delete

_destructiva_

Delete a project label by ID or name. Destructive: the label is removed from the project and unassigned from issues and merge requests. Returns: a deletion confirmation. See also: project.label_list, project.label_get, project.label_create.

**Parámetros obligatorios:** `label_id (string)`, `project_id (string)`

### `project.label_get` — Label Get

_solo lectura_

Get a single project label by ID or name. Returns: id, name, color, text_color, description, open/closed issue counts, open MR count, priority, subscribed, is_project_label, and archived. See also: project.label_list, project.label_update, project.label_delete.

**Parámetros obligatorios:** `label_id (string)`, `project_id (string)`

### `project.label_list` — Label List

_solo lectura_

List labels in a project with optional search, counts, ancestor-group inclusion, ordering, and offset or keyset pagination. Returns: id, name, color, text_color, description, open/closed issue counts, open MR count, priority, subscribed, is_project_label, archived, and pagination metadata. See also: project.label_get, project.label_create, issue.list.

**Parámetros obligatorios:** `project_id (string)`

### `project.label_promote` — Label Promote

Promote a project label to a group label, sharing it across the group's projects. Returns: no content on success. Requires group-level Maintainer or higher access. See also: project.label_get, project.label_list, group.group_label_list.

**Parámetros obligatorios:** `label_id (string)`, `project_id (string)`

### `project.label_subscribe` — Label Subscribe

Subscribe the authenticated user to a project label for notifications. Returns: the label with subscribed=true (already-subscribed yields 304 Not Modified). See also: project.label_unsubscribe, project.label_get, project.label_list.

**Parámetros obligatorios:** `label_id (string)`, `project_id (string)`

### `project.label_unsubscribe` — Label Unsubscribe

Unsubscribe the authenticated user from a project label. Returns: no content on success (not-subscribed yields 304 Not Modified). See also: project.label_subscribe, project.label_get, project.label_list.

**Parámetros obligatorios:** `label_id (string)`, `project_id (string)`

### `project.label_update` — Label Update

Update an existing project label (new_name, color, description, priority, archived). Returns: the updated label (id, name, color, text_color, description, counts, priority, subscribed, is_project_label, archived). See also: project.label_get, project.label_list, project.label_delete.

**Parámetros obligatorios:** `label_id (string)`, `project_id (string)`

### `project.languages` — Project Languages

_solo lectura_

Get a project's detected languages. Returns: language names with their percentage of the codebase. See also: project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.list` — Project List

_solo lectura_

List projects accessible to the user with filtering and pagination. Returns: projects with namespace, visibility, last_activity_at, and pagination metadata. See also: project.get, project.list_user_projects.

### `project.list_forks` — Project List Forks

_solo lectura_

List a project's forks. Returns: forked projects with namespace, visibility, and pagination metadata. See also: project.fork, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.list_groups` — Project List Groups

_solo lectura_

List a project's associated groups. Returns: groups with id, full_path, and full_name, plus pagination metadata. See also: project.list_invited_groups, group.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.list_invited_groups` — Project List Invited Groups

_solo lectura_

List groups invited to a project. Returns: invited groups with id, full_path, and full_name, plus pagination metadata. See also: project.share_with_group, project.list_groups.

**Parámetros obligatorios:** `project_id (string)`

### `project.list_starrers` — Project List Starrers

_solo lectura_

List a project's starrers. Returns: users with their starred_since date, plus pagination metadata. See also: project.star, project.list_user_starred.

**Parámetros obligatorios:** `project_id (string)`

### `project.list_user_contributed` — Project List User Contributed

_solo lectura_

List projects a user contributed to. Returns: projects with namespace, visibility, and pagination metadata. See also: project.list_user_projects, project.list_user_starred.

**Parámetros obligatorios:** `user_id (string)`

### `project.list_user_projects` — Project List User Projects

_solo lectura_

List a user's owned projects. Returns: projects with namespace, visibility, and pagination metadata. See also: project.list_user_contributed, project.list_user_starred.

**Parámetros obligatorios:** `user_id (string)`

### `project.list_user_starred` — Project List User Starred

_solo lectura_

List projects a user starred. Returns: projects with namespace, visibility, and pagination metadata. See also: project.list_user_projects, project.list_starrers.

**Parámetros obligatorios:** `user_id (string)`

### `project.list_users` — Project List Users

_solo lectura_

List a project's users. Returns: users with id, username, name, and state, plus pagination metadata. See also: project.get, project.members.

**Parámetros obligatorios:** `project_id (string)`

### `project.member_add` — Project Member Add

Add a user to a project team by user_id or username with an access level. Optional: expires_at, member_role_id (Premium/Ultimate). Returns: the created membership. See also: project.member_edit, project.members, user.list.

**Parámetros obligatorios:** `project_id (string)`, `user_id (integer)`

### `project.member_delete` — Project Member Delete

_destructiva_

Remove a member from a project (destructive, requires confirmation). Requires Maintainer. The last Owner of a project cannot be removed. Returns: a success confirmation naming the removed member. See also: project.member_edit, project.members.

**Parámetros obligatorios:** `project_id (string)`, `user_id (integer)`

### `project.member_edit` — Project Member Edit

Edit a project member's access level, expiry, or custom member role. Returns: the updated membership. Requires at least the same access level as the target member. See also: project.member_add, project.member_delete, project.members.

**Parámetros obligatorios:** `project_id (string)`, `user_id (integer)`

### `project.member_get` — Project Member Get

_solo lectura_

Get a single direct project member by user ID. Returns: id, username, name, state, access level, member role, created_by, expiry, and web URL. Does not include inherited members. See also: project.member_inherited, project.members, project.member_edit.

**Parámetros obligatorios:** `project_id (string)`, `user_id (integer)`

### `project.member_inherited` — Project Member Get Inherited

_solo lectura_

Get a project member including membership inherited from parent groups. Returns: id, username, name, state, effective access level, member role, and web URL. See also: project.member_get, project.members.

**Parámetros obligatorios:** `project_id (string)`, `user_id (integer)`

### `project.members` — Project Members List

_solo lectura_

List a project's members (direct plus inherited from parent groups). Returns: each member's id, username, name, state, access level, member role, created_by, seat usage, and web URL. Supports query/user_ids/show_seat_info filtering, order_by/sort, and offset or keyset pagination. See also: project.member_get, project.member_add, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.milestone_create` — Milestone Create

Create a new milestone in a project with title and optional description, start date, and due date. Returns: the created milestone with IID, state, dates, and web URL. See also: project.milestone_get, project.milestone_update, project.milestone_list.

**Parámetros obligatorios:** `project_id (string)`, `title (string)`

### `project.milestone_delete` — Milestone Delete

_destructiva_

Delete a milestone permanently from a project by milestone IID. Returns: a success confirmation naming the milestone and project. See also: project.milestone_get, project.milestone_update, project.milestone_list.

**Parámetros obligatorios:** `milestone_iid (integer)`, `project_id (string)`

### `project.milestone_get` — Milestone Get

_solo lectura_

Get a single milestone from a project by milestone IID. Returns: milestone title, description, state, start/due dates, expiry, group/project IDs, timestamps, and web URL. See also: project.milestone_list, project.milestone_update, project.milestone_issues, project.milestone_merge_requests.

**Parámetros obligatorios:** `milestone_iid (integer)`, `project_id (string)`

### `project.milestone_issues` — Milestone Issues

_solo lectura_

List issues assigned to a single milestone with ordering and pagination. Returns: assigned issues with IID, title, state, web URL, creation time, and pagination metadata. See also: project.milestone_get, project.milestone_merge_requests, issue.list.

**Parámetros obligatorios:** `milestone_iid (integer)`, `project_id (string)`

### `project.milestone_list` — Milestone List

_solo lectura_

List milestones in one project with state/title/search filters, ancestor inclusion, ordering, and pagination. Returns: matching milestones with state, dates, expiry, web URL, and pagination metadata. See also: project.milestone_get, project.milestone_create, project.milestone_issues.

**Parámetros obligatorios:** `project_id (string)`

### `project.milestone_merge_requests` — Milestone Merge Requests

_solo lectura_

List merge requests assigned to a single milestone with ordering and pagination. Returns: assigned merge requests with IID, title, state, source/target branches, web URL, creation time, and pagination metadata. See also: project.milestone_get, project.milestone_issues, merge_request.list.

**Parámetros obligatorios:** `milestone_iid (integer)`, `project_id (string)`

### `project.milestone_update` — Milestone Update

Update an existing milestone's title, description, start/due dates, or state (state_event close/activate) by milestone IID. Returns: the updated milestone with state, dates, and web URL. See also: project.milestone_get, project.milestone_delete, project.milestone_list.

**Parámetros obligatorios:** `milestone_iid (integer)`, `project_id (string)`

### `project.mirror_add` — Add Project Mirror

_destructiva_

Create a push (remote) mirror on a project. Destructive: the host in url receives the whole repository from then on, so confirmation is required. Returns: the created mirror with id, enabled state, redacted URL, and update status. See also: project.mirror_list, project.mirror_edit, project.mirror_get_public_key.

**Parámetros obligatorios:** `project_id (string)`, `url (string)`

### `project.mirror_delete` — Delete Project Mirror

_destructiva_

Delete a push mirror from a project permanently. Returns: a success confirmation naming the mirror and project. See also: project.mirror_get, project.mirror_edit.

**Parámetros obligatorios:** `mirror_id (integer)`, `project_id (string)`

### `project.mirror_edit` — Edit Project Mirror

Update a push mirror's attributes (enabled, branch filtering, divergent refs, auth method). Returns: the updated mirror. See also: project.mirror_get, project.mirror_force_push.

**Parámetros obligatorios:** `mirror_id (integer)`, `project_id (string)`

### `project.mirror_force_push` — Force Push Mirror Update

_destructiva_

Trigger an immediate update of a push mirror. Returns: a confirmation that the update was triggered. See also: project.mirror_get, project.mirror_edit.

**Parámetros obligatorios:** `mirror_id (integer)`, `project_id (string)`

### `project.mirror_get` — Get Project Mirror

_solo lectura_

Get a single push mirror of a project by mirror id. Returns: the mirror with enabled state, redacted URL, auth method, branch filtering, and last-update status/error. See also: project.mirror_list, project.mirror_edit, project.mirror_force_push.

**Parámetros obligatorios:** `mirror_id (integer)`, `project_id (string)`

### `project.mirror_get_public_key` — Get Project Mirror Public Key

_solo lectura_

Get the SSH public key for an SSH-authenticated push mirror. Returns: the public key to register on the remote. See also: project.mirror_get, project.mirror_edit.

**Parámetros obligatorios:** `mirror_id (integer)`, `project_id (string)`

### `project.mirror_list` — List Project Mirrors

_solo lectura_

List a project's push (remote) mirrors. Returns: each mirror with id, enabled state, redacted URL, last-update status, and pagination metadata. See also: project.mirror_get, project.mirror_add.

**Parámetros obligatorios:** `project_id (string)`

### `project.pages_domain_create` — Pages Domain Create

Add a new custom Pages domain to a project. Returns: the created domain with verification code, auto-SSL flag, and certificate details. See also: project.pages_domain_get, project.pages_domain_update, project.pages_domain_list.

**Parámetros obligatorios:** `domain (string)`, `project_id (string)`

### `project.pages_domain_delete` — Pages Domain Delete

_destructiva_

Remove a custom Pages domain from a project (destructive). Returns: a success confirmation naming the deleted domain. See also: project.pages_domain_get, project.pages_domain_list.

**Parámetros obligatorios:** `domain (string)`, `project_id (string)`

### `project.pages_domain_get` — Pages Domain Get

_solo lectura_

Get a single Pages custom domain by name. Returns: the domain with verification status and code, auto-SSL flag, enabled-until date, and certificate subject/expiration. See also: project.pages_domain_list, project.pages_domain_update, project.pages_domain_delete.

**Parámetros obligatorios:** `domain (string)`, `project_id (string)`

### `project.pages_domain_list` — Pages Domain List

_solo lectura_

List the custom Pages domains for a project with pagination. Returns: matching domains with verification status, auto-SSL flag, project ID, certificate details, and pagination metadata. See also: project.pages_domain_get, project.pages_domain_create, project.pages_domain_list_all.

**Parámetros obligatorios:** `project_id (string)`

### `project.pages_domain_list_all` — Pages Domain List All

_solo lectura_

List ALL GitLab Pages custom domains across the whole instance in one call (admin only). Use this instead of gitlab_pages_domain_list when you need every domain on the instance, not just those attached to a single project. Returns: all domains with verification status, auto-SSL flag, project ID, and certificate subject. See also: project.pages_domain_list, project.pages_domain_get, project.pages_domain_create.

### `project.pages_domain_update` — Pages Domain Update

Update an existing Pages custom domain's auto-SSL flag or certificate. Returns: the updated domain with verification status and certificate details. See also: project.pages_domain_get, project.pages_domain_delete, project.pages_domain_list.

**Parámetros obligatorios:** `domain (string)`, `project_id (string)`

### `project.pages_get` — Pages Get

_solo lectura_

Get the Pages settings for a project. Returns: the Pages URL, force-HTTPS and unique-domain flags, primary domain, and recent deployments. See also: project.pages_update, project.pages_unpublish, project.pages_domain_list.

**Parámetros obligatorios:** `project_id (string)`

### `project.pages_unpublish` — Pages Unpublish

_destructiva_

Unpublish a project's Pages site (destructive). Returns: a success confirmation. See also: project.pages_get, project.pages_update.

**Parámetros obligatorios:** `project_id (string)`

### `project.pages_update` — Pages Update

Update the Pages settings for a project. Returns: the updated Pages settings with URL, force-HTTPS and unique-domain flags, primary domain, and deployments. See also: project.pages_get, project.pages_domain_create, project.pages_unpublish.

**Parámetros obligatorios:** `project_id (string)`

### `project.repository_storage_get` — Project Repository Storage Get

_solo lectura_

Get a project's repository storage shard. Returns: the storage shard name. See also: project.start_housekeeping, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.restore` — Project Restore

Restore a project marked for deletion. Returns: the restored project. See also: project.delete, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.service_account_create` — Project Service Account Create

Create a GitLab project service account. Returns: the created project service account object. See also: project.service_account_list, project.service_account_update, project.service_account_pat_create.

**Parámetros obligatorios:** `project_id (string)`

### `project.service_account_delete` — Project Service Account Delete

_destructiva_

Delete a GitLab project service account. Returns: a success status confirming deletion. See also: project.service_account_list, project.service_account_update.

**Parámetros obligatorios:** `project_id (string)`, `service_account_id (integer)`

### `project.service_account_list` — Project Service Account List

_solo lectura_

List GitLab project service accounts. Returns: paginated project service account records. See also: project.get, project.service_account_create, project.service_account_pat_list.

**Parámetros obligatorios:** `project_id (string)`

### `project.service_account_pat_create` — Project Service Account Pat Create

Create a personal access token for a GitLab project service account. Returns: the created token record and token value when GitLab returns it. See also: project.service_account_pat_list, project.service_account_pat_rotate.

**Parámetros obligatorios:** `name (string)`, `project_id (string)`, `scopes (array)`, `service_account_id (integer)`

### `project.service_account_pat_list` — Project Service Account Pat List

_solo lectura_

List personal access tokens for a GitLab project service account. Returns: paginated token records. See also: project.service_account_list, project.service_account_pat_create, project.service_account_pat_revoke.

**Parámetros obligatorios:** `project_id (string)`, `service_account_id (integer)`

### `project.service_account_pat_revoke` — Project Service Account Pat Revoke

_destructiva_

Revoke a personal access token for a GitLab project service account. Returns: a success status confirming revocation. See also: project.service_account_pat_list, project.service_account_pat_create.

**Parámetros obligatorios:** `project_id (string)`, `service_account_id (integer)`, `token_id (integer)`

### `project.service_account_pat_rotate` — Project Service Account Pat Rotate

Rotate a personal access token for a GitLab project service account. Returns: the rotated token record and token value when GitLab returns it. See also: project.service_account_pat_list, project.service_account_pat_revoke.

**Parámetros obligatorios:** `project_id (string)`, `service_account_id (integer)`, `token_id (integer)`

### `project.service_account_update` — Project Service Account Update

Update a GitLab project service account. Returns: the updated project service account object. See also: project.service_account_list, project.service_account_delete.

**Parámetros obligatorios:** `project_id (string)`, `service_account_id (integer)`

### `project.share_with_group` — Project Share With Group

Share a project with a group. Returns: a confirmation with the group ID and granted access role. See also: project.delete_shared_group, project.list_invited_groups.

**Parámetros obligatorios:** `group_access (integer)`, `group_id (integer)`, `project_id (string)`

### `project.star` — Project Star

Star a project. Returns: the project with the updated star_count. See also: project.unstar, project.list_starrers.

**Parámetros obligatorios:** `project_id (string)`

### `project.start_housekeeping` — Project Start Housekeeping

Start housekeeping for a project. Returns: a success confirmation naming the project. See also: project.repository_storage_get, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.statistics_get` — Get Project Statistics

_solo lectura_

Get a project's last-30-days git fetch (clone/pull) statistics. Returns: total_fetches and a per-day breakdown of date and count. See also: project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.transfer` — Project Transfer

_destructiva_

Transfer a project to another namespace. Returns: the project in its new namespace. See also: project.get, group.get.

**Parámetros obligatorios:** `namespace (string)`, `project_id (string)`

### `project.unarchive` — Project Unarchive

Unarchive a project. Returns: the project with archived set to false. See also: project.archive, project.get.

**Parámetros obligatorios:** `project_id (string)`

### `project.unstar` — Project Unstar

Unstar a project. Returns: the project with the updated star_count. See also: project.star, project.list_starrers.

**Parámetros obligatorios:** `project_id (string)`

### `project.update` — Project Update

Update a project's settings. Returns: the updated project with its current configuration and web URL. See also: project.get, project.archive, project.transfer.

**Parámetros obligatorios:** `project_id (string)`

### `project.upload` — Project Upload

Upload a file (via local file_path or base64 content) to a project's Markdown attachments store. Returns: the upload's id (GitLab 17.3+), alt text, relative and full URLs, full path, and a Markdown embed reference. See also: project.upload_list, project.upload_delete, project.get.

**Parámetros obligatorios:** `filename (string)`, `project_id (string)`

### `project.upload_avatar` — Project Upload Avatar

Upload a project avatar. Returns: the project with its new avatar_url. See also: project.download_avatar, project.update.

**Parámetros obligatorios:** `filename (string)`, `project_id (string)`

### `project.upload_delete` — Project Upload Delete

_destructiva_

Delete a project Markdown upload by its numeric upload ID. Returns: a success confirmation. See also: project.upload_list, project.upload, project.get.

**Parámetros obligatorios:** `project_id (string)`, `upload_id (integer)`

### `project.upload_delete_by_secret` — Project Upload Delete By Secret

_destructiva_

Delete a project Markdown upload by its 32-character secret and filename (the /uploads/<secret>/<filename> reference). Returns: a success confirmation. See also: project.upload_delete, project.upload_list, project.upload.

**Parámetros obligatorios:** `filename (string)`, `project_id (string)`, `secret (string)`

### `project.upload_list` — Project Upload List

_solo lectura_

List all Markdown uploads in a project. Returns: each upload's id, filename, size, creation time, and uploader (id, username, name), plus pagination metadata. See also: project.upload, project.upload_delete, project.get.

**Parámetros obligatorios:** `project_id (string)`
