Configure projects to run builds with specified authorization using QueueItemAuthenticator.
| Strategy | Description |
|---|---|
| Run as the user who triggered the build | Does not work for scheduled or polled builds. Only users with BUILD permission can configure projects. |
| Run as anonymous | Runs the build with no permissions. |
| Run as a specific user | Requires password/API token of the target user, unless you are an administrator or specifying yourself. |
| Run as SYSTEM | Provided only to override the global configuration. Plugins may treat SYSTEM as anonymous. |
When "Run as Specific User" is selected:
- Administrators can specify any user without authentication.
- Non-admin users specifying a different user must provide credentials (password or API token).
- Only administrators and the configured user can modify the project configuration, unless "Don't restrict job configuration" is enabled.
Add "Configure Build Authorizations in Project Configuration" under Manage Jenkins > Security > Access Control for Builds. You can also disable specific strategies from this page.
A new Authorization menu appears in project sidebars, where you select the authorization strategy for that project.
![]() |
![]() |
When using "Run as Specific User", you can authenticate via password or API token (useful for non-password-based security realms).
Unauthorized configuration attempts are blocked:
Add custom authorization strategies by extending AuthorizeProjectStrategy:
public abstract Authentication authenticate(
hudson.model.AbstractProject<?, ?> project,
hudson.model.Queue.Item item
);Use AuthorizeProjectStrategyDescriptor for your Descriptor. For global configuration properties, provide a global-security.jelly and override AuthorizeProjectStrategyDescriptor#configureFromGlobalSecurity.
Report bugs and request features via GitHub Issues.
See CONTRIBUTING.md.
See GitHub Releases for recent changes and the Changelog Archive for version 1.3.0 and older.




