naftiko: 1.0.0-alpha2 info: label: GitLab API — ci_resource_groups description: 'GitLab API — ci_resource_groups. 5 operations. Lead operation: Edit an existing resource group. Self-contained Naftiko capability covering one Gitlab Ci business surface.' tags: - Gitlab Ci - ci_resource_groups created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITLAB_CI_API_KEY: GITLAB_CI_API_KEY capability: consumes: - type: http namespace: gitlab-ci-ci-resource-groups baseUri: https://gitlab.com description: GitLab API — ci_resource_groups business capability. Self-contained, no shared references. resources: - name: api-v4-projects-id-resource_groups path: /api/v4/projects/{id}/resource_groups operations: - name: getapiv4projectsidresourcegroups method: GET description: Get all resource groups for a project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or URL-encoded path of the project owned by the authenticated user required: true - name: page in: query type: integer description: Current page number - name: per_page in: query type: integer description: Number of items per page - name: api-v4-projects-id-resource_groups-key path: /api/v4/projects/{id}/resource_groups/{key} operations: - name: getapiv4projectsidresourcegroupskey method: GET description: Get a specific resource group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or URL-encoded path of the project owned by the authenticated user required: true - name: key in: path type: string description: The key of the resource group required: true - name: putapiv4projectsidresourcegroupskey method: PUT description: Edit an existing resource group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or URL-encoded path of the project owned by the authenticated user required: true - name: key in: path type: string description: The key of the resource group required: true - name: putApiV4ProjectsIdResourceGroupsKey in: body type: string required: true - name: api-v4-projects-id-resource_groups-key-current_job path: /api/v4/projects/{id}/resource_groups/{key}/current_job operations: - name: getapiv4projectsidresourcegroupskeycurrentjob method: GET description: Show current job for a specific resource group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or URL-encoded path of the project owned by the authenticated user required: true - name: key in: path type: string description: The key of the resource group required: true - name: api-v4-projects-id-resource_groups-key-upcoming_jobs path: /api/v4/projects/{id}/resource_groups/{key}/upcoming_jobs operations: - name: getapiv4projectsidresourcegroupskeyupcomingjobs method: GET description: List upcoming jobs for a specific resource group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or URL-encoded path of the project owned by the authenticated user required: true - name: key in: path type: string description: The key of the resource group required: true - name: page in: query type: integer description: Current page number - name: per_page in: query type: integer description: Number of items per page exposes: - type: rest namespace: gitlab-ci-ci-resource-groups-rest port: 8080 description: REST adapter for GitLab API — ci_resource_groups. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v4/projects/{id}/resource-groups name: api-v4-projects-id-resource-groups description: REST surface for api-v4-projects-id-resource_groups. operations: - method: GET name: getapiv4projectsidresourcegroups description: Get all resource groups for a project call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroups with: id: rest.id page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - path: /v1/api/v4/projects/{id}/resource-groups/{key} name: api-v4-projects-id-resource-groups-key description: REST surface for api-v4-projects-id-resource_groups-key. operations: - method: GET name: getapiv4projectsidresourcegroupskey description: Get a specific resource group call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroupskey with: id: rest.id key: rest.key outputParameters: - type: object mapping: $. - method: PUT name: putapiv4projectsidresourcegroupskey description: Edit an existing resource group call: gitlab-ci-ci-resource-groups.putapiv4projectsidresourcegroupskey with: id: rest.id key: rest.key putApiV4ProjectsIdResourceGroupsKey: rest.putApiV4ProjectsIdResourceGroupsKey outputParameters: - type: object mapping: $. - path: /v1/api/v4/projects/{id}/resource-groups/{key}/current-job name: api-v4-projects-id-resource-groups-key-current-job description: REST surface for api-v4-projects-id-resource_groups-key-current_job. operations: - method: GET name: getapiv4projectsidresourcegroupskeycurrentjob description: Show current job for a specific resource group call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroupskeycurrentjob with: id: rest.id key: rest.key outputParameters: - type: object mapping: $. - path: /v1/api/v4/projects/{id}/resource-groups/{key}/upcoming-jobs name: api-v4-projects-id-resource-groups-key-upcoming-jobs description: REST surface for api-v4-projects-id-resource_groups-key-upcoming_jobs. operations: - method: GET name: getapiv4projectsidresourcegroupskeyupcomingjobs description: List upcoming jobs for a specific resource group call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroupskeyupcomingjobs with: id: rest.id key: rest.key page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - type: mcp namespace: gitlab-ci-ci-resource-groups-mcp port: 9090 transport: http description: MCP adapter for GitLab API — ci_resource_groups. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-all-resource-groups-project description: Get all resource groups for a project hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroups with: id: tools.id page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: get-specific-resource-group description: Get a specific resource group hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroupskey with: id: tools.id key: tools.key outputParameters: - type: object mapping: $. - name: edit-existing-resource-group description: Edit an existing resource group hints: readOnly: false destructive: false idempotent: true call: gitlab-ci-ci-resource-groups.putapiv4projectsidresourcegroupskey with: id: tools.id key: tools.key putApiV4ProjectsIdResourceGroupsKey: tools.putApiV4ProjectsIdResourceGroupsKey outputParameters: - type: object mapping: $. - name: show-current-job-specific-resource description: Show current job for a specific resource group hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroupskeycurrentjob with: id: tools.id key: tools.key outputParameters: - type: object mapping: $. - name: list-upcoming-jobs-specific-resource description: List upcoming jobs for a specific resource group hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-ci-resource-groups.getapiv4projectsidresourcegroupskeyupcomingjobs with: id: tools.id key: tools.key page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $.