...
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 # Publish Unit Test results output as JUnit Test Results allowEmptyResults: true // Don't fail the build on missing test result files or empty test results skipPublishingChecks: true throw e // Don't automatically publish test results to Git skipMarkingBuildUnstable: (CONTINUEONFAIL) # Propagate error for downstream error handling// (Optionally) mark the build as successful,even if there are test failures reported } } |
Note that this Custom Step makes used of Jenkins' JUnit plugin.