मेरे जेनकींस में मेरे पास एक मल्टीब्रांच नौकरी है, मेरे पास मेरे जीथब से मेरे जेनकींस में एक वेबहुक सेटअप है जो प्रत्येक पुल अनुरोध परिवर्तन भेजता है और टिप्पणियां जारी करता है।

मैं जो करने की कोशिश कर रहा हूं वह है कि जीथब को इंडेक्सिंग उद्देश्यों के लिए पुल अनुरोध परिवर्तन भेजने दें, लेकिन नौकरी न चलाएं, जब तक कि डेवलपर जीथब पुल अनुरोध पर टिप्पणी में टिप्पणी 'परीक्षण' नहीं जोड़ता।

यह मेरा Jenkinsfile है,

pipeline {
  agent { label 'mac' }
  stages {
    stage ('Check Build Cause') {
      steps {
        script {
           def cause = currentBuild.buildCauses.shortDescription
           echo "${cause}"
        }
      }
    }
    stage ('Test') {
      when {
        expression {
          currentBuild.buildCauses.shortDescription == "[GitHub pull request comment]"
        }
      }
      steps {
        sh 'bundle exec fastlane test'
      }
    }
  }
}

इसलिए मैं चाहता हूं कि अगर ट्रिगर GitHub pull request comment नहीं है, तो कुछ भी न चलाएं। मैंने यह कोशिश की है लेकिन यह काम नहीं करता है। मैंने प्रिंट currentBuild.buildCauses.shortDescription वैरिएबल की कोशिश की है और यह [GitHub pull request comment] प्रिंट करता है, लेकिन काम अभी भी मेरे when expression के साथ नहीं चलेगा

मैं यह कैसे कर सकता हूँ? धन्यवाद

0
Fadel Trivandi Dipantara 3 अगस्त 2019, 12:11

1 उत्तर

सबसे बढ़िया उत्तर

तो वास्तव में समस्या इसलिए है क्योंकि currentBuild.buildCauses.shortDescription सादे स्ट्रिंग के बजाय ArrayList लौटाते हैं।

मैंने वास्तव में नहीं सोचा था कि यह एक सरणी [GitHub pull request comment] थी, इसलिए मैं केवल सरणी अनुक्रमणिका के साथ समस्या को ठीक करने का प्रबंधन करता हूं।

currentBuild.buildCauses.shortDescription[0]

यह सही बिल्ड ट्रिगर GitHub pull request comment लौटाता है। तो जो कोई भी इस मुद्दे पर ठोकर खाता है, इस तरह मैंने इसे ठीक किया है

pipeline {
  agent { label 'mac' }
  stages {
    stage ('Test') {
      when {
        expression {
          currentBuild.buildCauses.shortDescription[0] == "GitHub pull request comment"
        }
      }
      steps {
        sh 'bundle exec fastlane test'
      }
    }
  }
}
0
Fadel Trivandi Dipantara 16 अगस्त 2019, 10:33