To use Bamboo Customized Plan variables in pom.xml

Vandana Arora
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 26, 2018

I have 3 modules in my Project and 3 testng files for which different tests should invoke. I want to choose testng_ModuleName.xml as per Bamboo variable (bamboo.module=ModuleName) value while running the customized plan in Bamboo. In pom.xml , ${bambooModule}  is used as below:

<suiteXmlFiles>
<suiteXmlFile>${bambooModule}</suiteXmlFile>
</suiteXmlFiles>

  Maven goal in Bamboo job:

test -DbambooModule=testng_${bamboo.module}.xml

 

It gives below error:

\bamboo-home\xml-data\build-dir\JOB1\ProjectName\testng_${bamboo.module}.xml is not a valid file

 

Not sure where i'm wrong. Can anyone please help.

1 answer

1 accepted

2 votes
Answer accepted
rsperafico
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 26, 2018

Hi @Vandana Arora,

Thank you for your inquire.

Here is an example where artifactId is receiving a Bamboo Variable

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>my.package</groupId>
    <artifactId>sample-${bamboo_buildNumber}</artifactId>
    <packaging>jar</packaging>
    <name>Sample</name>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
    </dependencies>
    <build>
     <sourceDirectory>src</sourceDirectory>
     <plugins>
         <plugin>
             <artifactId>maven-compiler-plugin</artifactId>
             <version>3.2.1</version>
             <configuration>
                 <source>1.8</source>
                 <target>1.8</target>
             </configuration>
         </plugin>
     </plugins>
   </build>
</project>

Whereas in the build log you would find:

...bamboo_planRepository_name=Maven 3.x\nbamboo_buildNumber=1...

Please, notice the _ (underscore) used instead of . (dot) when calling the variable.

Kind regards,

Rafael

Vandana Arora
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 28, 2018

Thanks for your Reply @rsperafico.. it worked for me now.

I have updated pom.xml as:

<suiteXmlFiles>
<suiteXmlFile>testng${bamboo_module}.xml</suiteXmlFile>
</suiteXmlFiles>

and the maven goal as:

 -Dbamboo_module=${bamboo.module} test

and my Build variable is :

module= some value

Like Steffen Opel _Utoolity_ likes this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events