Add ability to disable report and change testrail plan name prefix
Change-Id: Id87e720046fec6f072339fe64e40bcfa7f3be6d0
Related-PROD: PROD-28588
diff --git a/jobs/pipelines/deploy-cicd-and-run-tests.groovy b/jobs/pipelines/deploy-cicd-and-run-tests.groovy
index 0434b19..380d46a 100644
--- a/jobs/pipelines/deploy-cicd-and-run-tests.groovy
+++ b/jobs/pipelines/deploy-cicd-and-run-tests.groovy
@@ -98,7 +98,9 @@
archiveArtifacts artifacts: "**/*.xml,**/*.ini,**/*.log,**/*.tar.gz"
}
stage("report results to testrail") {
- shared.swarm_testrail_report(steps)
+ if (env.REPORT_TO_TESTRAIL ?: true) {
+ shared.swarm_testrail_report(steps)
+ }
}
stage("Store TestRail reports to job description") {
def String description = readFile("description.txt")
diff --git a/jobs/pipelines/swarm-testrail-report.groovy b/jobs/pipelines/swarm-testrail-report.groovy
index 42be763..1dfd597 100644
--- a/jobs/pipelines/swarm-testrail-report.groovy
+++ b/jobs/pipelines/swarm-testrail-report.groovy
@@ -12,6 +12,7 @@
* PARENT_WORKSPACE Path to the workspace of the parent job to use tcp-qa repo
* TEMPEST_TEST_SUITE_NAME Name of tempest suite
* TCP_QA_REFS Reference to the tcp-qa change on review.gerrithub.io, like refs/changes/46/418546/41
+ * TEST_PLAN_NAME_PREFIX Prefix of test plan name
*/
@Library('tcp-qa')_
@@ -41,6 +42,7 @@
}
def report_name = ''
+ def testPlanNamePrefix = env.TEST_PLAN_NAME_PREFIX ?: ''
def testSuiteName = ''
def methodname = ''
def testrail_name_template = ''
@@ -82,7 +84,9 @@
"--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
"--testrail-case-section-name \'All\'",
]
- report_result = shared.upload_results_to_testrail(deployment_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
+ report_result = shared.upload_results_to_testrail(
+ deployment_report_name, testSuiteName, methodname, testrail_name_template,
+ reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
@@ -103,7 +107,9 @@
"--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
"--testrail-case-section-name \'All\'",
]
- report_result = shared.upload_results_to_testrail(tcpqa_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
+ report_result = shared.upload_results_to_testrail(
+ tcpqa_report_name, testSuiteName, methodname, testrail_name_template,
+ reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
@@ -119,7 +125,9 @@
testSuiteName = env.TEMPEST_TEST_SUITE_NAME
methodname = "{classname}.{methodname}"
testrail_name_template = "{title}"
- report_result = shared.upload_results_to_testrail(tempest_report_name, testSuiteName, methodname, testrail_name_template)
+ report_result = shared.upload_results_to_testrail(
+ tempest_report_name, testSuiteName, methodname, testrail_name_template,
+ testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
@@ -145,7 +153,9 @@
"--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
"--testrail-case-section-name \'Conformance\'",
]
- report_result = shared.upload_results_to_testrail(k8s_conformance_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
+ report_result = shared.upload_results_to_testrail(
+ k8s_conformance_report_name, testSuiteName, methodname, testrail_name_template,
+ reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
@@ -167,7 +177,9 @@
"--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
"--testrail-case-section-name \'Conformance\'",
]
- report_result = shared.upload_results_to_testrail(k8s_conformance_virtlet_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
+ report_result = shared.upload_results_to_testrail(
+ k8s_conformance_virtlet_report_name, testSuiteName, methodname, testrail_name_template,
+ reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
@@ -183,7 +195,9 @@
testSuiteName = "LMA2.0_Automated"
methodname = "{methodname}"
testrail_name_template = "{title}"
- report_result = shared.upload_results_to_testrail(stacklight_report_name, testSuiteName, methodname, testrail_name_template)
+ report_result = shared.upload_results_to_testrail(
+ stacklight_report_name, testSuiteName, methodname, testrail_name_template,
+ testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
@@ -205,7 +219,9 @@
"--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
"--testrail-case-section-name \'All\'",
]
- report_result = shared.upload_results_to_testrail(cvp_sanity_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
+ report_result = shared.upload_results_to_testrail(
+ cvp_sanity_report_name, testSuiteName, methodname, testrail_name_template,
+ reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
common.printMsg(report_result, "blue")
report_url = report_result.split("\n").each {
if (it.contains("[TestRun URL]")) {
diff --git a/src/com/mirantis/system_qa/SharedPipeline.groovy b/src/com/mirantis/system_qa/SharedPipeline.groovy
index 53927f7..d052f32 100644
--- a/src/com/mirantis/system_qa/SharedPipeline.groovy
+++ b/src/com/mirantis/system_qa/SharedPipeline.groovy
@@ -291,6 +291,7 @@
string(name: 'PARENT_WORKSPACE', value: pwd()),
string(name: 'TCP_QA_REFS', value: "${tcp_qa_refs}"),
string(name: 'TEMPEST_TEST_SUITE_NAME', value: "${tempest_test_suite_name}"),
+ string(name: 'TEST_PLAN_NAME_PREFIX', value: env.TESTRAIL_TEST_PLAN_NAME_PREFIX ?: ''),
]
common.printMsg("Start building job 'swarm-testrail-report' with parameters:", "purple")
common.prettyPrint(parameters)
@@ -552,12 +553,15 @@
writeFile(file: filename, text: script, encoding: "UTF-8")
}
-def upload_results_to_testrail(report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options=[]) {
+def upload_results_to_testrail(report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options=[], testPlanNamePrefix=null) {
def venvPath = '/home/jenkins/venv_testrail_reporter'
def testPlanDesc = env.LAB_CONFIG_NAME
def testrailURL = "https://mirantis.testrail.com"
def testrailProject = "Mirantis Cloud Platform"
- def testPlanName = "[MCP-Q2]System-${MCP_VERSION}-${new Date().format('yyyy-MM-dd')}"
+ if (!testPlanNamePrefix) {
+ testPlanNamePrefix = "[MCP-Q2]System"
+ }
+ def testPlanName = "${testPlanNamePrefix}-${MCP_VERSION}-${new Date().format('yyyy-MM-dd')}"
def testrailMilestone = "MCP1.1"
def testrailCaseMaxNameLenght = 250
def jobURL = env.BUILD_URL