Jenkins Active Choice HTML Параметр не обновляя поля скрытого значения с динамическим JS в Groovy ScriptJavascript

Форум по Javascript
Ответить
Anonymous
 Jenkins Active Choice HTML Параметр не обновляя поля скрытого значения с динамическим JS в Groovy Script

Сообщение Anonymous »

description < /strong>: я использую плагин Jenkins Active Shopecy для создания динамического пользовательского интерфейса с параметрами для тестовых наборов и их аргументов. Я имею два параметра: < /p>

[*] Suites < /strong> (Active Active Phase) />file.
suites_arguments < /strong> (Active Choice HTML): Для каждого выбранного набора показывает текстовые поля аргумента. Они динамически создаются через Groovy.
Я хочу, чтобы значения, введенные в текстовые поля, были сериализованы (как
«Suite: Args; Suite2: args2») и сохранены в поле скрытого параметра
(input [name = value "]), так что Дженкинс может употреблять его в трубопроводе. HTML, который прослушивает входные изменения и обновляет скрытое поле. Он либо остается пустым, получает неправильное значение, либо JS вообще не выполняется.activeChoice(
choiceType: 'PT_CHECKBOX',
filterLength: 1,
filterable: false,
name: 'SUITES',
description: 'Test suite to execute.',
script: groovyScript(
script: [
sandbox: true,
script: """
def procedures = 'cat /var/lib/jenkins/workspace/Atf_Tests_AAIO/procedures'.execute()
def procedures_names = procedures.text.split('\\\\n').collect { line ->
// Split at " - Arguments" and take the first part (the test name)
line.split(' - Arguments')[0].trim()
}.sort()
return procedures_names
"""
]
)
),
activeChoiceHtml(
choiceType: 'ET_FORMATTED_HTML',
name: 'SUITES_ARGUMENTS',
description: 'Arguments for selected test suites',
referencedParameters: 'SUITES',
omitValueField: false,
script: groovyScript(
script: [
sandbox: true,
script: '''
def selectedSuits = SUITES instanceof List ? SUITES : (SUITES ? SUITES.tokenize(",")*.trim() : [])
def procedures = 'cat /var/lib/jenkins/workspace/Atf_Tests_AAIO/procedures'.execute()
def procedures_names = procedures.text.readLines().findAll{ it?.trim() }.sort()

def html = []
html
// find the line that starts exactly with the suite name
def line = procedures_names.find { it.trim().startsWith(s) }
if (line) {
def parts = line.split(' - Arguments: ', 2)
def defaultArgs = parts.size() > 1 ? parts[1].trim() : ''
if (defaultArgs) {
def argList = defaultArgs.split(',').collect { it.trim() }
def safeId = s.replaceAll(/[^A-Za-z0-9_\\-]/, "_")
def suiteName = parts[0].trim()

html
html

Подробнее здесь: https://stackoverflow.com/questions/797 ... ith-dynami
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»