[JENKINS-10693] Prevent name conflicts with top-level options #6959
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See JENKINS-10693.
Checkboxes for job names have a
name
attribute matching the job name. If that'sjson
, that'll mess with the magic parameter for structured form submission populated bybuildFormTree
. Other problematic names are names of other options, likerecurse
oruseincluderegex
: Setting the built-in option will include the job in the view, and/or vice versa.The solution has two components:
json
form field, or other top-level form fields accessed withStaplerRequest#getParameter
. For structured form submission, the prefixes are removed inbuildFormTree
usingshortenName
, so the generated JSON object doesn't include them, which is what counts.items
to prevent collisions in thejson
parameter at the top-level (e.g.recurse
would be a bad job name to have givenjenkins/core/src/main/java/hudson/model/ListView.java
Line 445 in cb1bbc7
Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Proposed changelog entries
section only if there are breaking changes or other changes which may require extra steps from users during the upgrade@Restricted
or have@since TODO
Javadoc, as appropriate.@Deprecated(since = "TODO")
or@Deprecated(forRemoval = true, since = "TODO")
if applicable.Desired reviewers
@mention
Maintainer checklist
Before the changes are marked as
ready-for-merge
:Proposed changelog entries
are accurate, human-readable, and in the imperative moodupgrade-guide-needed
label is set and there is aProposed upgrade guidelines
section in the PR title. (example)lts-candidate
to be considered (see query).