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
Jenkins Active Choice HTML Параметр не обновляя поля скрытого значения с динамическим JS в Groovy Script ⇐ Javascript
Форум по Javascript
1758661764
Anonymous
[b] description < /strong>: я использую плагин Jenkins Active Shopecy для создания динамического пользовательского интерфейса с параметрами для тестовых наборов и их аргументов. [b] Я имею два параметра: < /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
Подробнее здесь: [url]https://stackoverflow.com/questions/79773077/jenkins-active-choice-html-parameter-not-updating-hidden-value-field-with-dynami[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия