如何在 jenkins 中列出带有登录用户凭据的 svn 文件夹以获取构建参数?

mfi*_*dan 2 svn jenkins

我正在尝试为我们使用 subversion 的构建环境设置 jenkins。我想列出带有当前用户凭据的 subversion 文件夹列表以获取构建参数。我为此搜索了很多,但我找不到一种方法来列出带有 jenkins 登录用户凭据的 svn 文件夹?我使用 List Subversion Tags 、 ExtendedChoice 参数和很多插件来做到这一点。有没有办法在收集构建参数的同时使用当前登录的用户凭据连接到 subversion?

mfi*_*dan 6

下面的 groovy 脚本解决了这个问题。该脚本可以与任何 groovy 支持的参数插件一起使用。

def user = hudson.model.User.current();
def a = jenkins.model.Jenkins.getAuthentication()
def userId = user.getId() 
def pass =a.getCredentials()
def svnurl = 'http://yoursvnurl'
def dirs = [] 
def command = ['svn', 'list', svnurl , '--username' , userId , '--password' , pass ]
def proc = command.execute()
print command
proc.in.eachLine {dirs.add(it) }
return dirs
Run Code Online (Sandbox Code Playgroud)