Interface ProjectPlanPermissionsService

  • All Known Implementing Classes:
    DefaultProjectPlanPermissionsService

    @ExperimentalApi
    public interface ProjectPlanPermissionsService
    Service to manage project plan permissions.
    Since:
    6.2.0
    • Method Detail

      • listUsersWithPermissionsForProjectPlan

        @NotNull
        @NotNull Iterable<String> listUsersWithPermissionsForProjectPlan​(@NotNull
                                                                         @NotNull String projectKey)
      • getUserPermissionsForProjectPlan

        @NotNull
        @NotNull List<BambooPermission> getUserPermissionsForProjectPlan​(@NotNull
                                                                         @NotNull String projectKey,
                                                                         @NotNull
                                                                         @NotNull String username)
      • addUserPermissionsToProjectPlan

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

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

        @NotNull
        @NotNull Iterable<String> listGroupsWithPermissionsForProjectPlan​(@NotNull
                                                                          @NotNull String projectKey)
      • getGroupPermissionsForProjectPlan

        @NotNull
        @NotNull List<BambooPermission> getGroupPermissionsForProjectPlan​(@NotNull
                                                                          @NotNull String projectKey,
                                                                          @NotNull
                                                                          @NotNull String group)
      • addGroupPermissionsToProjectPlan

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

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

        @NotNull
        @NotNull List<BambooPermission> getLoggedInPermissionsForProjectPlan​(@NotNull
                                                                             @NotNull String projectKey)
      • addLoggedInPermissionsToProjectPlan

        boolean addLoggedInPermissionsToProjectPlan​(@NotNull
                                                    @NotNull String projectKey,
                                                    @NotNull
                                                    @NotNull List<BambooPermission> permissionsToAdd)
      • removeLoggedInPermissionsFromProjectPlan

        boolean removeLoggedInPermissionsFromProjectPlan​(@NotNull
                                                         @NotNull String projectKey,
                                                         @NotNull
                                                         @NotNull List<BambooPermission> permissionsToRemove)
      • getAnonymousPermissionsForProjectPlan

        @NotNull
        @NotNull List<BambooPermission> getAnonymousPermissionsForProjectPlan​(@NotNull
                                                                              @NotNull String projectKey)
      • addAnonymousPermissionsToPlan

        boolean addAnonymousPermissionsToPlan​(@NotNull
                                              @NotNull String planKey)
      • removeAnonymousPermissionsFromPlan

        boolean removeAnonymousPermissionsFromPlan​(@NotNull
                                                   @NotNull String planKey)
      • supportedPermissions

        @NotNull
        @NotNull Collection<BambooPermission> supportedPermissions()
        Collection of permissions configurable on projects to apply to all contained plans.

        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.