groovy 如何在Active Choices插件中使用Jenkins的API

pzfprimi  于 2023-10-15  发布在  Jenkins
关注(0)|答案(1)|浏览(142)

我使用了很多[Active choices plugin][1],通过一个Groovy脚本,我可以动态地构建下拉列表。使用Jenkins的脚本控制台,我可以评估:

User.getAll()

但在一个积极的选择插件,它失败了,我不知道为什么(没有错误消息,没有日志)。
如何使用Groovy Jenkins API?

neskvpey

neskvpey1#

Jenkins groovy沙箱禁止您执行某些操作,例如进行rest调用和动态内省。我建议你烘焙一些curl调用,并在jenkins sh调用中执行它们,或者使用Python定义一个客户端。
话虽如此,这里有一个如何定义rest API请求并填充活动选择插件列表的工作示例如下:

def url = "https://myfancyapi/v1/users/"
def get = new URL(url).openConnection();
def getRC = get.getResponseCode();
if (getRC.equals(200)) {
    def result = get.getInputStream().getText()
    def jsonSlurper = new groovy.json.JsonSlurper() 
    return jsonSlurper.parseText(result)
}else{
    return []
}

相关问题