Hello, I am trying to create a Plan in Bamboo using specs but I everytime get the following error message:
[ERROR] Failed to execute goal com.atlassian.bamboo:bamboo-specs-runner:6.1.1:run (default-cli) on project bamboo-specs-tutorial: Execution default-cli of goal com.atlassian.bamboo:bamboo-specs-runner:6.1.1:run failed: java.lang.reflect.InvocationTargetException: An error occurred while publishing plan DEVOPS-TST: Could not parse key 'null' -> [Help 1]
and here the snippet of code:
public static void main(final String[] args) throws Exception {
BambooServer bambooServer = new BambooServer("https://bamboo.foo.com/bamboo");
Plan plan = new PlanSpec().createPlan();
bambooServer.publish(plan);
}
Project project() {
return new Project().key("DEVOPS");
}
Plan createPlan() {
return new Plan(
project(),
"TEST SPECS", "TST")
.description("Plan created from (enter repository url of your plan)");
}
Activating some TRACE logs I see the post that is
2017-10-23 11:44:34,425 INFO [BambooServer] Publishing plan DEVOPS-TST
2017-10-23 11:44:34,533 TRACE [RestHelper] Sending the following content to https://bamboo.foo.com/bamboo/rest/api/latest/import/plan via POST:
--- !!com.atlassian.bamboo.specs.util.BambooSpecProperties
rootEntity: !!com.atlassian.bamboo.specs.api.model.plan.PlanProperties
description: Plan created from (enter repository url of your plan)
enabled: true
key:
key: TST
name: TEST SPECS
oid: null
pluginConfigurations: []
dependenciesProperties:
childPlans: []
dependenciesConfigurationProperties:
blockingStrategy: NONE
enabledForBranches: true
requireAllStagesPassing: false
notifications: []
planBranchManagementProperties:
branchIntegrationProperties:
enabled: false
gatekeeper: false
integrationBranch: null
pushOn: false
createPlanBranch:
matchingPattern: null
trigger: MANUAL
deletePlanBranch:
removeDeletedFromRepository: false
removeDeletedFromRepositoryPeriod: !!java.time.Duration 'PT0S'
removeInactiveInRepository: false
removeInactiveInRepositoryPeriod: !!java.time.Duration 'PT0S'
issueLinkingEnabled: true
notificationStrategy: NONE
triggeringOption: INHERITED
project:
description: null
key:
key: DEVOPS
name: null
oid: null
repositories: []
repositoryStoredSpecsData: null
stages: []
triggers: []
variables: []
specModelVersion: 6.1.1
Am I missing anything here?
In general, the best idea is to define a plan in Bamboo UI and then export it to Bamboo Specs source code in Actions -> Configure Plan -> View plan as Bamboo Specs as described here.
Hope you have figured out the issue by now.
Hi,
I'm seeing an equally vague error when I take a job spec from a bamboo server and run the code.
2018-09-26 15:24:58,704 INFO [BambooServer] Publishing plan CT-ING
2018-09-26 15:24:59,621 INFO [BambooServer] An error occurred while publishing plan CT-ING: Could not parse key 'null'
2018-09-26 15:24:59,621 DEBUG [BambooServer] {"message":"Could not parse key 'null'","status-code":400}
Exception in thread "main" com.atlassian.bamboo.specs.api.exceptions.BambooSpecsPublishingException: An error occurred while publishing plan CT-ING: Could not parse key 'null'
at com.atlassian.bamboo.specs.util.BambooServer.translateRestException(BambooServer.java:170)
at com.atlassian.bamboo.specs.util.BambooServer.translateException(BambooServer.java:140)
at com.atlassian.bamboo.specs.util.BambooServer.publish(BambooServer.java:97)
at org.iop.iopsci.bamboo.MyPlanSpec.main(MyPlanSpec.java:207)
Caused by: com.atlassian.bamboo.specs.exceptions.BambooSpecsRestRequestException: Could not parse key 'null'
at com.atlassian.bamboo.specs.util.RestHelper.lambda$sendRequest$2(RestHelper.java:89)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:222)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:139)
at com.atlassian.bamboo.specs.util.RestHelper.sendRequest(RestHelper.java:92)
at com.atlassian.bamboo.specs.util.RestHelper.post(RestHelper.java:201)
at com.atlassian.bamboo.specs.util.SendQueue$1.run(SendQueue.java:23)
The server doesn't seem to produce much useful logging:
2018-09-26 15:27:52,463 INFO [http-nio-8085-exec-24] [BambooAuthenticator] Finished doing authentication checks for user, took 100.4 ms
2018-09-26 15:27:52,469 INFO [http-nio-8085-exec-24] [AccessLogFilter] user POST https://test-bamboo.iop.org/rest/api/latest/import/plan 415220kb
2018-09-26 15:27:52,597 INFO [http-nio-8085-exec-24] [HungBuildPlanConfigurationPlugin] setting default values for edit page. custom.com.atlassian.bamboo.plugin.hungbuildkiller.hung.enabled
Is there any way of getting the server to produce detailed output to help pin down the issue?
Could this be a bug in Bamboo 6.6.2?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.