Summary and recommendation
Jenkins, the open-source CI/CD platform, does not support SCIM provisioning on any plan. While Jenkins offers SAML 2.0 SSO through plugins like the SAML plugin or miniOrange SAML SP, this only provides authentication with just-in-time (JIT) provisioning—meaning user accounts are created automatically on first login but there's no automated lifecycle management thereafter. For DevOps teams managing Jenkins across development, staging, and production environments, this creates a significant security gap when developers or contractors leave the organization.
The lack of SCIM support means IT teams have no automated way to deprovision users, disable accounts, or update permissions when roles change. Unlike other enterprise tools that might have admin dashboards for manual user management, Jenkins relies heavily on configuration files and role-based authorization plugins, making manual deprovisioning both time-consuming and error-prone. This is particularly problematic for Jenkins given its access to critical CI/CD pipelines, deployment keys, and production infrastructure—exactly the type of access that needs immediate revocation during offboarding.
The strategic alternative
Jenkins has no native SCIM. That leaves a workflow gap in offboarding, access reviews, and license cleanup unless your team handles the app another way. Stitchflow builds and maintains the IT workflows your team still runs manually, across every app, including the ones without APIs.
Quick SCIM facts
| SCIM available? | No |
| SCIM tier required | N/A |
| SSO required first? | No |
| SSO available? | Yes |
| SSO protocol | SAML 2.0 |
| Documentation | Not available |
Supported identity providers
| IdP | SSO | SCIM | Notes |
|---|---|---|---|
| Okta | Via third-party | ❌ | No native SCIM support. SAML 2.0 SSO with JIT provisioning via plugins (saml or miniorange-saml-sp). Users created on first login. Group attributes map to Jenkins roles. |
| Microsoft Entra ID | Via third-party | ❌ | Microsoft Entra ID plugin for authentication/authorization. No SCIM provisioning. Uses Graph API for user/group lookup. Matrix Authorization with Entra groups supported. |
| Google Workspace | Via third-party | ❌ | No native support |
| OneLogin | Via third-party | ❌ | No native support |
The cost of not automating
Without SCIM (or an alternative like Stitchflow), your IT team manages Jenkins accounts manually. Here's what that costs:
The Jenkins pricing problem
Jenkins gates SCIM provisioning behind premium plans, forcing significant cost increases for basic user management.
Tier comparison
| Plan | Price | SSO | SCIM |
|---|---|---|---|
| Open Source | Free | ||
| CloudBees Team | $30/user/month | ||
| CloudBees Enterprise | Custom pricing |
Pricing and provisioning options
| Plan | Price | SCIM Support |
|---|---|---|
| Open Source | Free | ❌ No native support |
| CloudBees Team | $30/user/month | ❌ No native support |
| CloudBees Enterprise | Custom pricing | ❌ No native support |
What this means in practice
No automated user lifecycle management: When developers leave your organization, their Jenkins accounts remain active indefinitely. You must manually track sessions and disable accounts through the Jenkins admin interface—there's no API call from your IdP that automatically deprovisions users.
Plugin dependency for basic SSO: Even basic SAML authentication requires installing and configuring third-party plugins (typically saml or miniorange-saml-sp). Your SSO integration is only as reliable as these community-maintained plugins.
JIT provisioning creates visibility gaps: New users are created automatically on first login, but you have no advance visibility into who will access Jenkins until they actually authenticate. Role assignments happen through SAML group attributes, but troubleshooting access issues requires checking both IdP group memberships and Jenkins plugin configuration.
Additional constraints
Summary of challenges
- Jenkins does not provide native SCIM at any price tier
- Organizations must rely on third-party tools or manual provisioning
- Our research shows teams manually provisioning this app spend significant hidden costs annually
What Jenkins actually offers for identity
SAML SSO (via plugins)
Jenkins supports SAML 2.0 authentication through community-maintained plugins:
| Setting | Details |
|---|---|
| Protocol | SAML 2.0 |
| Supported IdPs | Okta, Entra ID, Google Workspace, generic SAML providers |
| Plugin options | SAML Plugin or miniOrange SAML SP Plugin |
| JIT provisioning | ✓ Users created on first login |
| Group mapping | ✓ SAML attributes map to Jenkins roles |
Plugin dependency: You must install and configure either the SAML Plugin or miniOrange SAML SP Plugin to enable SSO. Configuration requires uploading IdP metadata and mapping SAML attributes to Jenkins roles.
What's included with SAML authentication:
What's missing (no SCIM support):
| Feature | Available? |
|---|---|
| Automated user creation | ❌ JIT only |
| User profile updates | ❌ No |
| Automated deprovisioning | ❌ No |
| Group membership sync | ❌ SAML attributes only |
| License management | ❌ No |
The core problem: Jenkins has no automated deprovisioning mechanism. When users leave your organization, their Jenkins accounts remain active indefinitely unless manually disabled. For DevOps teams managing CI/CD pipelines with sensitive deployment access, this creates a significant security gap.
What IT admins are saying
Jenkins's lack of native SCIM support creates ongoing provisioning headaches for IT teams managing DevOps access:
- No automated user deprovisioning when employees leave - accounts remain active
- SAML plugin setup required for each Jenkins instance, adding complexity to deployments
- Manual role management outside the identity provider workflow
- Session cleanup becomes a security concern during offboarding
SAML 2.0 via plugins. JIT provisioning creates users on first login. Group attributes map to Jenkins roles. Role-based Authorization Strategy plugin recommended.
No native SCIM support. SAML 2.0 SSO with JIT provisioning via plugins... Users created on first login.
The recurring theme
While Jenkins handles login through SAML SSO, IT teams are left manually tracking active sessions and cleaning up user accounts when developers leave. The lack of automated deprovisioning turns employee offboarding into a multi-step security checklist.
The decision
| Your Situation | Recommendation |
|---|---|
| Small DevOps team (<10 developers) | Manual user management with SAML SSO plugins |
| Development team with low turnover | Manual management acceptable, configure role-based authorization |
| Large engineering organization (50+ developers) | Use Stitchflow: automation essential for scale |
| Enterprise with security compliance requirements | Use Stitchflow: automated deprovisioning critical for audit compliance |
| Multi-environment Jenkins deployments | Use Stitchflow: consistent provisioning across all instances |
The bottom line
Jenkins has no native SCIM. That means one more workflow gap in offboarding, access reviews, and license cleanup unless your team handles it another way.
Close the Jenkins workflow gap
Jenkins is one gap in a broader workflow. Stitchflow builds and maintains the offboarding, access review, or license workflow across every app in your environment.
Technical specifications
SCIM Version
Not specifiedSupported Operations
Not specifiedSupported Attributes
Plan requirement
Not specifiedPrerequisites
Not specifiedKey limitations
- No native SCIM support
- Requires SAML plugin installation
- JIT provisioning via SAML
- Role-based authorization via separate plugin
Documentation not available.
Configuration for Okta
Integration type
Okta Integration Network (OIN) app
Where to enable
Docs
No native SCIM support. SAML 2.0 SSO with JIT provisioning via plugins (saml or miniorange-saml-sp). Users created on first login. Group attributes map to Jenkins roles.
Use Stitchflow for automated provisioning.
Close the workflow gap in
Jenkins
Jenkins has no native SCIM. That leaves one more workflow gap in offboarding, access reviews, and license cleanup unless your team handles it another way.
Start with the free gap diagnostic


