# uno-choice

> \[!NOTE|label:references:]
>
> * [How to Render Jenkins Build Parameters Dynamically?](https://www.infracloud.io/blogs/render-jenkins-build-parameters-dynamically/)

### troubleshooting

#### Log

* **Manage Jenkins** -> **System Log**
* add new log recorder for
  * `org.biouno.unochoice`
  * `org.biouno.unochoice.model.GroovyScript`
  * `org.biouno.unochoice.util.Utils`
  * `org.biouno.unochoice.AbstractUnoChoiceParameter`

![uno-choice-log](https://1999659500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MHqOSW6on5cHbtwcSH6%2Fuploads%2Fgit-blob-1d5c7e4cd3f260c887c0b58fffebdceb16905edd%2Funochoice-debug-logger.png?alt=media)

#### show variables

> \[!TIP]
>
> > `throw new RuntimeException("...")`

```groovy
String sdkCode = ( "\${releaseId}" =~ '^SDK-?([^\\\\.]+).*' )[0][1]
Map map = ${matrix.inspect()}
throw new RuntimeException(
  ">> sdkCode: \${sdkCode}" +
  ">> map.get(SDK13): \${map.get("SDK13")}" +
  ">> map.get(SDK{sdkCode}) - GString : \${map.get("SDK\${sdkCode}")}" +
  ">> map.get(SDK{sdkCode}) - String  : \${map.get("SDK\${sdkCode}".toString())}"
)
return map.get("SDK\${sdkCode}".toString()).collect{ ${defaultCustomers.inspect()}.contains( it.key ) ? "\${it.key}:selected" : it.key }
```
