Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.
×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!
In terms of plugins, you might want to check out David Ehringer's excellent Maven POM Value Extractor, 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, as outlined in 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
Bash
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 Quest
stages:
- 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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the clarification @Mathias Gebbe, 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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.