Troubleshooting "Rerun failed/incomplete jobs only" option missing from dropdown for certain failed builds in Bamboo.
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
For a particular failed build in Bamboo the option of "Rerun failed/incomplete jobs only" was not available, Please see the image below.
Expected:
Actual :
Environment
Issue seen on 8.1.2
Diagnosis
- Navigate to the failed build via Build >> All build plans >> click on the build Id.
- Choose the failed build number and click on Run.
- Attached image under Summary section shows the missing option of "Rerun failed/incomplete jobs only"
Bamboo does not keep a record of historical pipelines configuration. If a Plan or part of it has been removed or modified, any reruns of such Plan will be based on the current Plan configuration.
Under certain circumstances which are outlined below, Bamboo will prevent you from re-running the build as allowing the build may produce unexpected results if run against old code. This is a design decision that is used for integrity purposes to prevent reruns of broken/outdated code and also for security purposes as possibly preventing running a past plan which had malicious code.
Cause
There are few causes for this and it is an expected behaviour of Bamboo, please see details below.
Cause 1 : Modifying the current Plan on which the build has failed.
- Under a Plan stage If you delete the affected Job for which the build failed and add a new Job, the option will not be visible in the dropdown and the below info will be visible on the screen.
Cause 2 : Adding new repositories to the plan
- Post build failure on Bamboo, If you try to link a new repository to the plan the option of "Rerun failed/incomplete jobs only" will be missing for the failed Build.
To check whether any repositories were added post build failure, below SQL queries can be run to find any entry for Repository has been created.
SELECT al.*,to_timestamp( TRUNC( CAST( msg_time_stamp AS bigint ) / 1000 ) )
from audit_log al
where entity_id='PROJECTKEY-PLANKEY' -- Replace this with the Project-plan Key.
order by to_timestamp asc;
SELECT AL.*, FROM_UNIXTIME(AL.MSG_TIME_STAMP/1000)
FROM AUDIT_LOG AL WHERE ENTITY_ID = ='PROJECTKEY-PLANKEY' -- Replace this with the Project-plan Key.
ORDER BY AL.MSG_TIME_STAMP ASC;
Based on the your Database any of the above 2 queries can be used , currently the queries provided are for PostgreSQL and MySQL.
PROJECTKEY-PLANKEY can be extracted by running the below query.
select full_key from build where title='PLANNAME' -- Replace PLANNAME with your plan name
In the Audit logs below entry will be seen, the timings can be checked with the time of the build failure.
Solution
The solution to this problem is to rerun the full build again as the option of "Rerun failed/incomplete jobs only" will not be available.