簡體   English   中英

Jenkins:從Active Choices參數groovy腳本訪問其他插件

[英]Jenkins: Accessing other plugins from Active Choices Parameter groovy script

我對詹金斯(Jenkins),Groovy以及所有這些都還很陌生,所以如果聽起來很蠢,請原諒我。 我正在使用Active Choices插件,並且從Groovy腳本中的AC參數之一中,我想使用其他插件-Artifactory來獲取文件並顯示其中的每一行作為選項。

try {
    def server = Artifactory.newServer url: 'http://localhost:8081/artifactory/', username: 'user', password: 'pass'    
    def downloadSpec = """{
        "files": [
            {
                "pattern": "example-repo-local/file.txt",
                "target": "example/"
            }
        ]
    }"""
    server.download(downloadSpec)

    String text = readFile("example/file.txt")
    return text.tokenize("\n")
} catch (Exception e) {
    return [e]
}

但是,Active Choices參數似乎無法識別其他插件,並且找不到Artifactory屬性:

groovy.lang.MissingPropertyException: No such property: Artifactory for class: Script1

我的問題是-我需要以某種方式導入插件嗎? 如果是這樣,我如何確定要導入什么?

還可以在Active Choice參數附近指定一個“附加類路徑”,但該插件的WEB-INF / lib目錄中包含75個jar文件。 (僅指定artifactory.jar似乎並沒有改變任何東西)

只需注意-管道可以識別Artifactory插件,並且效果很好-我可以成功連接並獲取文件並讀取它。

我無法以合理的方式運行Artifactory插件。 所以我更好的選擇是使用curl和Artifactory API 例如,我基於Artifactory的Json文件的Active Choices Parameter

import groovy.json.JsonSlurper
def choices = []
def response = ["curl", "-k", "https://artifactory/app/file.json"].execute().text
def list = new JsonSlurper().parseText( response )
list.each { choices.push(it.name) }
return choices 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM