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