<< Back to previous view

[QB-2615] Custom build and request column extension point for plugins.
Created: 07/Jan/16  Updated: 24/Dec/16

Status: Closed
Project: QuickBuild
Component/s: None
Affects Version/s: 6.0.28
Fix Version/s: None

Type: New Feature Priority: Minor
Reporter: AlSt Assigned To: Robin Shen
Resolution: Duplicate Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown


 Description   
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.

 Comments   
Comment by 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.
Comment by 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.
Comment by 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?
Comment by 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.
Comment by 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.
Comment by Robin Shen [ 23/Dec/16 12:39 AM ]
I see. Thanks for the explanation.
Comment by 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.
Comment by Robin Shen [ 24/Dec/16 02:40 AM ]
In QB 7.0, this issue can be solved with QB-2867
Generated at Fri Apr 19 06:40:22 UTC 2024 using JIRA 189.