当前位置: 首页 > 知识库问答 >
问题:

在Jenkins中删除构建历史记录

卢健
2023-03-14

我试图使用以下答案中的说明从Jenkins中删除构建历史:

如何清除我的詹金斯/哈德逊建筑历史?

但是,我得到以下错误消息

groovy.lang.missingMethodException:方法的无签名:jenkins.branch.organizationfolder.getBuilds()适用于参数类型:()值:[]可能的解决方案:getViews()、doBuild(jenkins.util.timeduration)、getUrl()、getClass()、getActions()、getApi()在org.codehaus.groovy.runtime.scriptByteCodeAdapter.unwrap(scriptByteCodeAdapter.java:58)在org.codehaus.groovy.callsite.pojomeTaclassSite.call(pojomeTaclassSite.java:49)在earray.DefaultCall(callsitearray.java:48)在org.codehaus.groovy.runtime.callsite.abstractCallsite.call(abstractCallsite.java:113)在org.codehaus.groovy.runtime.callsite.abstractCallsite.java:117)

如果我运行这个脚本:

def jobName = "github-test"
def job = Jenkins.instance.getItem(jobName)
println(job)

我得到以下输出:

OrganizationFolder@134F3A3C[github-test]

def jobName = "github-test"
def job = Jenkins.instance.getItem(jobName)
job.getBuilds().each { it.delete() }
job.nextBuildNumber = 1
job.save()

共有1个答案

范嘉
2023-03-14

您试图删除的作业github-test,是一个组织文件夹,例如您得到jenkins.branch.organizationfolder。这意味着它不是一个具有实际构建的实际作业,而是一个包含其他作业的文件夹。值得注意的是,OrganizationFolderComputedFolder类型,这意味着Jenkins在发现新的存储库和分支(在github上)时会自动填充它。

因此,我猜想您不希望从github-testjob/文件夹中的子作业中删除所有构建。我已经修改了链接的答案,以便它能说明文件夹:

import com.cloudbees.hudson.plugins.folder.AbstractFolder
import hudson.model.AbstractItem

// change this variable to match the name of the job whose builds you want to delete
def jobName = "test"
// Set to true in order to reset build number to 1
def resetBuildNumber = false

def removeBuilds(job, resetBuildNumber) {
  if (job instanceof AbstractFolder) {
    for (subJob in job.getItems()) {
      removeBuilds(subJob, resetBuildNumber)
    }
  } else if (job instanceof AbstractItem) {
    job.getBuilds().each { it.delete() }
    if (resetBuildNumber) {
      job.nextBuildNumber = 1
      job.save()
    }
  } else {
    throw new RuntimeException("Unsupported job type ${job.getClass().getName()}!")
  }
}
removeBuilds(Jenkins.instance.getItem(jobName), resetBuildNumber)
 类似资料:
  • 问题内容: 是否可以在Jenkins中过滤构建历史记录,以便仅显示带有特定标签或参数的构建? 假设我有一些参数化的工作。参数之一是简单的字符串,可以是“实验”或“官方”。是否有任何插件可以过滤构建历史记录以仅显示“正式”构建? 问题答案: 您可以通过此插件https://wiki.jenkins- ci.org/display/JENKINS/View+Job+Filters进行操作 阅读所需的部

  • 我正在爱奥尼亚4中创建一个注销页面,我想要的是清除路由器历史记录,以便“后退”按钮不起作用,另外,我想知道在导航到登录屏幕或导航到登录页面之前,如何销毁注销页面。 我尝试运行构造函数中的代码以清除本地存储,第一次运行正常,但第二次没有运行该代码。据我了解,该页面已经加载,因此不会再次运行构造函数。我尝试将我的代码放在ngDoCheck()中,但它触发了多次,我不想要。 我想清除路由历史记录,以便在

  • 我是詹金斯的新用户。我最近遇到了一个失败的产品构建,在该构建中,我看到该特定产品的过去未跟踪的Maven模块被添加到当前要构建的现有Maven模块集中。

  • 问题内容: 我最近更新了我的一个哈德逊版本的配置。生成历史记录不同步。有什么方法可以清除我的构建历史记录? 谢谢,麻烦您了 问题答案: 如果单击“从磁盘管理Hudson /重新加载配置”,Hudson将重新加载所有构建历史记录数据。 如果磁盘上的数据混乱,则需要转到%HUDSON_HOME%\ jobs \ < projectname 目录,并按预期方式还原构建目录。然后重新加载配置数据。 如果仅

  • 问题内容: 如何从Jenkins GUI中删除构建?我知道我可以从“ jobs”文件夹中删除目录,但是我想从GUI中删除它。是否还可以删除多个版本? 问题答案: 如果您进入要删除的版本,并且拥有删除权限,那么您将在右上角看到“删除此版本”按钮。

  • 读取播放历史信息 调用地址 http://api.bilibili.cn/history 返回 返回值字段 字段类型 字段说明 results int 返回的记录总数目 list object 返回数据 返回字段 “list” 子项 返回值字段 字段类型 字段说明 aid int 视频编号 typeid int 视频分类ID typename string 视频分类名称 title string