Назад | Перейти на главную страницу

Дженкинс за прокси - недопустимый символ в URL прокси

Я управляю Дженкинсом через корпоративный прокси. Мой пароль прокси-сервера содержит специальные символы, например «P @ ssw0rd».

Попадание ниже исключения при строительстве конвейера

 Started by user unknown or anonymous
java.net.URISyntaxException: Illegal character in hostname at index 38: http://user:P%40ssw0rd@internet_proxy.abc.com:80
    at java.net.URI$Parser.fail(URI.java:2848)
    at java.net.URI$Parser.parseHostname(URI.java:3387)
    at java.net.URI$Parser.parseServer(URI.java:3236)
    at java.net.URI$Parser.parseAuthority(URI.java:3155)
    at java.net.URI$Parser.parseHierarchical(URI.java:3097)
    at java.net.URI$Parser.parse(URI.java:3053)
    at java.net.URI.<init>(URI.java:673)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1751)
Caused: hudson.plugins.git.GitException: Failed to create http proxy uri
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1755)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:72)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:442)
    at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:351)
    at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:198)
    at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:174)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:108)
    at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:67)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:293)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE

Я получаю положительный ответ при проверке прокси с тестовым URL.

Фрагмент URL прокси -

http://user:P%40ssw0rd@internet_proxy.abc.com:80

Любой "специальный" символ должен быть экранирован с помощью процента, особенно @, потому что это разделитель между паролем и именем хоста в URL.

Попробуйте заключить пароль в кавычки или используйте обратную косую черту \ (перед специальными символами.