Hello,
I am working on a quite complex post-action build, where the user can select which info to display through a hetero-list.
For this purpose, I overwrote the function newInstance from the plugin descriptor to call function DescribableList.rebuildHetero(...)
Now I am studying the possible integration with the Workflow plugin, and so far, the only way I know to set up this describable list is to instantiate all items by hand, and create a DataBoundSetter, e.g. :
node {
def item1 = new ItemType1( 'SomeParameter' )
def item2 = new ItemType2( 'SomeParameter' )
def item3 = new ItemType3( 'SomeParameter' )
[...]
step([$class: 'MyPlugin', input: 'out.xml', items: [item1, item2, item3]])
}
Now as I understand, there is no way to configure a step via GUI (using the existing config.jelly from the post-build action).
I also don't know how to generate a snippet to define the items, the snippet generator only generated the code :
step([$class: 'MyPlugin', input: 'out.xml'])
which is based on the DataBoundConstructor
There are several drawbacks to this :
- First, the writing is complex as the user has to know exactly the classes and parameters available
- Second : in FreeStyleProjects, a new plugin instance is generated for the project each time the configuration is changed, and builds can easily find a reference to it. Here, a new plugin is configured for each run, is that right? If yes, that means any change I do to a job (change the items to be displayed) won't affect other builds, as they don't share the same plugin instance, thus have a different DescribableList
Any idea here on how tos olve these issues? Surely I'm not the only one
Thanks