Search code examples
azure-devopsazure-devops-rest-api

How to give user access to configure Boards in Azure DevOps without making them Project Administrator via the API


I would like to be able to allow users to configure Boards in certain Azure DevOps projects without making them Project Administrator. The Project Administrator permission group would provide too much access like deleting projects which I do not want the users to have.

I would like to be able to automate this by using the Azure DevOps API rather than doing it manually in the UI.

Is it possible to create a custom Permission Group which allows access to configure Boards and then add specific users to this group? I tried this using the API and was able to create the custom group and attempted to update the permissions of the group, but this did not seem to work.

Otherwise, is it possible using the API to make users admins inside the DevOps project's Team? This would mean that they become Team Administrator and can configure the Boards this way.

Any help would be greatly appreciated!


Solution

  • Is it possible to create a custom Permission Group which allows access to configure Boards and then add specific users to this group? Otherwise, is it possible using the API to make users admins inside the DevOps project's Team?

    As a member of an Azure Boards project, you can use most features to track work. Limitations to select features are based on the access level and security group to which a user is assigned.

    Fortunately, most boards permission are same for team admin and project admin(doc here).

    enter image description here

    For example, for boards feature access:

    enter image description here

    But for same features, like Create, delete, and save Shared queries, charts, folders, only project admin have the permission.

    Hence, if you don't want to make them as project admin, and team admin can satisfy the permission requirement, yes, you can make the user the as team admin, and then the account has permission to manage the boards.

    You can use existing script here: Set-TeamAdmin.ps1

    More details can refer to similar ticket.

    My result for the script, i add the user the default team of the project.

    enter image description here

    The use can set boards configuration then:

    enter image description here