Skip to content

Commit 8df5a09

Browse files
committed
feat(gitlab): expose full documented API surface across tools and block
- membership: add-by-username, remove-member cleanup flags, list-member filters (user_ids/state/seat info), invite_source - listings: search/visibility/owned/membership, assignee/milestone filters, source/target branch filters, per-domain order-by + sort direction - CI: pipeline variables + spec:inputs, manual-job variables - repo: commit authoring (start branch, author, execute flag), release tag message + asset links, cross-fork compare + unidiff, internal notes - catalog: access-governance template + member-provisioning and access-request-audit skills - hardening from 3-agent validation: declared release params, tolerate single-object asset links, NaN guard on assignee filter, null/scalar JSON rejection
1 parent 8fb2dec commit 8df5a09

15 files changed

Lines changed: 924 additions & 27 deletions

apps/docs/content/docs/en/integrations/gitlab.mdx

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ Add a comment to a GitLab issue
200200
| `projectId` | string | Yes | Project ID or path \(e.g. mygroup/myproject\) |
201201
| `issueIid` | number | Yes | Issue internal ID \(IID\) |
202202
| `body` | string | Yes | Comment body \(Markdown supported\) |
203+
| `internal` | boolean | No | Create the comment as an internal note visible only to project members |
203204

204205
#### Output
205206

@@ -341,6 +342,7 @@ Add a comment to a GitLab merge request
341342
| `projectId` | string | Yes | Project ID or path \(e.g. mygroup/myproject\) |
342343
| `mergeRequestIid` | number | Yes | Merge request internal ID \(IID\) |
343344
| `body` | string | Yes | Comment body \(Markdown supported\) |
345+
| `internal` | boolean | No | Create the comment as an internal note visible only to project members |
344346

345347
#### Output
346348

@@ -402,6 +404,7 @@ Trigger a new pipeline in a GitLab project
402404
| `projectId` | string | Yes | Project ID or path \(e.g. mygroup/myproject\) |
403405
| `ref` | string | Yes | Branch or tag to run the pipeline on |
404406
| `variables` | array | No | Array of variables for the pipeline \(each with key, value, and optional variable_type\) |
407+
| `inputs` | json | No | Pipeline inputs as a key/value object \(for pipelines with spec:inputs\) |
405408

406409
#### Output
407410

@@ -507,6 +510,10 @@ Create a new file in a GitLab project repository
507510
| `filePath` | string | Yes | Path to the file in the repository |
508511
| `branch` | string | Yes | Branch to commit the new file to |
509512
| `content` | string | Yes | File content |
513+
| `startBranch` | string | No | Name of the base branch to create the target branch from, if it does not exist |
514+
| `authorName` | string | No | Commit author name \(defaults to the token user\) |
515+
| `authorEmail` | string | No | Commit author email \(defaults to the token user\) |
516+
| `executeFilemode` | boolean | No | Enable the execute flag on the file |
510517
| `commitMessage` | string | Yes | Commit message |
511518

512519
#### Output
@@ -529,6 +536,10 @@ Update an existing file in a GitLab project repository
529536
| `filePath` | string | Yes | Path to the file in the repository |
530537
| `branch` | string | Yes | Branch to commit the update to |
531538
| `content` | string | Yes | New file content |
539+
| `startBranch` | string | No | Name of the base branch to create the target branch from, if it does not exist |
540+
| `authorName` | string | No | Commit author name \(defaults to the token user\) |
541+
| `authorEmail` | string | No | Commit author email \(defaults to the token user\) |
542+
| `executeFilemode` | boolean | No | Enable or disable the execute flag on the file |
532543
| `commitMessage` | string | Yes | Commit message |
533544
| `lastCommitId` | string | No | Last known commit ID for the file \(optimistic locking\) |
534545

@@ -592,6 +603,8 @@ Compare two branches, tags, or commits in a GitLab project repository
592603
| `from` | string | Yes | Commit SHA or branch/tag name to compare from |
593604
| `to` | string | Yes | Commit SHA or branch/tag name to compare to |
594605
| `straight` | boolean | No | Compare directly from..to instead of using the merge base \(defaults to false\) |
606+
| `fromProjectId` | string | No | ID of the project to compare from \(for cross-fork comparisons\) |
607+
| `unidiff` | boolean | No | Return diffs in unified diff format \(GitLab 16.5+\) |
595608

596609
#### Output
597610

@@ -745,6 +758,7 @@ Trigger (play) a manual GitLab job
745758
| `host` | string | No | Self-managed GitLab host \(e.g. gitlab.example.com\). Defaults to gitlab.com. |
746759
| `projectId` | string | Yes | Project ID or path \(e.g. mygroup/myproject\) |
747760
| `jobId` | number | Yes | Job ID |
761+
| `jobVariables` | array | No | Variables for the manual job \(array of objects with key and value\) |
748762

