Size: a a a

2021 July 30

VN

Vlad Naumov in jenkins_ru
та с value такая же беда
источник

DS

Dmitry Sergeev in jenkins_ru
странно делай тогда def x = new hudson.model.StringParameterValue('foo', 'bar')
Его можно будет передать в даунстрим джобу
Да и не проблема юзать мапу, а потом конвертить ее же когда надо передать в даунстрим
x = [name: 'foo', value: 'bar']
// some code
x = string(name: x.name, value: x.value)
источник

DS

Dmitry Sergeev in jenkins_ru
и я бы getClass() для string(name: 'foo', value: 'bar') посмотрел. Непонятно что это за объект тогда
источник

VN

Vlad Naumov in jenkins_ru
вот так работает да, спасибо! конечно не хотелось бы это делать, потому что мне прилетает уже готовый лист с этими параметрами и я их не сам генерю))
источник

VN

Vlad Naumov in jenkins_ru
```
@string(name=foo,value=bar)
[Pipeline] echo (
hide)
class org.jenkinsci.plugins.workflow.cps.UninstantiatedDescribableWithInterpolation
[Pipeline] }

```
источник

VN

Vlad Naumov in jenkins_ru
что касается  класса
источник

VN

Vlad Naumov in jenkins_ru
node {
    def x = string(name: 'foo', value: 'bar')
    print x
    print x.getClass()
    print x.getInterpolatedStrings()
   
}
источник

VN

Vlad Naumov in jenkins_ru
я пробовал вот так
источник

VN

Vlad Naumov in jenkins_ru
```
[Pipeline] echo (hide)
@string(name=foo,value=bar)
[Pipeline] echo (
hide)
class org.jenkinsci.plugins.workflow.cps.UninstantiatedDescribableWithInterpolation
[Pipeline] echo (
hide)
[]
[Pipeline] }

```
источник

DS

Dmitry Sergeev in jenkins_ru
у тебя просто нет доступа к ним поэтому класс - org.jenkinsci.plugins.workflow.cps.UninstantiatedDescribableWithInterpolation
Вынеси обработку параметров в shared lib. И там делай с ними что хочешь
источник

VN

Vlad Naumov in jenkins_ru
хмхм, спасибо, подумаю !
источник

DS

Dmitry Sergeev in jenkins_ru
что-то типо
```
def call() {
 return currentBuild.rawBuild.getActions(hudson.model.ParametersAction)[0].getParameters().collect {
   if (it.name == 'name-perameter') {
      // change
   }
   return it
 }
}
```
источник

DS

Dmitry Sergeev in jenkins_ru
какую задачу то решаешь? Просто передать все параметры в даунстрим джобу? Или изменить какие-то и передать потом?
источник

VN

Vlad Naumov in jenkins_ru
на вход принимаю лист с параметрами, и подменяю (или добавляю, если такого параметра нет) , значение у одного из параметров, по ключу который я заранее знаю
источник

DS

Dmitry Sergeev in jenkins_ru
Ну вот значит твой кейс. Выносишь этот код в shared lib, правишь как тебе надо. И юзаешь
источник

VN

Vlad Naumov in jenkins_ru
да, покопаю в эту сторону, спасибоу!
источник

DS

Dmitry Sergeev in jenkins_ru
но исправлять параметр нельзя, только создать новый вместо него. Например
```
def call() {
   return currentBuild.rawBuild.getActions(hudson.model.ParametersAction)[0].getParameters().collect {
       if (it.name == 'name-perameter' && it.getClass() == hudson.model.StringParameterValue ) {
          // it.value = 'new-value'  - НЕЛЬЗЯ
          return new hudson.model.StringParameterValue(it.name, 'new value') // можно
       }
       return it
   }
}
```
источник

vk

victor kurguzov in jenkins_ru
Товарищи, подскажите. как быть с "@2" в workspace, что-то типа такого
/var/lib/jenkins/workspace/x-coconut_master@2
при parallel билде?
у меня post секция cleanup из-за этого @2 не выполняется.
источник

vk

victor kurguzov in jenkins_ru
Что это вообще такое
источник

DS

Dmitry Sergeev in jenkins_ru
пусть она чистит текущий workspace. А текущий будет @2. Если ты юзаещь cleanUp от плагина, и он неправильно определяет workspace - то это баг плагина
источник