website/integrations/development/jenkins/index.md
The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
The following placeholders are used in this guide:
jenkins.company is the FQDN of the Service installation.authentik.company is the FQDN of the authentik installation.:::info This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application. :::
To support the integration of Jenkins with authentik, you need to create an application/provider pair in authentik.
Strict redirect URI to https://jenkins.company/securityRealm/finishLogin.Navigate to the Jenkins plugin manager: Manage Jenkins > Plugins > Available plugins. Search for the plugin oic-auth in the search field, and install the plugin. Jenkins must be restarted afterwards to ensure the plugin is loaded.
After the restart, navigate to Manage Jenkins again, and click Security.
Modify the Security Realm option to select Login with Openid Connect.
In the Client id and Client secret fields, enter the Client ID and Client Secret values from the provider you created.
Set the configuration mode to Automatic configuration and set the Well-known configuration endpoint to https://authentik.company/application/o/<application_slug>/.well-known/openid-configuration
Check the checkbox Override scopes and input the scopes openid profile email into the new input field.
Further down the page, expand the Advanced section and input the following values:
preferred_usernamenameemailgroupsWe also recommend enabling the option Enable Proof Key for Code Exchange further down the page.
Additionally, as a fallback to regain access to Jenkins in the case of misconfiguration, we recommend configuring the Configure 'escape hatch' for when the OpenID Provider is unavailable option below. How to configure this option is beyond the scope of this document, and is explained by the OpenID Plugin.