【发布时间】:2020-10-15 00:26:57
【问题描述】:
我正在尝试使用我在共享库中定义的全局类来帮助组织作业参数。它不起作用,我什至不确定它是否可能。
我的工作是这样的:
pipelineJob('My-Job') {
definition {
// Job definition goes here
}
parameters {
choiceParam('awsAccount', awsAccount.ALL)
}
}
在 /vars/awsAccount.groovy 的文件中,我有以下代码:
class awsAccount implements Serializable {
final String SANDPIT = "sandpit",
final String DEV = "dev",
final String PROD = "prod"
static String[] ALL = [SANDPIT, DEV, PROD]
}
全局管道库配置为从我的存储库的主分支隐式加载。
尝试更新 DSL 脚本时,我收到错误消息:
错误:(myJob.groovy,第 67 行)没有此类属性:awsAccount 类:javaposse.jobdsl.dsl.helpers.BuildParametersContext
为什么找不到类,甚至可以在管道作业中使用这样的共享库类吗?
【问题讨论】:
-
在
pipeline {...之前尝试def my_options = awsAccount.ALL -
对不起,有同样的问题。似乎管道脚本无法访问共享库中的类
标签: jenkins jenkins-pipeline jenkins-groovy