History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-2615
Type: New Feature New Feature
Status: Closed Closed
Resolution: Duplicate
Priority: Minor Minor
Assignee: Robin Shen
Reporter: AlSt
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.

Custom build and request column extension point for plugins.

Created: 07/Jan/16 04:07 PM   Updated: 24/Dec/16 02:40 AM
Component/s: None
Affects Version/s: 6.0.28
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

 Description  « Hide
Sometimes it would be very helpful to have a possibility to add a custom column by plugin like the advanced setting for custom columns. I would like to add a column conditionally, e.g. if the repository XY is used in the build (configuration) it should show a column which is displaying the revision/head committer/etc.

in ConfigurationOverview there might be something like

for (BuildColumnContribution col : contributions) {
  if (col.shouldShow()) {
    columns.add(new Column(col.getName(), col.getValue(build))

or so... Mind this is just a pseudocode example.

Of course there are more thing to think of, but just that would be great.

 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [21/Dec/16 11:31 AM]
Since the custom column applies not only to a single build, but also a list of build. It is not possible to determine if a custom column should be displayed or not based on a particular build.

AlSt [21/Dec/16 11:45 AM]
Yeah, but a custom column based on a configuration would be possible right?

It just would be nice to be able to add a column via plugin and also have the possibility to only show the column if some conditions are met. There is no need to say that this is based on a build or something, because in my condition implementation I could base it on whatever I want, no matter if it is the configuration name, or the latest build of the configuration or the moon phase.

The main thing is to have the possibility to add a build table column as part of a QB plugin.

AlSt [21/Dec/16 11:47 AM]
And also: What do you mean with: custom column applies to a list of builds? The build table only shows one build per row right. So the value of the custom column is based on one build right?

Robin Shen [22/Dec/16 12:42 AM]
The history builds table for a configuration will also show the custom columns. Custom columns are specific to a configuration rather than a build. And you can customize to use different columns for different configurations. And inside the column value, you may script to show different value based on current build. So I think a custom column extension point for custom column is not necessary.

AlSt [22/Dec/16 08:24 AM]
To make my point clear: Of course I can add a custom column to the configuration via script, but that will only apply to the configurations where I added the custom configuration. I can add it to a parent config and all the child configs will show it, but that's not what I want. I want to add a column when some conditions are met and the plugin should define what is shown. That way it is possible to just install the plugin, activate it and every configuration shows the new column if the conditions are met.

Main thing here is the "only show column if conditions are met". Else I would have to define the custom column everywhere I need it and add a script.

E.g. if these configurations are spread all over the different subtrees it is nearly impossible to maintain that.

Robin Shen [23/Dec/16 12:39 AM]
I see. Thanks for the explanation.

Robin Shen [23/Dec/16 07:06 AM]
According to what you explains, add a display condition to current custom config will also serve the purpose. You may define all custom columns in root configuration, and then write a condition script to determine whether or not to display them for a particular configuration.

Robin Shen [24/Dec/16 02:40 AM]
In QB 7.0, this issue can be solved with QB-2867