用Github目录文件动态填充Jenkins作业参数

用Github目录文件动态填充Jenkins作业参数,github,dynamic,jenkins,groovy,parameters,Github,Dynamic,Jenkins,Groovy,Parameters,我知道动态参数和动态扩展选择参数插件。我正在寻找一种方法,将github目录中的文本文件列表作为下拉列表参数。是否有groovy脚本或类似脚本可以用文件名填充下拉列表?您可以使用获取给定repo上给定路径的文件列表 例如,要查看的ratpackgroovy/src/main/java/ratpack/groovy,可以执行以下操作: import groovy.json.* def contents = new JsonSlurper().parse('https://api.github.c

我知道动态参数和动态扩展选择参数插件。我正在寻找一种方法,将github目录中的文本文件列表作为下拉列表参数。是否有groovy脚本或类似脚本可以用文件名填充下拉列表?

您可以使用获取给定repo上给定路径的文件列表

例如,要查看的
ratpackgroovy/src/main/java/ratpack/groovy
,可以执行以下操作:

import groovy.json.*

def contents = new JsonSlurper().parse('https://api.github.com/repos/ratpack/ratpack/contents/ratpack-groovy/src/main/java/ratpack/groovy'.toURL())
    .sort { it.type } // Directories first
    .collect { it.name + (it.type == 'dir' ? '/' : '') } // Put a slash on the end of directories

assert contents = ['handling/', 
                   'internal/', 
                   'render/', 
                   'script/', 
                   'server/', 
                   'sql/', 
                   'template/', 
                   'Groovy.java', 
                   'GroovyRatpackMain.java', 
                   'package-info.java']

显然,您只能使

我在可扩展选择参数插件中尝试了您的脚本,但下拉列表为空。我选择了系统Groovy选项参数。我还尝试了扩展选择参数和动态选择参数,但下拉列表仍然为空。我做错了什么?是否有git而不是github的解决方案?我也想做同样的事情,但我的项目在git中,而不是在github中。对于git,我相信您需要在某个地方克隆回购协议:-/