It should be easier to refer to a particular Credentials from a script.

      Currently you can use GenericSCMStep with a hardcoded ID (or see JENKINS-26085). But this looks ugly in the script. It would be nicer for not just Workflow but other non-UI-driven plugins as well (Templates, Job DSL, YAML Project, &c.) if you could define a meaningful ID when creating a StandardCredentials. Perhaps this could be in an Advanced block when configuring the credentials. Without such a UI, you have to resort to editing $JENKINS_HOME/credentials.xml and reloading configuration from disk.

      Note that the actual lookup of the live StandardCredentials by its ID happens in some context, where the Item and DomainRestrictions are considered. So if the referent is not appropriate in the current context, the plugin code using the ID (for example, git-plugin) is responsible for rejecting the attempt, minimally just by saying that no Credentials with that ID could be found. In other words, security & sanity checks can be done in UI forms but they must be done again at runtime anyway; this is true even for freestyle projects since you can just upload a new config.xml with an arbitrary <credentialsId>...</credentialsId>.

      The Credentials plugin does of course need to take care to ensure that IDs are unique within a given CredentialsProvider when loading definitions from disk or adding definitions.

          [JENKINS-26099] Configurable ID for Credentials

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/plaincredentials/impl/FileCredentialsImpl.java
          src/main/java/org/jenkinsci/plugins/plaincredentials/impl/StringCredentialsImpl.java
          src/main/resources/org/jenkinsci/plugins/plaincredentials/impl/FileCredentialsImpl/credentials.jelly
          src/main/resources/org/jenkinsci/plugins/plaincredentials/impl/StringCredentialsImpl/credentials.jelly
          http://jenkins-ci.org/commit/plain-credentials-plugin/0ba4a8ae2df3e43bafcd8fd14519c974c18a1bdf
          Log:
          JENKINS-26099 Permit StringCredentialsImpl.id and FileCredentialsImpl.id to be configured.

          Compare: https://github.com/jenkinsci/plain-credentials-plugin/compare/846644ae21ff^...0ba4a8ae2df3

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/main/java/org/jenkinsci/plugins/plaincredentials/impl/FileCredentialsImpl.java src/main/java/org/jenkinsci/plugins/plaincredentials/impl/StringCredentialsImpl.java src/main/resources/org/jenkinsci/plugins/plaincredentials/impl/FileCredentialsImpl/credentials.jelly src/main/resources/org/jenkinsci/plugins/plaincredentials/impl/StringCredentialsImpl/credentials.jelly http://jenkins-ci.org/commit/plain-credentials-plugin/0ba4a8ae2df3e43bafcd8fd14519c974c18a1bdf Log: JENKINS-26099 Permit StringCredentialsImpl.id and FileCredentialsImpl.id to be configured. Compare: https://github.com/jenkinsci/plain-credentials-plugin/compare/846644ae21ff ^...0ba4a8ae2df3

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/main/java/com/cloudbees/plugins/credentials/CredentialsProvider.java
          src/main/java/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials.java
          src/main/java/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl.java
          src/main/java/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl.java
          src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/help-description.html
          src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/help-description_ja.html
          src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/help-id.html
          src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/id-and-description.jelly
          src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/id-and-description_de.properties
          src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/id-and-description_ja.properties
          src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/credentials.jelly
          src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/credentials_de.properties
          src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/credentials_ja.properties
          src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/help-description.html
          src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/help-description_ja.html
          src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/credentials.jelly
          src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/credentials_de.properties
          src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/credentials_ja.properties
          src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/help-description.html
          src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/help-description_ja.html
          src/test/java/com/cloudbees/plugins/credentials/MockFolderCredentialsProvider.java
          src/test/java/com/cloudbees/plugins/credentials/impl/BaseStandardCredentialsTest.java
          http://jenkins-ci.org/commit/credentials-plugin/f2639a47ab25274069c6d1fc7ee10e1817724f95
          Log:
          Merge pull request #21 from jenkinsci/config-id-JENKINS-26099

          [FIXED JENKINS-26099] Pick an ID for credentials

          Compare: https://github.com/jenkinsci/credentials-plugin/compare/fc7055dd1795...f2639a47ab25

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/com/cloudbees/plugins/credentials/CredentialsProvider.java src/main/java/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials.java src/main/java/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl.java src/main/java/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl.java src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/help-description.html src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/help-description_ja.html src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/help-id.html src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/id-and-description.jelly src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/id-and-description_de.properties src/main/resources/com/cloudbees/plugins/credentials/impl/BaseStandardCredentials/id-and-description_ja.properties src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/credentials.jelly src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/credentials_de.properties src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/credentials_ja.properties src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/help-description.html src/main/resources/com/cloudbees/plugins/credentials/impl/CertificateCredentialsImpl/help-description_ja.html src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/credentials.jelly src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/credentials_de.properties src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/credentials_ja.properties src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/help-description.html src/main/resources/com/cloudbees/plugins/credentials/impl/UsernamePasswordCredentialsImpl/help-description_ja.html src/test/java/com/cloudbees/plugins/credentials/MockFolderCredentialsProvider.java src/test/java/com/cloudbees/plugins/credentials/impl/BaseStandardCredentialsTest.java http://jenkins-ci.org/commit/credentials-plugin/f2639a47ab25274069c6d1fc7ee10e1817724f95 Log: Merge pull request #21 from jenkinsci/config-id- JENKINS-26099 [FIXED JENKINS-26099] Pick an ID for credentials Compare: https://github.com/jenkinsci/credentials-plugin/compare/fc7055dd1795...f2639a47ab25

          Jesse Glick added a comment -

          Changes to credentials and plain-credentials released. Changes to ssh-credentials merged, ready for release.

          Jesse Glick added a comment - Changes to credentials and plain-credentials released. Changes to ssh-credentials merged, ready for release.

          This is a very handy improvement: thanks!
          However as of 1.602 I can see ID configurable only for 'Username with password' kind in advanced settings. For 'SSH Username with private key' it's not available (advanced settings contain only passphrase for the key). Am I missing something? Do I need to install some plugin maybe?

          Thanks!

          Morgwai Kotarbinski added a comment - This is a very handy improvement: thanks! However as of 1.602 I can see ID configurable only for 'Username with password' kind in advanced settings. For 'SSH Username with private key' it's not available (advanced settings contain only passphrase for the key). Am I missing something? Do I need to install some plugin maybe? Thanks!

          New version of SSH Credential Plugin needs to be released to pick-up Jesse Glick's changes. Reassigning to Stephen Connolly as he is the maintainer of the plugin according to https://wiki.jenkins-ci.org/display/JENKINS/SSH+Credentials+Plugin

          Morgwai Kotarbinski added a comment - New version of SSH Credential Plugin needs to be released to pick-up Jesse Glick's changes. Reassigning to Stephen Connolly as he is the maintainer of the plugin according to https://wiki.jenkins-ci.org/display/JENKINS/SSH+Credentials+Plugin

          Jesse Glick added a comment -

          morgwai JIRA tracks work in progress. Once the fix is merged to master it is Fixed.

          Jesse Glick added a comment - morgwai JIRA tracks work in progress. Once the fix is merged to master it is Fixed .

          So where should I file an issue related to releasing a merged code in general? after all that's what end users see: it doesn't really matter how perfect is the code in master until it's released...

          Thanks!

          Morgwai Kotarbinski added a comment - So where should I file an issue related to releasing a merged code in general? after all that's what end users see: it doesn't really matter how perfect is the code in master until it's released... Thanks!

          Jesse Glick added a comment -

          There is no place to file such things, other than pestering the plugin maintainer, in this case stephenconnolly.

          Jesse Glick added a comment - There is no place to file such things, other than pestering the plugin maintainer, in this case stephenconnolly .

          Anudeep Lalam added a comment -

          jglick - I am using Jenkins ver. 2.9. I want to customise my Jenkins Credential ID. When I try to configure, the edit option is not present for ID. Please see below.

          Where can I edit the ID ??

          Anudeep Lalam added a comment - jglick - I am using Jenkins ver. 2.9. I want to customise my Jenkins Credential ID. When I try to configure, the edit option is not present for ID . Please see below. Where can I edit the ID ??

          Jesse Glick added a comment -

          anudeeplalam the ID can only be customized on new credentials. Once created it is immutable.

          Jesse Glick added a comment - anudeeplalam the ID can only be customized on new credentials. Once created it is immutable.

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: