YAML spec structure for custom plugin fields
Asked by Cory Pritchard:

I'm trying to define field values for a custom Bamboo plugin that I've written and I can't seem to find any information on the structure of the YAML to do so. It seems like I'll have to use the "AllOtherPluginsConfiguration", based on looking at the Java spec examples. I'm basically looking to do this, but in YAML (with my own plugin, not clover):  

    AllOtherPluginsConfiguration configurationForJob = new AllOtherPluginsConfiguration()    .configuration(new MapBuilder()        .put("custom", new MapBuilder()            .put("clover", new MapBuilder()                .put("path", "results")                .put("license", "")                .put("integration", "custom")                .put("exists", "true")                .put("useLocalLicenseKey", "true")                .build())            .build())        .build());
    Plan plan = new Plan(project, "My Plan Two", "PLAN2")    .description("This is an example of a plan")    .enabled(true)    .stages(new Stage("Stage 1")        .jobs(new Job("Job 1", "JOB")            .pluginConfigurations(configurationForJob))); 

So far I have something that looks like:

```
Job 1:
    tasks:
        - script:
            - echo 'Hello from YAML Specs'
    pluginConfigurations:
        allOtherPluginsConfiguration:
            custom:
                myPlugin:
                    field1: true    
```

I've tried a variety of combinations similar to that but can't seem to stumble upon the correct one. So I guess my question is: is this possible to do in YAML spec like it seems to be in Java spec? And if so, is there documentation anywhere as to how it should be formatted?


Answers:
author: Alexey Chystoprudov
body: Hello Cory,

There's no automatic support of such functionality for YAML specs.

But since Bamboo 7.0 it's possible to have this functionality if plugin vendor adds it to app.

There's no official documentation but you can see implementation details at open source plugins:

\* see <https://bitbucket.org/atlassian/bamboo-plan-ownership-plugin/src/master/src/main/java/com/atlassian/buildeng/ownership/plan/PlanOwnershipPlanConfigurationPlugin.java> method fromYaml

\* see usage of <https://bitbucket.org/atlassian/per-build-container/src/master/bamboo-isolated-docker-plugin/src/main/java/com/atlassian/buildeng/isolated/docker/yaml/YamlConfigParser.java>

Bamboo 7.0.0-rc1 is available for download already

comments: author: Cory Pritchard
body: Thanks for the reply. We're not currently using Bamboo 7 yet, but I will keep this for reference once we upgrade.


author: Alexey Chystoprudov
body: Just checked source code, it's available since 6.10


author: Alexey Chystoprudov
body: Hi everyone, I couldn't find a way how to make it work, all the time it says that the structure of my yaml is incorrect, I'm using the documentation from here:  
<https://docs.atlassian.com/bamboo-specs-docs/6.9.0/specs.html?yaml#miscellaneous-plugins>  

It says that miscellaneous plugins are supported; however, I'm out of ideas how to make it work. I'm trying to do something like, but it fails on wrong yaml structure:

```
---
version: 2
plan:
  project-key: foo
  key: bar
  name: foo-bar
  other:
    allOtherPluginsConfigurations:
      custom:
        allure:
          artifact.name: "allure-results"
          config:
            failed.only: "false"
            executable: "allure-2.5.0"
            enabled: "true"?
```

<br />

[@Alexey Chystoprudov](/t5/user/viewprofilepage/user-id/781646) could you give me a piece of advice on that matter? I'd appreciate any help

comments: author: Alexey Chystoprudov
body: Hello @\[deleted\] , sorry for delay.

Unfortunately the provided code will not work until Allure Bamboo plugin team provides support for YAML specs at app's code. You need to contact them with feature request or PR for such functionality .