Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-37864

Provide some mechanism for looking up whether credentials exist in Pipeline

      In my use-case, I need to use the same Jenkinsfile on multiple Jenkins instances. The only differentiation between the two are the credentials which are available for use. (Basically, one instance is authorized for deployments, thus the credentials, the other is not).

      My ideal would be a credentials global variable, or something like that, which could have utility methods like this. E.g.

      node {
        if (credentials.lookup('some-credentials-id')) {
          withCredentials('some-credentials-id') {
            sh './deploy.sh'
          }
        }
      }
      

      Related to JENKINS-37863

          [JENKINS-37864] Provide some mechanism for looking up whether credentials exist in Pipeline

          Jesse Glick added a comment -

          I suppose you could say, for example

          boolean stringCredentialsExist(String id) {
            try {
              withCredentials([string(credentialsId: id, variable: 'irrelevant')]) {
                true
              }
            } catch (_) {
              false
            }
          }
          

          Jesse Glick added a comment - I suppose you could say, for example boolean stringCredentialsExist( String id) { try { withCredentials([string(credentialsId: id, variable: 'irrelevant' )]) { true } } catch (_) { false } }

          jglick Thanks, that example worked great!

          Pieter Vogelaar added a comment - jglick Thanks, that example worked great!

            Unassigned Unassigned
            rtyler R. Tyler Croy
            Votes:
            4 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: