...
Code Block | ||
---|---|---|
| ||
def call( def COMPLIANCE_REPO_CREDENTIALS, def COMPLIANCE_REPO_URL, def RULESDIR, def TESTSUITENAME, def CONTINUEONFAIL ) { try { // Perform a 'git checkout' of a remote repository which is NOT the repository from which this pipeline code was sourced checkout COMPLIANCE_REPO_URL using COMPLIANCE_REPO_CREDENTIALS // Executes the 'mettleci compliance test' command to test your repository's DataStage jobs against your Compliance rules. // Note that 'mettleci compliance test' is not the same as 'mettleci compliance query' - See the documentation for more details. mettleci compliance test $RULESDIR $TESTSUITENAME } junit testResults "compliance_report_${TESTSUITENAME}.xml"finally { # Publish Unit Test results // }Whether the above is successfult catch(e) {or not... junit testResults "compliance_report_${TESTSUITENAME}.xml" // Publish CCMT output as JUnit Test Results # Publish Unit Test results allowEmptyResults: true // Don't fail the build on missing test result files or empty test results throw e skipPublishingChecks: true // Don't automatically publish test results to Git skipMarkingBuildUnstable: (CONTINUEONFAIL) // (Optionally) mark the build as #successful,even Propagateif errorthere forare downstreamtest errorfailures handlingreported } } |
Note that this Custom Step makes used of Jenkins' JUnit plugin.