-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Medium
-
Affects Version/s: 12.1.2, 12.1.3
-
Component/s: Agents, Capabilities
-
None
-
1
-
Severity 2 - Major
-
4
Issue Summary
When configuring an ephemeral agent on a fresh Bamboo 12.1.3 instance, adding executable capabilities to the agent fails: the capability is not created, no error is shown in the UI, and errors only appear in the Bamboo server logs. The same behavior is reproducible in both Bamboo 12.1.2 and 12.1.3.
Steps to Reproduce
1. Install Bamboo 12.1.3 or 12.1.2.
2. Navigate to
Bamboo Administration → Overview → Ephemeral agents → Templates, and create a new template.
3. Use the sample YAML from the documentation and save the template. For example:
e.g.
--- apiVersion: v1 kind: Pod metadata: name: '{{NAME}}' labels: '{{RESOURCE_LABEL}}': bamboo-ephemeral-agent spec: containers: - image: atlassian/bamboo-agent-base:12.1.3 name: '{{BAMBOO_AGENT_CONTAINER_NAME}}' env: - name: BAMBOO_EPHEMERAL_AGENT_DATA value: '{{BAMBOO_EPHEMERAL_AGENT_DATA_VAL}}' restartPolicy: Never
4. Add capabilities to the template:
Go to Bamboo Administration → Overview → Ephemeral agents → Templates → [select the template] → Capabilities → click “Add a capability”.

5. From the Capability type dropdown, select “Executable”, and from Executable type select “Command”, then click Add.
Please refer the documentation for more details

At this point, nothing happens in the UI, and the following error appears in the Bamboo server logs:
2026-03-20 00:06:09,359 ERROR [http-nio-8085-exec-5 url: /bamboo/admin/ephemeral/addEphemeralAgentTemplateCapability.action; user: admin] [runtime] Error executing FreeMarker template freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> dedicated [in template "admin/ephemeral/configuration/viewEphemeralAgentTemplate.ftl" at line 27, column 91] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use [#if myOptionalVar??]when-present[#else]when-missing[/#if]. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if dedicated [in template "admin/ephemeral/configuration/viewEphemeralAgentTemplate.ftl" at line 27, column 86] ---- at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85) at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:48) at freemarker.core.NonBooleanException.<init>(NonBooleanException.java:47) at freemarker.core.Expression.modelToBoolean(Expression.java:195) at freemarker.core.Expression.evalToBoolean(Expression.java:178)
- The issue seems prevalent to most of other executables like ‘Ant’, ‘Fastlane’, ‘Grails’, …..
- This functionality seems working find on Bamboo 10.2.x
- In Bamboo 12.x, when selecting Capability type: Executable and Executable type: Command, the Label and Path fields are not populated, whereas in Bamboo 10.2.x these fields populate correctly, as shown below.

Expected Results
- The capability should be added to the ephemeral agent and should be visible to in the UI
Actual Results
- The capability is not added and there are no errors seen on the Bamboo UI and the errors can only be seen in the atlassian-bamboo.log
2026-03-20 00:06:09,359 ERROR [http-nio-8085-exec-5 url: /bamboo/admin/ephemeral/addEphemeralAgentTemplateCapability.action; user: admin] [runtime] Error executing FreeMarker templatefreemarker.core.InvalidReferenceException: The following has evaluated to null or missing:==> dedicated [in template "admin/ephemeral/configuration/viewEphemeralAgentTemplate.ftl" at line 27, column 91]----
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available