Jenkins 在詹金斯/哈德逊重新命名作业

Jenkins 在詹金斯/哈德逊重新命名作业,jenkins,hudson,Jenkins,Hudson,我试着给哈德逊/詹金斯的工作改名。然而,它未能重命名 有什么方法可以重命名作业吗?您可以通过jenkins UI通过以下步骤重命名所选作业: job>configure>Advanced Project Options>Display Name 另一种方法是重命名Jenkins/hudson服务器上的目录,然后重新启动Jenkins,具体取决于我通常选择的要求: 作业>配置 -修改项目名称属性 -高级项目选项,点击高级…,设置显示名称的值 然后保存作业。无需在文件系统级别重命

我试着给哈德逊/詹金斯的工作改名。然而,它未能重命名


有什么方法可以重命名作业吗?

您可以通过jenkins UI通过以下步骤重命名所选作业:

job>configure>Advanced Project Options>Display Name

另一种方法是重命名
Jenkins/hudson
服务器上的目录,然后
重新启动
Jenkins

,具体取决于我通常选择的要求:

作业>配置 -修改项目名称属性 -高级项目选项,点击高级…,设置显示名称的值


然后保存作业。无需在文件系统级别重命名。

重命名作业的常规方法:

转到配置屏幕并编辑顶部的项目名称字段。然后单击保存,然后单击进行确认。(请勿点击保存旁边的应用按钮,将显示一条错误消息:)

更改显示名称不会重命名作业,它只会更改作业的显示方式。例如,通过搜索框仍然可以在其原始名称下找到它,并且该名称也会显示在url中


在文件系统级别重命名目录应该真的没有必要。

为了完整起见,想提到使用Groovy更新Hudson作业名:

如果您需要同时更新几十个作业,这将非常有用

注意:以下代码无效:

job_to_update.name = new_job_name;
job_to_update.save();

将作业名称设置为“新建”并保存配置不会重命名当前作业,而是使用新名称创建作业配置的副本。此外,在这种情况下,可能会有断开的引用,因此Hudson需要重新加载配置。

我无法使Marc的脚本正常工作,因此请根据禁用所有作业脚本编写一个脚本,如下所示。这是将任何带有“Findur.OpenComponent”的项目重命名为“Findur.OpenComponents”

使用函数在[job generator](job generator插件)(工厂)中使用Groovy脚本重命名多个作业

下面的示例将作业
ci.*.\u2
重命名为
ci.*
(它删除了后面的
\u2

  • 使用新名称创建一个新作业,将有一个选项
    从现有作业复制
  • 从要重命名的作业复制
  • 删除原始作业

  • 现在你有了一份同名的工作。

    为了快速理解,我使用了一些屏幕截图:

    我用的是詹金斯版本:2.148

    第1步:

    在主屏幕/作业列表上,只需单击作业选项

    只需打开作业详细信息,您将看到左侧的重命名选项

    第二步:

    输入新名称,只需单击重命名按钮


    作业是您要重命名的选定jenkins作业,如果您有管理员权限,则侧栏中有一个配置链接。是的,我有管理员权限…我可以看到右侧侧栏的
    配置
    链接,但是在配置向导中,
    modifyprojectname属性-advancedprojectoptions
    I正在使用Jenkins-ver。1.499项目名称是配置屏幕中的第一个字段。它是可编辑的,当您单击“保存”时,系统会询问您是否要更改项目名称。单击是。对于第二个选项。。。滚动一点,直到你看到部分高级项目选项-在右侧有一个高级。。。按钮,然后您可以看到并修改显示名称。您不必重新启动Jenkins来选择重命名的作业目录。您可以管理
    Jenkins>从磁盘重新加载配置
    或直接点击。请注意,如果更改作业名称,则需要手动更改尝试调用重命名作业的任何其他作业。我怀疑@marc.guenther给出的解决方案更正确,因为这似乎是指显示的名称,而不是实际作业名称。请注意,手动重命名文件系统级别的作业文件夹(与通过UI将作业移动到不同的文件夹相同)也不会使用作业名称更新插件的数据文件夹,例如,配置历史记录pluginNote,该字段标签似乎根据项目类型而有所不同,正如我所说的“Maven project name”而不是“project name”。“不需要在文件系统级别重命名”--如果目录名中有空格,则会导致脚本问题UI不再允许更改项目名称,但有Rikin Pateld提到的重命名选项。这是重命名整个作业还是用您选择的任何新零件替换我的作业?在给定的示例中,我只是更新作业名称,为所有以搜索字符串“MY_job”开头的作业添加“_new”后缀。方法“renameTo()”将作业名称设置为作为参数提供的字符串。如果要替换作业的一部分,请在调用renameTo()之前执行此操作然后将新的名称字符串传递给该方法。请指定来源:@Jayan显然他们也是作者字段中该片段的作者。简单易懂-无需过度复杂。谢谢!有没有办法重命名项目,但只需将名称更改为大写?@KR29我想没有直接的方法,但您可以重命名test>>test1,然后返回to重命名为Test。你可以做的一些事情。我已经尝试过了,并且效果良好。
    job_to_update.name = new_job_name;
    job_to_update.save();
    
    import hudson.model.*
    
    renameChildren(Hudson.instance.items)
    
    def renameChildren(items) {
      for (item in items) {
        if (item.class.canonicalName != 'com.cloudbees.hudson.plugins.folder.Folder') {     
          if (( m = item.name =~ /^(Findur.OpenComponent)(\..*)$/)){
            println(item.name)
            println m.group(1) + " " + m.group(2)
            newname = m[0][1] + 's' + m.group(2)
            item.renameTo(newname)
          }
    
        } else {
            renameChildren(((com.cloudbees.hudson.plugins.folder.Folder) item).getItems())
        }
      }
    }
    
    [
        [env: '01', hostname: 'host01.intranet'],
        [env: '02', hostname: 'host02.intranet'],
        [env: '03', hostname: 'host03.intranet'],
        [env: '04', hostname: 'host04.intranet'],
        [env: '05', hostname: 'host05.intranet'],
        [env: '06', hostname: 'host06.intranet'],
        [env: '07', hostname: 'host07.intranet'],
        [env: '08', hostname: 'host08.intranet'],
        [env: '09', hostname: 'host09.intranet'],
        [env: '10', hostname: 'host10.intranet'],
        [env: '11', hostname: 'host11.intranet'],
        [env: '12', hostname: 'host12.intranet'],
        [env: '13', hostname: 'host13.intranet'],
        [env: '14', hostname: 'host14.intranet'],
        [env: '15', hostname: 'host15.intranet'],
        [env: '16', hostname: 'host16.intranet'],
        [env: '17', hostname: 'host17.intranet'],
        [env: '18', hostname: 'host18.intranet'],
        [env: '19', hostname: 'host19.intranet'],
        [env: '20', hostname: 'host20.intranet'],
    ].each { Map config ->
        job("ci.${config.env}") {
            previousNames("ci.${config.env}_2")
            description("Continuous Integration on host ${config.env}")
            logRotator {
                numToKeep(5)
                daysToKeep(45)
            }
            label('build')
            wrappers {
                colorizeOutput('gnome-terminal')
            }
        }
    }