Skip to content

Conversation

@timja
Copy link
Member

@timja timja commented Dec 29, 2025

  • Adds a "New credentials" link to Credentials page.
  • Improves UX of selecting a credentials type
  • Uses dialogs when creating credentials to improve the experience.
credentials.mov

Part of #986

Fixes #939

ATH passed in jenkinsci/acceptance-test-harness#2565

TODO:

  • Global domain doesn't seem to work right anymore
  • No create button on c:select Add - i.e. adding a credential from a credential chooser dropdown
  • c:select needs migrating to wizard, i.e. overflow button needs to give domains in overflow...
  • Don't redirect to store after creation of credentials if on root page
  • Convert domain add credentials to use wizard
  • Do we want to constrain width of domain selector for descriptions?
  • Review if WrappedCredentialsStore still needs to exist
  • Empty state for main page should have add credentials added
  • Fix integration tests
  • ATH
  • PCT
  • Take a video once we're happy with it
  • Empty scope
  • Review TODO items in code
  • Nested folders

Testing done

  • Single level folder
  • System credentials
  • User credentials
  • ATH
  • Integration tests in this plugin
  • Nested folders

nested folder example:
image

Tested with:

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

@timja
Copy link
Member Author

timja commented Jan 25, 2026

ATH passing 🎉

Just need to review TODOs

@timja timja marked this pull request as ready for review January 25, 2026 19:03
@timja
Copy link
Member Author

timja commented Jan 25, 2026

@jtnord would appreciate a review if possible, thanks.

@timja

This comment was marked as resolved.

-->
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:l="/lib/layout" xmlns:f="/lib/form">
<st:setHeader name="X-Wizard-Title" value="${%Add Credentials}" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

X-Wizard-Title?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sets the title of the wizard page - e.g. 'Add Credentials' -> 'Add GitHub App'

checkMethod="${attrs.checkMethod}"/>
<!-- TODO add support for checking permissions against stores in request path -->
<j:set var="storeItems" value="${selectHelper.getStoreItems(context, includeUser)}"/>
<!-- TODO look into includeUser -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this valid? did things work (excepting permissions issues and failing hard) before and not now?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't see any difference. I don't think this works on master either.

I:

  • Added a credential to a user store
  • Configured a credentials parameter in a freestyle job.
  • Clicked build with parameters
  • Credential wasn't visible
  • Ticked include user
  • Credential still not visible

Same behaviour on both versions.

Unless you know any better I would just leave this one.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine, it was just the TODO changed and I thought I had seen a commit around users.

@jtnord

This comment was marked as resolved.

@jtnord

This comment was marked as resolved.

@jtnord

This comment was marked as resolved.

@jtnord

This comment was marked as resolved.

@timja
Copy link
Member Author

timja commented Jan 26, 2026

not sure if this is an issue somewhere in Jenkins core or here, but if I click in the dialog (in certain places) it closes it unexpectedly. It also closed it if I click outside the dialog (possibly more expected - but was a surprise to me when there is a specifix close (X) button.

the purple area seems to dismiss in the following:

Happens if you click inside the dialog but not on an actual element. Its because we're reusing a modal dialog type.
@janfaracik ideas on the best fix?

Copy the dialog code fully into here? Or a fix to core to allow an option to disable this?

@timja
Copy link
Member Author

timja commented Jan 26, 2026

I get an unneeded scrollbar when attempting to add a credential.

Resolved by updating the baseline to 2.528.3

@timja
Copy link
Member Author

timja commented Jan 26, 2026

NIT: the bottom floating buttons are missing some styling from the normal stick floating button bar on core pages. there is no bluring of the background behind them.

Resolved by updating the baseline

Possibly not possible, but it would be great for the ATH if the bottom button bar was outside of the scroll for the rest of the dialog (similar to the title) so that you did not have to mess with disabling the sticky button with js.

Possibly, not a blocker though.

@timja
Copy link
Member Author

timja commented Jan 26, 2026

credential type options seem to be completely inaccessible (chrome windows) - I can not tab to them, space and arrows control the page in the background of the dialog. I can tab to the X and the next button, but not the individual credential types

@janfaracik possible to get an insight from you here? I've had a look at the DOM and it looks ok =/

@janfaracik
Copy link
Member

not sure if this is an issue somewhere in Jenkins core or here, but if I click in the dialog (in certain places) it closes it unexpectedly. It also closed it if I click outside the dialog (possibly more expected - but was a surprise to me when there is a specifix close (X) button.
the purple area seems to dismiss in the following:

Happens if you click inside the dialog but not on an actual element. Its because we're reusing a modal dialog type. @janfaracik ideas on the best fix?

Copy the dialog code fully into here? Or a fix to core to allow an option to disable this?

I've got this fixed in core - jenkinsci/jenkins#26033

@timja timja requested a review from jtnord January 27, 2026 13:53
@timja
Copy link
Member Author

timja commented Jan 27, 2026

@jtnord mind taking another look please?

All should be fixed now, except for the closing of the dialog if you click in certain places.
That requires a core fix (review appreciated) - jenkinsci/jenkins#26033

Short of forking the whole dialog code into credentials plugin we couldn't see a fix there and don't expect it to be a blocker to releasing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[JENKINS-71109] CSS misalignment of nested form entries when editing credentials

3 participants