Я пытаюсь немного изменить плагины Jenkins, чтобы получить пары key, value
для чтения глобальной среды.Я хочу сделать что-то вроде этого рисунка:
Я не совсем знаком с Jelly, и в коде это в основном определяетсяconfig.jelly
.На данный момент я добавил дополнительное текстовое поле, как показано ниже:
<f:section title="Container Overrides">
<f:entry title="Command" field="command">
<f:textbox />
</f:entry>
<f:entry title="vCPU" field="vcpu">
<f:textbox />
</f:entry>
<f:entry title="Memory (Mb)" field="memory">
<f:textbox />
</f:entry>
<f:entry title="Environment Variables" field="environment">
<f:textbox />
</f:entry>
</f:section>
, а внутри кода бэкэнда оно было определено (предыдущим сопровождающим) следующим образом:
private ContainerOverrides getContainerOverrides() {
ContainerOverrides containerOverrides = new ContainerOverrides();
if(!command.get(0).contentEquals("")) containerOverrides.setCommand(command);
if(memory != null) containerOverrides.setMemory(memory);
if(vcpu != null) containerOverrides.setVcpus(vcpu);
if(environment != null) containerOverrides.setEnvironment(mapToColl(environment));
return containerOverrides;
}
private static Collection<KeyValuePair> mapToColl(Map<String, String> map) {
List<KeyValuePair> ret = new ArrayList<>();
for(Map.Entry<String, String> e : map.entrySet())
ret.add(new KeyValuePair().withName(e.getKey()).withValue(e.getValue()));
return ret;
}
Таким образом, мой вопрос: возможно ли переконфигурировать конфигурацию желе, чтобы она могла предоставить достаточно пары ключ-значение для внутреннего кода выше?Если да, то что мне нужно сделать, чтобы сделать это?Большое спасибо.