profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/jglick/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Jesse Glick jglick @cloudbees Chapel Hill NC

jenkins-infra/pipeline-library 170

Collection of custom steps and variables for our Jenkins instance(s)

jenkinsci/acceptance-test-harness 112

Acceptance tests cases for Jenkins and its plug-ins based on selenium and docker.

jenkinsci/build-pipeline-plugin 110

Build Pipeline Plugin

jenkinsci/cobertura-plugin 106

Jenkins cobertura plugin

cloudbees/groovy-cps 83

Groovy execution in the continuation passing style

jenkinsci/credentials-plugin 81

Provides Jenkins with extension points to securely store, manage, and bind credentials data to other Jenkins plugins, builds, pipelines, etc.

jenkinsci/active-choices-plugin 65

This plugin provides new scripted, dynamic parameters for freestyle jobs that can be rendered as combo-boxes, check-boxes, radio-buttons or rich HTML UI widgets.

jenkinsci/copyartifact-plugin 55

Jenkins copyartifact plugin

jenkinsci/active-directory-plugin 44

Jenkins active-directory plugin

pull request commentjenkinsci/lib-jenkins-maven-embedder

Upgrade to Maven 3.8.1 and related dependency versions

sounds good but does the plugin still work if using maven 3.6.3?

aloubyansky

comment created time in 24 minutes

PR opened jenkinsci/lib-jenkins-maven-embedder

Bump log4j-slf4j-impl from 2.8 to 2.14.1

Bumps log4j-slf4j-impl from 2.8 to 2.14.1.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+2 -2

0 comment

1 changed file

pr created time in 24 minutes

delete branch jenkinsci/lib-jenkins-maven-embedder

delete branch : dependabot/maven/org.apache.ant-ant-1.10.10

delete time in 25 minutes

push eventjenkinsci/lib-jenkins-maven-embedder

dependabot[bot]

commit sha abf51ba08972895a617bb037ad06e4dca37ec89a

