是否可以创建新的自由式项目并直接从groovy脚本将其添加到Jenkins的仪表板视图中?
例如,我想浏览项目的所有依赖项列表。如果项目列表中缺少依赖项,我想获取它,创建自由式项目,然后运行构建。
我想这可能是你需要的:
@NonCPS
def createFreestyleProject(String projectName){
def parent = Jenkins.getInstance()
//Instantiate a new project
def project = new FreeStyleProject(parent, projectName);
//Set a description for the project
project.setDescription("Just a placeholder for a description")
//Create a parameter for the project
def parameterDefinitions = new ArrayList<ParameterDefinition>();
def name = "ParameterOne"
def defaultValue = "1"
def description = "Just a placeholder for a parameter description"
parameterDefinitions.add(new StringParameterDefinition(name, defaultValue, description))
//Create a job property for the project
def jobProperty = new ParametersDefinitionProperty(parameterDefinitions)
//Adding and saving the job property to the project
project.addProperty(jobProperty)
project.save()
parent.reload()
}
但在此之前你必须做到:
import com.cloudbees.groovy.cps.NonCPS
import hudson.model.FreeStyleProject