Class PermissionScope


public final class PermissionScope extends Object
Represents the model class Permission acts on and scoped to.

This abstraction primarily controls what permissions are configurable at what level.

For example, "create an item" is scoped to ItemGroup in the sense that it "acts" on the item group object (and therefore it won't make sense to control this permission at more finer scope, such as Run.)

Every Permission belongs to a set of scopes. Each scope is to be represented as a constant. This class defines a few constants, but plugins can define their own.

Kohsuke Kawaguchi
  • Field Details

    • modelClass

      public final Class<? extends ModelObject> modelClass
      Domain model type that approximates this scope.

      public static final PermissionScope JENKINS
      Permissions scoped to the entire Jenkins instance.

      public static final PermissionScope ITEM_GROUP
      Permissions scoped to containers of Items.
    • ITEM

      public static final PermissionScope ITEM
      Permissions scoped to Items (including Jobs and other subtypes)
    • RUN

      public static final PermissionScope RUN
      Permissions scoped to Runs (including Builds and other subtypes)

      public static final PermissionScope COMPUTER
      Permissions scoped to Nodes or Computers (generally interchangeably).
  • Constructor Details

  • Method Details

    • isContainedBy

      public boolean isContainedBy(PermissionScope s)
      Returns true if this scope is directly or indirectly contained by the given scope.

      A scope always contains itself.