Skip to content

Extend API to include project features and permissions

Problem to solve

Extend API so that it contains the same information as in UI for project features and permissions (Issues, Repository, Merge Requests, Pipelines, ..., Wiki, Snippets and Pages)

Intended users

Those who automate gitlab instances with multiple projects and need to keep track if project features that are enabled are aligned with company policies.

Further details

For example I'd like to know that all the Gitlab Pages are shared with "Only Project Members", not "Everyone" for all Gitlab projects within Gitlab instance.

Some of the features are available through /projects/:id endpoint, including lfs_enabled, wiki_enabled and etc, but it's only boolean value and there is no pages_enabled included.

Proposal

Add API endpoint /projects/:id/features or just extend /projects/:id endpoint

Permissions and Security

Should be consistent with the rest of Gitlab permissions

Documentation

API documentation has to be extended to include this new endpoint

Testing

It should be checked whether access control is applied correctly to the information exposed through this new API endpoint

What does success look like, and how can we measure that?

Project features and permissions information available through API request

Links / references

Edited by Dmytro Kutianskyi