Это то, для чего нужны рабочие параметры. В конфигурации задания (через пользовательский интерфейс) вы можете указать различные параметры и их типы:
или в самом вашем Jenkinsfile, например, в котором на случай, если они будут добавлены в конфигурацию задания после первой сборки):
parameters {
string(
name: 'URL',
description: 'The URL to target.'
)
string(
name: "TIMEOUT",
description: 'How long to wait for the "foo" operation to time out.'
)
}
Затем, когда пользователь запускает сборку через пользовательский интерфейс Jenkins, ему предлагается предоставить эти параметры перед сборкой. Если вы ожидаете, что сборки будут запускаться автоматически (например, с помощью ловушки GitHub), обязательно укажите также значения по умолчанию.
Затем в вашем Jenkinsfile вы можете использовать их следующим образом:
sh "foo --timeout ${TIMEOUT}"
или
sh "foo --timeout ${params.TIMEOUT}"
И они не распределяются между разными сборками, даже на одном компьютере.