Assuming I have 3 post-chain-modules named A, B, and C. How do I control the order of their execution? Maybe I want to run them in B, C, A order. Anyway to do that? What is the logic Bamboo uses to order execution of modules?
2 Answers
Based on the Atlassian Bamboo 5.2.2 source code, the logic for executing build processors is in a method named performCustomBuildProcess
in com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.
Unfortunately, it doesn't look like there's a way to control the order of execution. performCustomBuildProcess
iterates over a List
. While a List
maintains the order that objects are inserted, the List
used in performCustomBuildProcess
is initialized by iterating over Collection
objects. Java doesn't guarantee the order of objects in a Collection
.
I believe your only option is to have a single BuildProcessor
module. This BuildProcessor
would control the order that other Java code is executed.

- 6,861
- 1
- 27
- 28
-
Yea that's pretty much what I took away from searching the internets :( Unfortunately we have somewhere around 10 different post-chain actions and can't seem to find a way to force one to execute before the other – Christopher Dancy Jul 31 '14 at 16:24
I had a similar issue and prefixed each task with a number. So far, these have executed in numerical order. Within a given stage, the tasks should execute in the order show on the task list screen. Between stages, its harder to control execution order, short of using artifacts.

- 36
- 3