Bamboo YAML use a plugin like Bamboo Maven POM Value Extractor
Asked by Mathias Gebbe:

Hi all!

I am very excited to test the new bamboo.yml feature and I am already able to use maven and build our docker containers

but I need a plugin or script to extract pom values for the deployment (in my case $bamboo_maven_version)

any ideas to to achieve that?

thanks in advance!


Answers:
author: Steffen Opel _Utoolity_
body: In terms of plugins, you might want to check out David Ehringer's excellent [Maven POM Value Extractor](https://marketplace.atlassian.com/plugins/com.davidehringer.atlassian.bamboo.maven.maven-pom-parser-plugin/server/overview), which *"Extracts values from Maven POMs and keep your Bamboo variables in sync with your Maven POM"*, thus precisely addresses your requirements!

Given the latest version is from 2016, it cannot have built-in Bamboo Specs (Java) yet, which can be worked around with the [AnyTask class](https://docs.atlassian.com/bamboo-specs-docs/6.3.1/specs-java.html#configuring-unsupported-tasks), as outlined in [Configuring unsupported tasks](https://docs.atlassian.com/bamboo-specs-docs/6.3.1/specs-java.html#configuring-unsupported-tasks).

That being said, Bamboo Specs (YAML) does not yet support tasks and is mostly script focused as of today. You need to resort to a script based approach for variable extraction from Maven's XML based POM accordingly. I do not have a solution handy, but depending on your script environment, there should be several options to extract the value (possibly via XPath/XSLT), for example:  

**PowerShell**

* [Getting XML values in PowerShell](https://blogs.msdn.microsoft.com/tswift/2009/08/25/getting-xml-values-in-powershell/)
* [How to get Value from xml by PowerShell?](https://stackoverflow.com/a/11344234/45773)
* [How to parse a XML file and get the Node value using Powershell](https://blogs.technet.microsoft.com/sudheesn/2015/07/08/how-to-parse-a-xml-file-and-get-the-node-value-using-powershell/)
* [Search XML files with PowerShell using Select-XML](https://www.petri.com/search-xml-files-powershell-using-select-xml)

**Bash**

* [bash extract xml attribute value using xmllint](https://stackoverflow.com/a/43871428/45773)

comments: author: Mathias Gebbe
body: Thank you! Yes I already use the plugin. But am I able to use it out of the "new" Bamboo YAML specs

<https://docs.atlassian.com/bamboo-specs-docs/6.3.0/specs-yaml.html>

example:

    ---project:  key: DRAGON  plan:    key: SLAYER    name: Dragon Slayer Queststages:  - jobs:      - scripts:          - M2_HOME=${bamboo_capability_system_builder_mvn3_Maven_3}          - ${bamboo_capability_system_builder_mvn3_Maven_3}/bin/mvn clean install        requirements:            - system.builder.mvn3.Maven 3            - linux        artifacts:          - name: library            path: target/*.jar        testParsers:          - junit


author: Grzegorz Lewandowski
body: Bamboo YAML Specs allow only for using plain scripts. You can't use any task builders.

I think the only way who to achieve what you want is to run "grep" and get the values you need.


author: Steffen Opel _Utoolity_
body: Thanks for the clarification [@Mathias Gebbe](/t5/user/viewprofilepage/user-id/943032), I've misread your question indeed. As Grzegorz already pointed out, other than Bamboo Specs (Java), Bamboo Specs (YAML) do not yet support tasks - given Maven's POM is XML based, I've updated my answer with a few pointers how you might achieve this via Xpath/XSLT.