This plugin provides Tabs in the "Build with parameters" view. The style try to match to Jenkins style. The implementation uses only base Jenkins classes and native and simple HTML/CSS/JS.
Example of build configuration : 
Example of "build with parameters" view:
First tab:
Second tab:
Install the plugin on your Jenkins instance. Add a "Tabs parameter" as you would add any other build parameter
Then you can access the parameters of the tab selected by the user with params.tabGroupName.selectedParams.paramName in your pipeline job. You can also access the selected tab name as params.tabGroupName.selectedTab. You can also access the parameters through environment variables as env.(tabGroupName.selectedParams.selectedTab).
The layout of the parameter is defined like :
params
└── tabGroupName
├── selectedTab <= This contains the name of the selected tab
└── selectedParams
├── paramName1
└── paramName2
- Recursion of tabs groups is not supported (a tab group cannot contain another tab group)
- Not tested compatibility with rebuild plugin
- Only tested with base Jenkins Parameters
- Cannot do CLI/POST requests (TabsGroupParameterDefinition#createValue(String) is not implemented)
- Only selected tab parameters are sent to the build
At first, I tough I needed to reimplement the way the parameters where rendered, which lead me to Jenkins core territory, something that I don't wanted to try. Now I think my implementation is not that hacky.
Inspired by uno choice plugin.
Lookup the GitHub Issues tab
See CONTRIBUTING
Refer to our contribution guidelines
Licensed under MIT, see LICENSE

