Interface ProjectPermissionsService

  • All Known Implementing Classes:
    DefaultProjectPermissionsService

    @Experimental
    public interface ProjectPermissionsService
    Service for managing project permissions.
    Since:
    6.2
    • Method Detail

      • listUsersWithPermissionsForProject

        @NotNull
        @NotNull Iterable<String> listUsersWithPermissionsForProject​(@NotNull
                                                                     @NotNull String projectKey)
      • getUserPermissionsForProject

        @NotNull
        @NotNull List<BambooPermission> getUserPermissionsForProject​(@NotNull
                                                                     @NotNull String projectKey,
                                                                     @NotNull
                                                                     @NotNull String username)
      • addUserPermissionsToProject

        boolean addUserPermissionsToProject​(@NotNull
                                            @NotNull String projectKey,
                                            @NotNull
                                            @NotNull String username,
                                            @NotNull
                                            @NotNull List<BambooPermission> permissionsToAdd)
      • removeUserPermissionsFromProject

        boolean removeUserPermissionsFromProject​(@NotNull
                                                 @NotNull String projectKey,
                                                 @NotNull
                                                 @NotNull String username,
                                                 @NotNull
                                                 @NotNull List<BambooPermission> permissionsToRemove)
      • listGroupsWithPermissionsForProject

        @NotNull
        @NotNull Iterable<String> listGroupsWithPermissionsForProject​(@NotNull
                                                                      @NotNull String projectKey)
      • getGroupPermissionsForProject

        @NotNull
        @NotNull List<BambooPermission> getGroupPermissionsForProject​(@NotNull
                                                                      @NotNull String projectKey,
                                                                      @NotNull
                                                                      @NotNull String group)
      • addGroupPermissionsToProject

        boolean addGroupPermissionsToProject​(@NotNull
                                             @NotNull String projectKey,
                                             @NotNull
                                             @NotNull String group,
                                             @NotNull
                                             @NotNull List<BambooPermission> permissionsToAdd)
      • removeGroupPermissionsFromProject

        boolean removeGroupPermissionsFromProject​(@NotNull
                                                  @NotNull String projectKey,
                                                  @NotNull
                                                  @NotNull String group,
                                                  @NotNull
                                                  @NotNull List<BambooPermission> permissionsToRemove)
      • getLoggedInPermissionsForProject

        @NotNull
        @NotNull List<BambooPermission> getLoggedInPermissionsForProject​(@NotNull
                                                                         @NotNull String projectKey)
      • addLoggedInPermissionsToProject

        boolean addLoggedInPermissionsToProject​(@NotNull
                                                @NotNull String projectKey,
                                                @NotNull
                                                @NotNull List<BambooPermission> permissionsToAdd)
      • removeLoggedInPermissionsFromProject

        boolean removeLoggedInPermissionsFromProject​(@NotNull
                                                     @NotNull String projectKey,
                                                     @NotNull
                                                     @NotNull List<BambooPermission> permissionsToRemove)
      • supportedPermissions

        @NotNull
        @NotNull Collection<BambooPermission> supportedPermissions()
        Collection of permissions configurable for projects.

        Ordered by permission importance. Least granting permissions come first.

      • permissionDependencies

        @NotNull
        @NotNull Collection<BambooPermission> permissionDependencies​(@NotNull
                                                                     @NotNull BambooPermission permission)
        Obtain a collection of Bamboo permissions dependent on the passed permission. A dependent permission is expected to always be granted whenever the parent permission is granted too.

        The result is an effective collection of dependencies, meaning there's no need to recursively traverse the dependency graph.

      • getAnonymousPermissions

        List<BambooPermission> getAnonymousPermissions​(@NotNull
                                                       @NotNull String projectKey)
        Returns:
        permissions of anonymous user for project
      • addAnonymousPermission

        boolean addAnonymousPermission​(@NotNull
                                       @NotNull String projectKey)
        Grants READ permission for anonymous user to project.
        Returns:
        true if permission was granted
      • removeAnonymousPermission

        boolean removeAnonymousPermission​(@NotNull
                                          @NotNull String projectKey)
        Revoke READ permission from project for anonymous user.
        Returns:
        true if permission was revoked.