groovy - 如何在詹金斯管道中使用 groovy 解决没有方法签名的问题
问题描述
我有一个多行脚本
sh """
SCRIPT_BRANCH=${SCRIPT_BRANCH:-develop}
curl -o ${LIQUIBASE_CI_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/branch_cut_liquibase_gen.sh
chmod +x ${LIQUIBASE_CI_SCRIPT}
curl -o ${LIQUIBASE_GEN_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/liquibase_generation.sh
chmod +x ${LIQUIBASE_GEN_SCRIPT}
curl -o ${LIQUIBASE_TRANSFORM_SCRIPT} ${SCRIPT_BRANCH}/src/python/liquibase_transform.py
chmod +x ${LIQUIBASE_TRANSFORM_SCRIPT}
${LIQUIBASE_CI_SCRIPT}
""".stripMargin()
email(${EMAIL}, ${DEFAULT_CONTENT})
def build = bareBuild() {
buildAction = branchCutAction
}
就像在我的 groovy 文件中一样。它被詹金斯调用,我收到了这个错误。
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.negative() is applicable for argument types: () values: []Possible solutions: notify(), normalize(), next()
我真的不知道为什么会这样。我查看了类似的问题,但似乎没有什么与我的问题相符
解决方案
您需要调用stripMargin()
previous to sh
,从而将它们分成两个代码块。
def cmd = """
SCRIPT_BRANCH=${SCRIPT_BRANCH:-develop}
curl -o ${LIQUIBASE_CI_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/branch_cut_liquibase_gen.sh
chmod +x ${LIQUIBASE_CI_SCRIPT}
curl -o ${LIQUIBASE_GEN_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/liquibase_generation.sh
chmod +x ${LIQUIBASE_GEN_SCRIPT}
curl -o ${LIQUIBASE_TRANSFORM_SCRIPT} ${SCRIPT_BRANCH}/src/python/liquibase_transform.py
chmod +x ${LIQUIBASE_TRANSFORM_SCRIPT}
${LIQUIBASE_CI_SCRIPT}
"""
sh "${cmd}"
email("${EMAIL}", "${DEFAULT_CONTENT}")
推荐阅读
- python - 如何终止我的烧瓶应用程序的所有正在运行的子进程
- jenkins - Jenkins configSubmit 间歇性返回 ERR_EMTPY_RESPONSE
- php - 当我尝试在日期之间进行查询时,MySql Query 没有返回正确的结果
- r - 使用 updatePrettyCheckboxGroup 时不应用 prettyCheckboxGroup 的格式选项
- python - Pyparsing:将类似字典的结构解析为实际的字典
- javascript - 在innerHTML中的文本之间插入变量
- google-sheets - 获取符合条件 Google 电子表格条件的最后 X 行
- visual-studio-2017 - Visual Studio 外部代码高自身 CPU 时间
- ios - 如何以编程方式在 iPhone 上快速显示透明矩形
- python - 烧瓶应用程序看不到 javascript 运行时