I'm working on a new 'user / group' picker for the Azure AD plugin

The current picker isn’t very easy to use if people have the same or similar names, so I’m integrating a web component from Microsoft that adds more information to help you pick the correct user and group,

Before:
azure-ad-jenkins

After:

azure-ad-graph-toolkit

I hope people like it

Longer term I would like to allow security realms to contribute a user picker to an authorisation strategy, currently the AzureAD plugin has an authorisation strategy extending from the Matrix Auth one just to make it easier to pick users

PR: Integrate Microsoft Graph Toolkit by timja · Pull Request #136 · jenkinsci/azure-ad-plugin · GitHub

2 Likes

Looks pretty good! I wish we could provide a similar UX for other plugins like Matrix Auth, Role Strategy and Folder Auth. I understand the library is single-vendor focused, but maybe we could extend the Jenkins Core’s user API to support AJAX calls inn plugins

CC @danielbeck

I created https://issues.jenkins.io/browse/JENKINS-65807 for this a couple of weeks back, but that was before I gave it much of a go.

I found that the existing autocomplete behaviour in Jenkins was too limited. I needed more information than just a string and richer display ideally.

I had a look around and found this off the shelf component which was perfect for my needs

So I would possibly re-purpose the above ask to integrate lookup in each authorisation strategy directly with an extension point, even if just a jelly extension. I may give it a go if I have time.

I would like to get rid of the Azure Ad authorisation strategy, the main reason it exists is to make it easier to select users and to use group display names rather than just uuid’s, that may not be so easy to add support for though

1 Like

What did you end up using? There’s some really nice web component auto complete libraries that should be pretty portable, though i’m still scared of the prototype tojson hacks.

Oooh that is a web component. I love seeing them in the wild.

@oleg-nenashev the component is pretty agnostic so could easily be reused

1 Like

Would be nice to try it out. Yet another use-case for a generic Authorization Strategy API Plugin (or something like that)

1 Like