-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.7.2
-
None
-
1
-
Severity 3 - Minor
-
5
-
Issue Summary
After PR branch plan is created with merge strategy, setting auto create branch plan to other options (apart from PR) will cause existing branch plan fail to start
Steps to Reproduce
- Set "Create plan branch" to "When pull request is created" at Plan Configuration >> Branches
- Configure Merge strategy Branch Updater
- Create a PR in Bitbucket Server - A PR branch plan is automatically created in Bamboo
- Run the PR branch plan to confirm that it is working
- Set the "Create plan branch" to "Manually"
- Run the PR branch plan again
Expected Results
It is able to run
Actual Results
The below exception is thrown in the atlassian-bamboo.log file:
2019-01-07 16:54:49,667 INFO [http-nio-8085-exec-25] [AccessLogFilter] kahloun.foong POST http://localhost:8085/build/admin/triggerManualBuild.action?buildKey=BAM-STAS1 325529kb 2019-01-07 16:54:49,687 ERROR [http-nio-8085-exec-25] [ManualBuildDetectionAction] : Error encountered while triggering manual build: integration plan branch key is null but shouldn't. Check your integration strategy configuration java.lang.IllegalStateException: integration plan branch key is null but shouldn't. Check your integration strategy configuration at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at com.atlassian.bamboo.plan.branch.BranchIntegrationServiceImpl.getIntegrationRepository(BranchIntegrationServiceImpl.java:68) at com.atlassian.bamboo.plan.branch.BranchIntegrationServiceImpl.getPlanRepositoryDefinitionMap(BranchIntegrationServiceImpl.java:141) at com.atlassian.bamboo.build.context.BuildContextBuilderImpl.build(BuildContextBuilderImpl.java:118) at com.atlassian.bamboo.v2.trigger.ManualBuildDetectionAction.generateResultWithoutChanges(ManualBuildDetectionAction.java:129) at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$3.createBuildDetectionResult(ChainExecutionManagerImpl.java:462) at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createNewChainState(ChainExecutionManagerImpl.java:502) at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainStateNoDetection(ChainExecutionManagerImpl.java:459) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
Workaround
Set "Create plan branch" to "When pull request is created"
This seems like a Sev 2 to me. Our organization needs to periodically switch our policy for plan branch creation, but this bug breaks all our existing branch plans every time we do it. The workaround is not acceptable because it means we cannot use the "When new branch in repository is created and matches expression" feature at all, unless we delete and manually re-create dozens of work in progress branch plans.
The alternative solution you could provide is to enable "When pull request is created and matches expression"