Caleb Madara opened merge request !2856: feat: Add GraphQL API support for security attributes and categories at GitLab.org / API / client-go

Caleb Madara
2026-04-16T18:06:32Z

Description

Adds GraphQL API support for Security Attributes and Security Categories to unblock the Terraform provider for GitLab.

This MR implements two new services:

SecurityCategoriesService — 3 mutations:

CreateSecurityCategory — creates a new security category under a namespace

UpdateSecurityCategory — updates an existing security category's name or description

DestroySecurityCategory — deletes a security category and all its associated attributes

SecurityAttributesService — 5 mutations:

CreateSecurityAttributes — creates one or more attributes under a security category

UpdateSecurityAttribute — updates an existing attribute's name, description, or color

DestroySecurityAttribute — deletes a security attribute

ProjectUpdateSecurityAttribute — adds or removes attributes on a project

BulkUpdateSecurityAttributes — adds, removes, or replaces attributes across multiple groups and projects

Both services follow the established GraphQL pattern in this codebase (two-layer struct pattern with xGQL internal types and unwrap() conversion, map[string]any for mutation inputs, GenericGraphQLErrors embedding).

Closes #2252