summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jenkins_jobs/modules/builders.py9
-rw-r--r--tests/builders/fixtures/multibuild.xml25
-rw-r--r--tests/builders/fixtures/multibuild.yaml7
3 files changed, 41 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index ab70023e..52c5155f 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -1958,6 +1958,9 @@ def multijob(registry, xml_parent, data):
:Project:
* **name** (`str`) -- Project name
+ * **alias** (`str`) -- Project alias, which will be shown
+ in MultiJob Overview. Helpful when working with the same
+ project multiple times with different configurations
* **current-parameters** (`bool`) -- Pass current build
parameters to the other job (default false)
* **node-label-name** (`str`) -- Define a list of nodes
@@ -2025,6 +2028,12 @@ def multijob(registry, xml_parent, data):
]
helpers.convert_mapping_to_xml(phaseJob, project, mapping, fail_required=True)
# Pass through other params
+ if project.get("alias"):
+ mapping = [("alias", "jobAlias", None)]
+ helpers.convert_mapping_to_xml(
+ phaseJob, project, mapping, fail_required=True
+ )
+
configs = XML.SubElement(phaseJob, "configs")
nodeLabelName = project.get("node-label-name")
diff --git a/tests/builders/fixtures/multibuild.xml b/tests/builders/fixtures/multibuild.xml
index 907a35f7..a0f7b589 100644
--- a/tests/builders/fixtures/multibuild.xml
+++ b/tests/builders/fixtures/multibuild.xml
@@ -105,5 +105,30 @@
</com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
</phaseJobs>
</com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
+ <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
+ <phaseName>PhaseFive</phaseName>
+ <continuationCondition>SUCCESSFUL</continuationCondition>
+ <executionType>PARALLEL</executionType>
+ <phaseJobs>
+ <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
+ <jobName>PhaseFiveJobA</jobName>
+ <currParams>false</currParams>
+ <jobAlias>PhaseFiveJobRunA</jobAlias>
+ <configs/>
+ <abortAllJob>false</abortAllJob>
+ <aggregatedTestResults>false</aggregatedTestResults>
+ <enableRetryStrategy>false</enableRetryStrategy>
+ </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
+ <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
+ <jobName>PhaseFiveJobA</jobName>
+ <currParams>false</currParams>
+ <jobAlias>PhaseFiveJobRunB</jobAlias>
+ <configs/>
+ <abortAllJob>false</abortAllJob>
+ <aggregatedTestResults>false</aggregatedTestResults>
+ <enableRetryStrategy>false</enableRetryStrategy>
+ </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
+ </phaseJobs>
+ </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
</builders>
</project>
diff --git a/tests/builders/fixtures/multibuild.yaml b/tests/builders/fixtures/multibuild.yaml
index 3fcdf111..0f7c6586 100644
--- a/tests/builders/fixtures/multibuild.yaml
+++ b/tests/builders/fixtures/multibuild.yaml
@@ -43,3 +43,10 @@ builders:
retry:
max-retry: 3
strategy-path: "/PhaseFour/PhaseFourRetry.prop"
+ - multijob:
+ name: PhaseFive
+ projects:
+ - name: PhaseFiveJobA
+ alias: PhaseFiveJobRunA
+ - name: PhaseFiveJobA
+ alias: PhaseFiveJobRunB