749763
#### Output
750764

@@ -792,6 +806,8 @@ Create a new release in a GitLab project
792806
| `description` | string | No | Release description/notes \(Markdown supported\) |
793807
| `ref` | string | No | Commit SHA, branch, or tag to create the tag from if it does not already exist |
794808
| `releasedAt` | string | No | ISO 8601 date for an upcoming or historical release |
809+
| `tagMessage` | string | No | Annotation message to use if creating a new annotated tag |
810+
| `assetLinks` | array | No | Release asset links: array of objects with name, url, and optional link_type \(other, runbook, image, package\) |
795811
| `milestones` | array | No | Array of milestone titles to associate with the release |
796812

797813
#### Output
@@ -813,6 +829,9 @@ List members of a GitLab project or group. Includes members inherited from ances
813829
| `resourceId` | string | Yes | Project or group ID or path \(e.g. mygroup/myproject\) |
814830
| `directOnly` | boolean | No | When true, returns only direct members. Defaults to false, which also returns members inherited from ancestor groups. |
815831
| `query` | string | No | Filter members by name, email, or username |
832+
| `userIds` | string | No | Comma-separated user IDs to filter the results to |
833+
| `state` | string | No | Filter inherited-member results by state: 'awaiting' or 'active' \(Premium/Ultimate; only applies when inherited members are included\) |
834+
| `showSeatInfo` | boolean | No | Include seat information for each member |
816835
| `perPage` | number | No | Number of results per page \(default 20, max 100\) |
817836
| `page` | number | No | Page number for pagination |
818837

@@ -834,8 +853,9 @@ Add an existing GitLab user to a project or group at a given access level
834853
| `host` | string | No | Self-managed GitLab host \(e.g. gitlab.example.com\). Defaults to gitlab.com. |
835854
| `resourceType` | string | Yes | Whether the resource is a 'project' or a 'group' |
836855
| `resourceId` | string | Yes | Project or group ID or path \(e.g. mygroup/myproject\) |
837-
| `userId` | number | Yes | The ID of the user to add |
838-
| `accessLevel` | number | Yes | Access level: 10 \(Guest\), 15 \(Planner\), 20 \(Reporter\), 25 \(Security Manager\), 30 \(Developer\), 40 \(Maintainer\), 50 \(Owner\) |
856+
| `userId` | number | No | The ID of the user to add. Provide either userId or username. |
857+
| `username` | string | No | The username of the user to add. Provide either userId or username. |
858+
| `accessLevel` | number | Yes | Access level: 0 \(No access\), 5 \(Minimal\), 10 \(Guest\), 15 \(Planner\), 20 \(Reporter\), 25 \(Security Manager\), 30 \(Developer\), 40 \(Maintainer\), 50 \(Owner\) |
839859
| `expiresAt` | string | No | Access expiration date in YYYY-MM-DD format |
840860
| `memberRoleId` | number | No | Custom member role ID \(GitLab Ultimate only\) |
841861

@@ -880,6 +900,8 @@ Remove a member from a GitLab project or group
880900
| `resourceType` | string | Yes | Whether the resource is a 'project' or a 'group' |
881901
| `resourceId` | string | Yes | Project or group ID or path \(e.g. mygroup/myproject\) |
882902
| `userId` | number | Yes | The ID of the member to remove |
903+
| `skipSubresources` | boolean | No | Skip deleting the member from subgroups and projects below the target \(defaults to false\) |
904+
| `unassignIssuables` | boolean | No | Unassign the member from all issues and merge requests in the target \(defaults to false\) |
883905

884906
#### Output
885907

@@ -899,9 +921,10 @@ Invite a person to a GitLab project or group by email address
899921
| `resourceType` | string | Yes | Whether the resource is a 'project' or a 'group' |
900922
| `resourceId` | string | Yes | Project or group ID or path \(e.g. mygroup/myproject\) |
901923
| `email` | string | Yes | Email address to invite \(comma-separated for multiple\) |
902-
| `accessLevel` | number | Yes | Access level: 10 \(Guest\), 15 \(Planner\), 20 \(Reporter\), 25 \(Security Manager\), 30 \(Developer\), 40 \(Maintainer\), 50 \(Owner\) |
924+
| `accessLevel` | number | Yes | Access level: 0 \(No access\), 5 \(Minimal\), 10 \(Guest\), 15 \(Planner\), 20 \(Reporter\), 25 \(Security Manager\), 30 \(Developer\), 40 \(Maintainer\), 50 \(Owner\) |
903925
| `expiresAt` | string | No | Access expiration date in YYYY-MM-DD format |
904926
| `memberRoleId` | number | No | Custom member role ID \(GitLab Ultimate only\) |
927+
| `inviteSource` | string | No | Identifier recorded as the source of the invitation \(for attribution\) |
905928

906929
#### Output
907930

0 commit comments

Comments
 (0)