我有一个单独的文件,名为 * stagUtils.groovy *,并定义了方法。
def init(def service, def type)
{
return """
stage ("Init") {
//code
}
"""
}
def Validate_MergeRequest(def type)
{
return """
stage('Validate MergeRequest') {
//code
}
"""
}
def Merge_Collision_Check()
{
return """
stage ('Merge Collision Check') {
//code
}
"""
}
我现在想在我的 * jobs.groovy * 文件中使用这些方法
//importing dependencies
import java.io.File
import org.yaml.snakeyaml.Yaml
import java.nio.file.Files
import java.nio.file.Paths
import groovy.transform.Field
//template defnition
def pipelineTemplate(String type) {
pipelineJob("${service}/${pipeline_name}-${type}-pipeline") {
definition {
pipeline {
agent any
stages {
// I want to call init method here
}
}
}
}
}
许多人建议在管道中使用共享库。但是由于我使用作业管理器执行,这里不支持共享库。我试过评估,但没用。帮帮我。
2条答案
按热度按时间nhhxz33t1#
或者像文件上说的
添加到stagUtils.groovy
在工作中,Groovy
kuuvgm7e2#
在我的例子中,我使用这样的语法: