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

时间:2016-03-10 13:20:44

标签: svn jenkins

我正在尝试使用subversion为我们的构建环境设置jenkins。我想列出具有构建参数的当前用户凭据的subversion文件夹列表。我搜索了很多,但我找不到用jenkins登录用户凭证列出svn文件夹的方法?我使用List Subversion Tags,ExtendedChoice参数和许多插件来完成这项工作。有没有办法在收集构建参数时使用当前登录的用户凭证连接到subversion?

1 个答案:

答案 0 :(得分:3)

下面的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