Bump ant from 1.10.9 to 1.10.10 (#39) Bumps ant from 1.10.9 to 1.10.10. --- updated-dependencies: - dependency-name: org.apache.ant:ant dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 25 minutes

PR merged jenkinsci/lib-jenkins-maven-embedder

Bump ant from 1.10.9 to 1.10.10 dependencies java

Bumps ant from 1.10.9 to 1.10.10.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+1 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 25 minutes

push eventapache/incubator

jenkins

commit sha 4ae228086af3f01493ff0bee49a95366be9799e8

git-site-role commit from build_site.sh

view details

push time in an hour

push eventapache/incubator

jenkins

commit sha e29e5e96f03e598a35933eddd265c5f75926b13f

git-site-role commit from build_clutch.sh

view details

push time in an hour

pull request commentjenkinsci/jenkins

Bump slf4jVersion from 1.7.30 to 1.7.31

We may merge it in 24 hours if there is no negative feedback. Please see the merge process documentation for more information about the merge process

dependabot[bot]

comment created time in 5 hours

Pull request review commentjenkinsci/acceptance-test-harness

Fix latest changes of Config File Provider

 public void save() {     }      public void remove() {-        visit(url("removeConfig?id=" + this.fileId));+        // From config-file-provider 3.7.1 on, the remove element is not an anchor anymore.+        // Use the direct link with versions without the security improvement, otherwise go to the url via GET+        +        boolean useOldAnchor = getJenkins().getPlugin("config-file-provider").getVersion().isOlderThan(new VersionNumber("3.7.1"));++        if (useOldAnchor) {+            WebElement e = find(by.xpath("//a[contains(@onclick, 'removeConfig?id=" + this.fileId + "')]"));+            e.click();    +        } else {+            visit(url("removeConfig?id=" + this.fileId));

The upstream page is RequirePost so whilst the visit will work it will not remove the config file.

MRamonLeon

comment created time in 6 hours

Pull request review commentjenkinsci/acceptance-test-harness

Fix latest changes of Config File Provider

 @Describable("org.jenkinsci.plugins.configfiles.custom.CustomConfig") public class CustomConfig extends ProvidedFile { -    public final Control content = control("/config/content");-     public CustomConfig(ConfigFileProvider context, String id) {         super(context, id);     } +    /**+     * From config-file-provider:3.8.0, the content box of the custom files is a CodeMirror object instead of a textarea +     * @param customContent the content to set+     */     @Override     public void content(String customContent) {-        this.content.set(customContent);-    }+        final String PATH = "/config/content";+        boolean contentIsOldTextArea = this.getJenkins().getPlugin("config-file-provider").getVersion().isOlderThan(new VersionNumber("3.8.0"));

Given this has already been released do you need to worry about backward compatibility here?

MRamonLeon

comment created time in 7 hours

Pull request review commentjenkinsci/acceptance-test-harness

Fix latest changes of Config File Provider

 public void save() {     }      public void remove() {-        visit(url("removeConfig?id=" + this.fileId));+        // From config-file-provider 3.7.1 on, the remove element is not an anchor anymore.+        // Use the direct link with versions without the security improvement, otherwise go to the url via GET+        +        boolean useOldAnchor = getJenkins().getPlugin("config-file-provider").getVersion().isOlderThan(new VersionNumber("3.7.1"));++        if (useOldAnchor) {+            WebElement e = find(by.xpath("//a[contains(@onclick, 'removeConfig?id=" + this.fileId + "')]"));+            e.click();    +        } else {+            visit(url("removeConfig?id=" + this.fileId));

?

MRamonLeon

comment created time in 7 hours

issue openedjenkins-infra/jenkins-maven-cd-action

Version extraction is not working correctly

With the following pom.xml config:

<version>${revision}${changelist}</version>
...
<properties>
        <revision>1.0.0</revision>
        <changelist>-SNAPSHOT</changelist>
...

The following command both locally and in the GitHub workflow, evaluates to 1.0.0-SNAPSHOT instead of 1.0.0

version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate)

making the action unusable.

I want(ed) to make an automated release workflow that is triggered only manually without relying on "interesting categories" extracted from the commit messages. Would be nice to support such a scenario..

created time in 7 hours

Pull request review commentapache/netbeans

Provide an error message when POM status is invalid.

                     <compile-dependency/>                     <run-dependency>                         <release-version>1</release-version>-                        <specification-version>1.4</specification-version>+                        <specification-version>1.45</specification-version>

Looks like a large jump, should this be 1.5?

entlicher

comment created time in 8 hours

Pull request review commentapache/netbeans

Provide an error message when POM status is invalid.

 public State getState() {         return status;     }     +    @Override+    public String getStatusMessage() {+        return statusMessage;+    }+         protected void setState(State s) {+        setState(s, null);+    }++    protected void setState(State s, String message) {

The if construct in line 193 (new) looks wrong - the state could stay the same, but the message could change.

entlicher

comment created time in 8 hours

Pull request review commentapache/netbeans

Provide an error message when POM status is invalid.

 public State getState() {         return status;     }     +    @Override+    public String getStatusMessage() {+        return statusMessage;+    }+         protected void setState(State s) {+        setState(s, null);+    }++    protected void setState(State s, String message) {         if (s == status) {             return;         }         State old = status;         status = s;+        statusMessage = message;         PropertyChangeEvent event =

statusMessageis a different property, so I would expect both PropertyChangeEvents to be fired.

entlicher

comment created time in 8 hours

pull request commentjenkinsci/remoting

Logging should be of `Request` which has a `toString`, not some anonymous `Runnable`

We may merge it in 24 hours if there is no negative feedback. Please see the merge process documentation for more information about the merge process

jglick

comment created time in 8 hours

push eventapache/netbeans

Dusan Balek

commit sha 8aa2c913074415b49cc1df4407e818a27c8a2ade

LSP: Groovy diagnostic handling. (#3009) * LSP: Hint suggestions for offset computed via new generic ErrorProvider API. * ErrorProvider implementation for GSF languages. * Fixing Groovy hints to work with LSP.

view details

push time in 9 hours

PR merged apache/netbeans

LSP: Groovy diagnostic handling. Groovy LSP enhancement
  • ErrorProvider implementation for GSF languages added
  • Groovy hints foixed to work over LSP
+615 -276

0 comment

21 changed files

dbalek

pr closed time in 9 hours

PR opened apache/netbeans

Provide an error message when POM status is invalid.

If there is a Maven project with wrong pom.xml, just a generic error dialog is displayed: https://issues.apache.org/jira/browse/NETBEANS-5803

This PR adds the specific error message to the dialog.

+49 -11

0 comment

6 changed files

pr created time in 10 hours

pull request commentapache/netbeans

[NETBEANS-5803] Handle Maven projects with https name space.

I'll create a PR with the first commit, at least. Otherwise this looks like a weird NetBeans bug.

entlicher

comment created time in 11 hours

PR closed apache/netbeans

Reviewers
[NETBEANS-5803] Handle Maven projects with https name space. Maven

The Maven project support handles only http namespace. It does not count with the secure protocol. As a result, Micronaut projects, for instance, can not be customized in NetBeans.

This PR improves the error dialog with a message describing the reason why POM wasn't parsed and adds https name space.

+296 -280

5 comments

27 changed files

entlicher

pr closed time in 11 hours

pull request commentapache/netbeans

[NETBEANS-5803] Handle Maven projects with https name space.

Thanks for your comments and pardon my ignorance. I've created https://github.com/micronaut-projects/micronaut-core/issues/5642

entlicher

comment created time in 11 hours

pull request commentapache/netbeans

[NETBEANS-5803] Handle Maven projects with https name space.

Yes - a namespace does not need to relate to a concrete document. Its the job of the resolver to fetch the right document. NetBeans carries multiple catalogs, that resolve namespaces to actual documents and the built-in resolvers resolve to local documents bundled with netbeans (have a look at the enterprise/j2ee.dd and enterprise/j2ee.ddloaders modules, which carry the XSDs for the JavaEE deployment descriptors).

A good part of the XSDs has a targetNamespace of:

http://xmlns.jcp.org/xml/ns/javaee

It is pure luck, that at that location a list of descriptors is placed, that can be used by humans to download the files.

If the micronaut applications really target the https... namespace, they target a different namespace, then maven does itself. I would consider it a bug in micronaut.

entlicher

comment created time in 11 hours

pull request commentapache/netbeans

[NETBEANS-5803] Handle Maven projects with https name space.

Also found this, so we're not alone - https://youtrack.jetbrains.com/issue/IDEA-270998 This should be punted back to Micronaut?

entlicher

comment created time in 11 hours

pull request commentapache/netbeans

[NETBEANS-5803] Handle Maven projects with https name space.

Strictly speaking the http://maven.apache.org/POM/4.0.0 is an identifier although in a form of URI. The referenced https://maven.apache.org/xsd/maven-4.0.0.xsd really declares http:// URI as its targetNamespace:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/POM/4.0.0" targetNamespace="http://maven.apache.org/POM/4.0.0">

so I'd say it's a lucky coincidence that a POM that uses https:// namespace URI actually validates.

entlicher

comment created time in 11 hours

pull request commentapache/netbeans

[NETBEANS-5803] Handle Maven projects with https name space.

Isn't that because it's an invalid namespace?

entlicher

comment created time in 12 hours

PR opened apache/netbeans

Handle Maven projects with https name space.

The Maven project support handles only http namespace. It does not count with the secure protocol. As a result, Micronaut projects, for instance, can not be customized in NetBeans.

This PR improves the error dialog with a message describing the reason why POM wasn't parsed and adds https name space.

+309 -227

0 comment

27 changed files

pr created time in 12 hours

Pull request review commentjenkinsci/jep

Proposing a JEP to have terminology up to date status in a table.

+= JEP-0000: :bulb: Inclusive terminology guidelines and continuous updates :bulb:+:toc: preamble+:toclevels: 3+ifdef::env-github[]+:tip-caption: :bulb:+:note-caption: :information_source:+:important-caption: :heavy_exclamation_mark:+:caution-caption: :fire:+:warning-caption: :warning:+endif::[]++.**JEP Template**+[TIP]+====+In this document, all text in a "Tip" block (or inline text with with a ":bulb:" on either side)+MUST be removed and/or replaced with text appropriate to this JEP before submission.++Sections may include additional help and advice in comments.+":bulb:" entries in comments only need to be filled in if that text is uncommented.++See https://github.com/jenkinsci/jep/blob/master/jep/1/README.adoc[JEP-1] for full and accurate description of the JEP process and what is required in each section.+====++[TIP]+====+*BDFL-Delegate* is uncommented by default.+As part of the in initial conversation or the JEP submission the sponsor should+look for a BDFL Delegate.+While not required, it is better for the community if Delegates perform most reviews.+If no suitable BDFL-Delegate can be found, that row may be commented out.+====++.Metadata+[cols="1h,1"]+|===+| JEP+| 0000++| Title+| Inclusive terminology guidelines and continuous updates++| Sponsor+| link:https://github.com/aHenryJard[aHenryJard]

I would recommend adding a display name here unless you have a strong preference

aHenryJard

comment created time in 12 hours

Pull request review commentjenkinsci/jep

Proposing a JEP to have terminology up to date status in a table.

+= JEP-0000: :bulb: Inclusive terminology guidelines and continuous updates :bulb:+:toc: preamble+:toclevels: 3+ifdef::env-github[]+:tip-caption: :bulb:+:note-caption: :information_source:+:important-caption: :heavy_exclamation_mark:+:caution-caption: :fire:+:warning-caption: :warning:+endif::[]++.**JEP Template**+[TIP]+====+In this document, all text in a "Tip" block (or inline text with with a ":bulb:" on either side)+MUST be removed and/or replaced with text appropriate to this JEP before submission.++Sections may include additional help and advice in comments.+":bulb:" entries in comments only need to be filled in if that text is uncommented.++See https://github.com/jenkinsci/jep/blob/master/jep/1/README.adoc[JEP-1] for full and accurate description of the JEP process and what is required in each section.+====++[TIP]+====+*BDFL-Delegate* is uncommented by default.+As part of the in initial conversation or the JEP submission the sponsor should+look for a BDFL Delegate.+While not required, it is better for the community if Delegates perform most reviews.+If no suitable BDFL-Delegate can be found, that row may be commented out.+====++.Metadata+[cols="1h,1"]+|===+| JEP+| 0000++| Title+| Inclusive terminology guidelines and continuous updates++| Sponsor+| link:https://github.com/aHenryJard[aHenryJard]++// Use the script `set-jep-status <jep-number> <status>` to update the status.+| Status+| Not Submitted :information_source:++| Type+| Informational++| Created+| Date (2021-06-22)++| BDFL-Delegate+| TBD+++| JIRA+| https://issues.jenkins.io/browse/JENKINS-65398[JENKINS-65398 renaming Master to Controller/Built-in node ; whitelist and blacklist deprecation]++| Discussions-To+| https://community.jenkins.io/t/jenkins-terminology-cleanup-initiative-coordination/180+++|===++== Abstract++The goal of this JEP is to have the latest status of deprecated word or terms and agreed replacements in a table at one place that can be discussed with history.+The proposal is to have git to keep history of changes, and discussion on new term on PRs.++Deprecated term are written explicitly to be searchable.++== Specification++* The term in table must be in lower case (when the language allows it). ++* To add a new language, propose a PR on top of this JEP by a copy/paste one language (other than English) and add a new section.++* To add a new term in an existing language, propose a PR on top of this JEP with the modified table.++TBD: stands for "To Be Done", it means that there is no community agreement yet. If you have a proposal feel welcome to propose it as a PR or in https://community.jenkins.io/t/jenkins-terminology-cleanup-initiative-coordination/180[Discourse terminology thread]++=== English - Default++* property suffix: <none>++[options="header"]+|======================+| Deprecated term root           | New term root                 | New term declinaisons and comments              +| slave                          | agent                         | agents (plural)                                 +| master                         | controller                    | Frontend for Jenkins users and administrators.                     +| master                         | built-in node                 | Jenkins “main node” label - Aligned with “Jenkins as node”+| whitelist                      | allowlist                     | default but can be adapted to context           +| blacklist                      | denylist or blocklist         | default but can be adapted to context           +|======================++=== Translations++==== French++* property suffix: fr++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments                                                 +| agent                         | esclave, esclaves             | agent                         | "esclave" can be valid in a context of a spoken language.+| controller                    | maître, maitre                | contrôleur                    |                                                          +| built-in node                 | maître, maitre                | TDB                           |                                                          +| allowlist                     |                               |                               |                                                          +| denylist or blocklist         |                               |                               |                                                          +|======================++* Known Exceptions+** esclave is valid in https://github.com/jenkinsci/jenkins/blob/677fbb2a81fa8e9a0bc37ad5eca56565612e1f2e/core/report-l10n.rb#L173++==== German++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments+| agent                         | TBD                           | agent                         | agenten +| controller                    | TBD                           | controller                    |         +| built-in node                 | TBD                           | TDB                           |         +| allowlist                     |                               |                               |         +| denylist or blocklist         |                               |                               |         +|======================++* Known Exceptions++==== Spanish++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments+| agent                         | TBD                           | agente                        |         +| controller                    | TBD                           | controlador                   |         +| built-in node                 | TBD                           | TDB                           |         +| allowlist                     |                               |                               |         +| denylist or blocklist         |                               |                               |         +|======================++* Known Exceptions++==== Chinese++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments  +| agent                         | TBD                           | TDB                           |           +| controller                    | TBD                           | 控制者                         |          +| built-in node                 | TBD                           | TDB                           |           +| allowlist                     |                               |                               |           +| denylist or blocklist         |                               |                               |           +|======================++* Known Exceptions++==== Italian++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments  +| agent                         | TBD                           | TDB                           |           +| controller                    | TBD                           | controllore                   |           +| built-in node                 | TBD                           | TDB                           |           +| allowlist                     |                               |                               |           +| denylist or blocklist         |                               |                               |           +|======================++* Known Exceptions++==== Russian++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments   +| agent                         | TBD                           | агент                         |            +| controller                    | TBD                           | контроллер                    |            +| built-in node                 | TBD                           | TDB                           |            +| allowlist                     |                               |                               |            +| denylist or blocklist         |                               |                               |            +|======================++* Known Exceptions++==== Portuguese++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments     +| agent                         | TBD                           | controlador                   |              +| controller                    | TBD                           | TDB                           |              +| built-in node                 | TBD                           | TDB                           |              +| allowlist                     |                               |                               |              +| denylist or blocklist         |                               |                               |              +|======================++* Known Exceptions++==== Danish++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments      +| agent                         | TBD                           | agent                         | plural agenter+| controller                    | TBD                           | controller                    |               +| built-in node                 | TBD                           | TDB                           |               +| allowlist                     |                               |                               |               +| denylist or blocklist         |                               |                               |               +|======================++* Known Exceptions++==== Japanese++* property suffix: TODO++* Table++[options="header"]+|======================+| English term                  |Deprecated term                | New term root                 | Comments      +| agent                         | TBD                           | TBD                           | +| controller                    | TBD                           | コントローラ                    |               +| built-in node                 | TBD                           | TDB                           |               +| allowlist                     |                               |                               |               +| denylist or blocklist         |                               |                               |               +|======================++* Known Exceptions++== Motivation++There is more and more deprecated words and replacement.+Discussions and motivations on new term can be done in discussion channels, but once the descision is made by the community we need to have all deprecated terminology and replacement at one place.++As updating terminology is a huge work accross all Jenkins ecosystem, we wish to make it easy for new contributor to help.+Having deprecated words to search and replacement face to face make it more easy.+Having translations deprecated words and replacements is also more easy for maintainer to review PR that are not in native or spoken language.++== Reasoning++[TIP]+====+Explain why particular design decisions were made.+Describe alternate designs that were considered and related work. For example, how the feature is supported in other systems.+Provide evidence of consensus within the community and discuss important objections or concerns raised during discussion.++* Use sub-headings to organize this section for ease of readability.+* Do not talk about history or why this needs to be done - that is part of Motivation section.+====++== Backwards Compatibility++[TIP]+====+Describe any incompatibilities and their severity.+Describe how the JEP proposes to deal with these incompatibilities.++If there are no backwards compatibility concerns, this section may simply say:+There are no backwards compatibility concerns related to this proposal.+====++* UI text: nothing to do, except change it on tests too+* log/console text: nothing to do, except change it on test too+* jCasC symbol: TBD :bulb:+* HTTP URL / methods: TBD :bulb:+* System properties: TBD :bulb:+* code changes: TBD :bulb:++== Security++There are no security risks related to this proposal.++== Infrastructure Requirements++There are no new infrastructure requirements related to this proposal.++== Testing++[TIP]+====+If the JEP involves any kind of behavioral change to code+(whether in a Jenkins product or backend infrastructure),+give a summary of how its correctness (and, if applicable, compatibility, security, etc.) can be tested.++In the preferred case that automated tests can be developed to cover all significant changes, simply give a short summary of the nature of these tests.++If some or all of the changes will require human interaction to verify them, explain why automated tests are considered impractical.+Then, summarize what kinds of test cases might be required: user scenarios with action steps and expected outcomes.+Detail whether behavior might be different based on the platform (operating system, servlet container, web browser, etc.)?+Are there foreseeable interactions between different permissible versions of components (Jenkins core, plugins, etc.)?+Does this change require that any special tools, proprietary software, or online service accounts to exercise a related code path (e.g., Active Directory server, GitHub login, etc.)?+When will you complete testing relative to merging code changes, and might retesting be required if other changes are made to this area in the future?++If this proposal requires no testing, this section may simply say:+There are no testing issues related to this proposal.+====
N/A
aHenryJard

comment created time in 12 hours