Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
84d9d92
feat: add group filtering functionality for user and group synchroniz…
dsvh Nov 18, 2025
3ffe2d9
Fix actions/checkout version to v4
dsvh Nov 18, 2025
e97da67
Add GitHub Actions workflow for keycloak-scim release
dsvh Nov 18, 2025
c81d589
Merge branch 'main' of https://github.com/dsvh/keycloak-scim into BR-…
dsvh Nov 18, 2025
eecc790
Fix Gradle and Shadow plugin compatibility
dsvh Nov 18, 2025
68d385d
Update GitHub Actions workflow for Keycloak SCIM
dsvh Nov 18, 2025
9340466
Add missing getModel() method to fix compilation error
dsvh Nov 18, 2025
c82a778
Add missing import for MultivaluedHashMap
dsvh Nov 18, 2025
51ef94c
Add missing closing brace for the class
dsvh Nov 18, 2025
2e32e9a
Add missing imports and skipRefresh method
dsvh Nov 18, 2025
ed09c49
Add missing imports and getModel method
dsvh Nov 18, 2025
db27223
Fix filter handling as List<String>
dsvh Nov 18, 2025
fd12376
Add branch to workflow triggers
dsvh Nov 18, 2025
3971e28
Change changeset id to 1.1 to bypass checksum validation
dsvh Nov 18, 2025
6cc3fc0
Add help text for propagation-user and propagation-group config options
dsvh Nov 19, 2025
1b7591d
Bump version to 1.1-SNAPSHOT
dsvh Nov 19, 2025
838f8f7
Update release workflow to include version in tag and title, and rest…
dsvh Nov 19, 2025
49a1d7a
Fix version extraction in workflow
dsvh Nov 19, 2025
42dddfa
Replace deprecated action with softprops/action-gh-release to fix set…
dsvh Nov 19, 2025
57df71c
Update Gradle to 8.11 for better compatibility
dsvh Nov 19, 2025
13f6a7e
Upgrade to Gradle 9.2.1 and Shadow plugin 9.2.2
dsvh Nov 19, 2025
dba5d3a
Fix group sync when resources are manually deleted from Databricks
dsvh Nov 19, 2025
351ba2f
Fix SCIM sync error handling for Databricks API
dsvh Nov 19, 2025
63f9f7a
Improve SCIM client error handling and UI labels
dsvh Nov 19, 2025
cb90d4c
Upgrade version to 1.2 for new release
dsvh Nov 19, 2025
cbb7ed3
Add configurable username source for SCIM userName field
dsvh Nov 20, 2025
7e3ab93
Upgrade version from 1.2 to 1.3
dsvh Nov 20, 2025
5121c54
Fix config property name inconsistency: change username-attribute to …
dsvh Nov 20, 2025
cacf9ca
Enhance sync logging to show detailed user/group information
dsvh Nov 20, 2025
bcf3988
Enhance sync response to include detailed lists of affected users and…
dsvh Nov 20, 2025
94bd087
Fix group membership sync to use user email as member value for Datab…
dsvh Nov 20, 2025
d04ba77
Use username-source config for group member values to match user SCIM…
dsvh Nov 20, 2025
3b7bd5d
Fix GroupAdapter PATCH operations to only perform one operation per r…
dsvh Nov 20, 2025
eeaa7a3
Fix ScimClient to handle Databricks PATCH limitations for groups
dsvh Nov 20, 2025
c502310
Fix group member values to use Databricks user IDs instead of emails
dsvh Nov 20, 2025
bc5ed48
Added map users and groups for existing users
dsvh Nov 20, 2025
163b178
Fix compilation error by adding missing trackFailed method and closin…
dsvh Nov 20, 2025
63d5a79
Add debug logging to check map-existing-users config value
dsvh Nov 20, 2025
ba8bf83
Add detailed debug logging for SCIM list request during 409 mapping
dsvh Nov 20, 2025
bfd7141
Add force overwrite functionality with client-side filtering fallback
dsvh Nov 20, 2025
66b38d6
Fix SCIM user mapping to handle pagination in client-side filtering
dsvh Nov 20, 2025
3b13007
Attempt mapping to existing users on any 4xx create failure
dsvh Nov 20, 2025
fd21c20
Fix client-side filtering to fetch all users without pagination param…
dsvh Nov 20, 2025
fb79d0e
Change user filter to userName eq for server-side filtering
dsvh Nov 20, 2025
fbdd2f9
v1.4
dsvh Nov 20, 2025
253548e
fix: api issue with token
dsvh Nov 21, 2025
dab5d0c
Fix mapping to existing Databricks users on email match
dsvh Nov 24, 2025
ebaa379
Fix SCIM mapping by fetching all users and filtering client-side to a…
dsvh Nov 24, 2025
4774e05
Add debug logs for mapping logic
dsvh Nov 24, 2025
2bf9166
Fix compilation error and add debug logs for SCIM mapping
dsvh Nov 24, 2025
51ce787
Add detailed logging for SCIM list requests to debug fetch failures
dsvh Nov 24, 2025
1b4c6ee
Change debug logs to info in fetchAllResources for visibility
dsvh Nov 24, 2025
2a25357
Increase SCIM client timeouts to 30s and add full stack trace logging…
dsvh Nov 24, 2025
e91aa43
Fix SCIM list request by using full URL instead of relative path
dsvh Nov 24, 2025
998a46c
Fix importResources list URL to use full endpoint instead of 'url'
dsvh Nov 24, 2025
495fd89
Reduce log verbosity: change redundant INFO logs to DEBUG level for '…
dsvh Nov 24, 2025
e0b84aa
Merge branch 'main' into BR-485-keycloak-groups-filter
dsvh Nov 25, 2025
0626010
Merge pull request #1 from dsvh/BR-485-keycloak-groups-filter
dsvh Nov 25, 2025
f6f9486
Fix group creation when missing in Databricks during sync
dsvh Nov 25, 2025
2112382
Merge pull request #2 from dsvh/BR-485-keycloak-groups-filter
dsvh Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 31 additions & 23 deletions .github/workflows/release-keycloak-scim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,40 @@ name: Build keycloak-scim and release
on:
push:
branches:
- 'main'
- "main"
tags:
- 'v*'
- "v*"
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4

- name: Set up JDK 17
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'temurin'

- name: Build with Gradle
run: gradle shadowJar

- name: Create Release with jar file
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: false
title: "keycloak-scim release"
files: |
./build/libs/*.jar
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4

- name: Set up JDK 17
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: "17"
distribution: "temurin"

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-version: 9.2.1
cache-disabled: true

- name: Get version
run: echo "VERSION=$(./gradlew -q properties | grep '^version:' | cut -d' ' -f2)" >> $GITHUB_ENV

- name: Build with Gradle
run: ./gradlew shadowJar

- name: Create Release with jar file
uses: softprops/action-gh-release@v1
with:
tag_name: "v${{ env.VERSION }}"
name: "keycloak-scim ${{ env.VERSION }} release"
files: ./build/libs/*.jar
generate_release_notes: true
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
plugins {
id 'java'
id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'com.gradleup.shadow' version '9.2.2'
id 'org.openrewrite.rewrite' version '6.24.0'
}

group = 'sh.libre.scim'
version = '1.0-SNAPSHOT'
version = '1.4'
description = 'keycloak-scim'

java.sourceCompatibility = JavaVersion.VERSION_17
Expand Down
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
248 changes: 248 additions & 0 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading