Это не сработает, используйте вместо него токены Api . В документации по обновлению Jenkins указано:
Установите для системного свойства hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION
значение true при запуске, чтобы отключить защиту CSRF, а также пользовательский интерфейс конфигурации для него. Это неподдерживаемая опция и может быть удалена в будущем.
Это предполагает, что она уже должна быть установлена при запуске и не может быть изменена впоследствии.
Кроме того, есть Есть несколько проблем с тем, что вы пытаетесь достичь:
Ошибка говорит о том, что не удается найти хост: script=hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true;
, что указывает на ваш второй вызов curl
, который неверен и должен быть:
$(curl -u "$userName" --data-urlencode "script=hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true" -H "$CRUMB" https://jenkins-testcrumb.origin-elr-core-nonprod.com/scriptText)
Этот вызов все равно завершится ошибкой с недопустимой крошкой, поскольку крошки больше не принимаются для сценариев. Вы должны использовать токен api вместо .
Кроме того, чтобы установить свойство, вам нужно вызвать System.setProperty
, поэтому ваш сценарий должен быть:
"script=System.setProperty('hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION', 'true'"
Но как упоминалось ранее, свойство проверяется во время запуска, поэтому изменение его позже не приведет к отключению системы Crumb.