From a519735f6b7c825ceb431cb5c249ea44fb2143f7 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Tue, 9 Apr 2024 17:56:58 +0200 Subject: [PATCH] read GroupDetails displayname `loadGroupByGroupname2` returns a GroupDetails object. This has a getDisplayName method that we can use to show the actual groupname instead of the object_id for EntraID (AzureAD) --- .../cio/hudson/plugins/rolestrategy/ValidationUtil.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/michelin/cio/hudson/plugins/rolestrategy/ValidationUtil.java b/src/main/java/com/michelin/cio/hudson/plugins/rolestrategy/ValidationUtil.java index 641e7783..58c6458a 100644 --- a/src/main/java/com/michelin/cio/hudson/plugins/rolestrategy/ValidationUtil.java +++ b/src/main/java/com/michelin/cio/hudson/plugins/rolestrategy/ValidationUtil.java @@ -3,6 +3,7 @@ import hudson.Functions; import hudson.Util; import hudson.model.User; +import hudson.security.GroupDetails; import hudson.security.SecurityRealm; import hudson.security.UserMayOrMayNotExistException2; import hudson.util.FormValidation; @@ -87,7 +88,8 @@ static String formatUserGroupValidationResponse(AuthorizationType type, String u static FormValidation validateGroup(String groupName, SecurityRealm sr, boolean ambiguous) { String escapedSid = Functions.escape(groupName); try { - sr.loadGroupByGroupname2(groupName, false); + GroupDetails details = sr.loadGroupByGroupname2(groupName, false); + escapedSid = Util.escape(StringUtils.abbreviate(details.getDisplayName(), 50)); if (ambiguous) { return FormValidation.respond(FormValidation.Kind.WARNING, formatUserGroupValidationResponse(AuthorizationType.GROUP, escapedSid,