Конвейер Jenkins: объединение файлов / URL-пути - PullRequest
0 голосов
/ 24 декабря 2018

Как я могу красиво соединить строки при программировании конвейера Jenkins Groovy?Так что я могу join('http://example.com/', '/r', 'some.html') -> 'http://example.com/r/some.html'

В этой заметке предлагается использовать new File(dir1, dir2) или Paths.get(dir1, dir2) в "чистом" Groovy.

Однако в конвейере Jenkins, import java.nio.file.Pathsдает мне

No such static method found: staticMethod java.nio.file.Paths get java.lang.String org.codehaus.groovy.runtime.GStringImpl.

и с new File я получаю

Scripts not permitted to use new java.io.File java.lang.String java.lang.String. Administrators can decide whether to approve or reject this signature.

и я вроде согласен с Дженкинсом в этом, не хочу этого допускать.Есть ли другой способ?

1 Ответ

0 голосов
/ 25 декабря 2018

плохая идея создавать URL с помощью объектов Paths или File, потому что в Windows вы получите неправильный результат.

вы можете создать URL с простой конкатенацией строк и использовать URI.normalize() для удаления лишних слешей:

def u = new URI(['http://example.com/', '/r', 'some.html'].join('/')).normalize().toString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...