Jenkins API 更新库配置
Jenkins API to update library configuration
我正在尝试通过 Python 更新我们在 Jenkins 中使用的“配置”中的库,但看不到通过 Jenkins API 执行此操作的任何方法。有没有办法通过 Jenkins API 将版本更新到 1.1.0
?
假设您可以使用 groovy 脚本来配置库版本,您可以使用以下脚本来设置 全局现有库的默认版本 :
def jenkins = Jenkins.getInstance()
def globalLibraryDescriptor = jenkins.getDescriptor("org.jenkinsci.plugins.workflow.libs.GlobalLibraries")
def config = globalLibraryDescriptor.getLibraries().find {
it.name == '1.1.0' // Find your existing library by name
}
config.setDefaultVersion("THE_NEW_VERION") // Update the default version value
如果您还想通过 API 在全局设置中创建库配置,您可以使用 following script 作为 groovy API 的用法示例。
如果你想配置一个文件夹级别现有库你可以使用下面的代码:
def jenkins = Jenkins.getInstance()
def folderLibrary = jenkins.getItem("FOLDER_NAME").getProperties().find {it.class =~ 'FolderLibraries'}
def config = folderLibrary.getLibraries().find {
it.name == '1.1.0' // Find your existing library by name
}
config.setDefaultVersion("THE_NEW_VERION") // Update the default version value
更新:我们使用以下代码让它与共享库一起工作(如果有人遇到需要它工作的情况):
for (LibraryResolver resolver : ExtensionList.lookup(LibraryResolver.class)) {
for (LibraryConfiguration cfg : resolver.forJob(currentBuild.rawBuild.getParent(), [:])) {
if (cfg.getName == libraryName){
cfg.setDefaultVersion("1.1.0")
}
}
}
我正在尝试通过 Python 更新我们在 Jenkins 中使用的“配置”中的库,但看不到通过 Jenkins API 执行此操作的任何方法。有没有办法通过 Jenkins API 将版本更新到 1.1.0
?
假设您可以使用 groovy 脚本来配置库版本,您可以使用以下脚本来设置 全局现有库的默认版本 :
def jenkins = Jenkins.getInstance()
def globalLibraryDescriptor = jenkins.getDescriptor("org.jenkinsci.plugins.workflow.libs.GlobalLibraries")
def config = globalLibraryDescriptor.getLibraries().find {
it.name == '1.1.0' // Find your existing library by name
}
config.setDefaultVersion("THE_NEW_VERION") // Update the default version value
如果您还想通过 API 在全局设置中创建库配置,您可以使用 following script 作为 groovy API 的用法示例。
如果你想配置一个文件夹级别现有库你可以使用下面的代码:
def jenkins = Jenkins.getInstance()
def folderLibrary = jenkins.getItem("FOLDER_NAME").getProperties().find {it.class =~ 'FolderLibraries'}
def config = folderLibrary.getLibraries().find {
it.name == '1.1.0' // Find your existing library by name
}
config.setDefaultVersion("THE_NEW_VERION") // Update the default version value
更新:我们使用以下代码让它与共享库一起工作(如果有人遇到需要它工作的情况):
for (LibraryResolver resolver : ExtensionList.lookup(LibraryResolver.class)) {
for (LibraryConfiguration cfg : resolver.forJob(currentBuild.rawBuild.getParent(), [:])) {
if (cfg.getName == libraryName){
cfg.setDefaultVersion("1.1.0")
}
}
}