Hello! I’ve been working on developing my BB first plugin which is a RepositoryMergeCheck
. The idea is to gate merging on required builds with some exceptions and the ability to override with a comment, enable for only some branches, etc. I’ve gotten to the point where I need to have a configuration UI so that repo admins can control which builds are required, etc.
After looking at the documentation (or lack thereof) I am completely lost. All I have figured out right now is the modern way seems to be using Soy templates.
Questions about Soy:
The templates in the AUI repo are kinda helpful but there is no visibility into what objects you are talking to when you specify @param <param name>
in the comments. How do I know what is in $config
or where that gets set?
How can I dynamically provide content in the config UI? The UI will essentially consist of two pieces:
- the existing required builds
- A simple form to add a new required build.
AUI looks like it has a “RESTful table” but…there doesn’t seem to be templates for that in Soy…can I get around this?
Questions about the SDK:
I see forum posts saying to use PluginSettingsFactory
to set repo level settings. Great! Looks like I can use this to store all kinds of objects. I also see Settings
and SettingsValidator
…This seems to be invoked when you change plugin settings but can only deal in primitive types? I need to be able to create an array of required builds and values bundled into types that make sense for my object. Which thing do I use? Is there a PluginSettingsValidator
? Doesn’t appear to be but that sounds like what I need.
Overall this has just been an extremely frustrating experience because I don’t know what I don’t know and the documentation that is out there does little to explain how the modern settings config UI is all wired up from beginning to end.