Существует несколько различных правил и выводов: во-первых, Scala выводит фигурные скобки, когда параметр является функцией, например. в list.map(_ * 2)
выводятся фигурные скобки, это всего лишь более короткая форма list.map({_ * 2})
. Во-вторых, Scala позволяет пропустить скобки в последнем списке параметров, если в списке параметров есть один параметр, и это функция, поэтому list.foldLeft(0)(_ + _)
можно записать как list.foldLeft(0) { _ + _ }
(или list.foldLeft(0)({_ + _})
, если вы хотите быть дополнительным явным).
Однако, если вы добавите case
, вы получите, как указывали другие, частичную функцию вместо функции, а Scala не будет выводить фигурные скобки для частичных функций, поэтому list.map(case x => x * 2)
выиграл 't работают, но оба list.map({case x => 2 * 2})
и list.map { case x => x * 2 }
будут.
Существует более одного решения. Это зависит от того, где вы запускаете задание и как настроено задание.
В качестве примеров:
Если это простое задание , вы можете установить параметр в его конфигурацию и передать его через ловушки (вам, вероятно, понадобятся параметризованные сборки для плагина Jenkins [ 115]):
Добавить параметр к вашей работе:
И затем установить значение параметра для ветви для построения (через $ParameterName
):
Если триггер настроен , например, из вашего приложения - вы должны передать значение через вызов http://yourJenkinsServer/job/myJobName/buildWithParameters?token=TOKEN&PARAMETER=Value
Более подробную информацию вы можете найти в документации к плагину. Token
Вот маркер безопасности Jenkins для вашей учетной записи.
Если вы запускаете задание через VCS : вы также можете передать этот параметр, это зависит от того, каким VCS-сервером вы пользуетесь, и какими способностями он должен это делать. Например, для Bitbucket Server это могут быть:
Итак, вам нужно найти, что подходит вашему VCS-серверу.
В качестве дополнительного примера: для проектов многоотраслевого конвейера вы можете просто использовать переменную окружения BRANCH_NAME
и использовать git branch: "${BRANCH_NAME}"
внутри кода конвейера. И это проще в настройке и использовании.