我正在为Job-DSL Seed作业编写一个辅助函数,即类似util/WebHook.groovy
中的内容:
package util
import groovy.json.JsonSlurper
class WebHook {
static void create() {
def urls = new JsonSlurper().parseText(list_hooks.execute().text).url
[...]
然后在main.groovy
中
import util.WebHook
WebHook.create()
这似乎很好。但是,例如,如果我尝试使用凭据插件中的模块,即
import com.cloudbees.plugins.credentials.CredentialsProvider
我得到一个错误:
处理DSL脚本terraform.groovy
错误:启动失败:
工作区:/util/WebHook.groovy:5:无法解析类com.cloudbees.plugins.credentials.CredentialsProvider
@第5行,第1列。
导入com.cloudbees.plugins.credentials.CredentialsProvider
那是为什么?有解决方法,还是我应该使用其他方法?
答案 0 :(得分:1)
您不能从Job DSL脚本中的其他插件导入类。
但是根据您的尝试,还有其他与其他插件中的类进行交互的方法。 CredentialsProvider
是Descriptor
。您可以使用Jenkins
实例来查找任何描述符实例:
Jenkins.instance.getExtensionList('com.cloudbees.plugins.credentials.CredentialsProvider')