Подтвердить что ты не робот

Переименование задания в jenkins/hudson

Я попытался переименовать работу hudson/jenkins. Однако он не смог переименовать.

Есть ли способ, чтобы я мог переименовать задание?

4b9b3361

Ответ 1

Вы можете переименовать выбранное задание через пользовательский интерфейс jenkins, выполнив следующие шаги:

job>configure>Advanced Project Options>Display Name

Другим способом является переименование каталога на сервере Jenkins/hudson, а затем restart Jenkins.

Ответ 2

Просто для полноты, хотим упомянуть обновление имени работы Хадсона, используя Groovy script console:

// Groovy script to rename job in Hudson
import hudson.model.*;

def JOB_PATTERN = ~/^MY_JOB.*$/; //find all jobs starting with "MY_JOB".
def NEW_PART = "_NEW"

(Hudson.instance.items.findAll { job -> job.name =~ JOB_PATTERN }).each { job_to_update -> 
    println ("Updating job " + job_to_update.name);
    def new_job_name = job_to_update.name + NEW_PART; //Append new part to the job name
    println ("New name: " + new_job_name);
    job_to_update.renameTo(new_job_name);
    println ("Updated name: " + job_to_update.name);
    println("="*80);
}

Скорее полезно, если вам нужно обновить несколько десятков заданий одновременно.

Примечание. Следующий код не будет работать:

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

Установка имени задания в новую и сохранение конфигурации не переименует текущее задание, а создаст копию конфигурации задания с новым именем. Кроме того, в этом случае могут быть неработающие ссылки, поэтому Хадсону необходимо будет перезагрузить конфигурацию.

Ответ 3

Обычный способ переименования задания:

Перейдите на экран Настроить и отредактируйте поле Название проекта прямо вверху. Затем нажмите Сохранить и подтвердите выбор, нажав Да. (не нажмите Применить рядом с Сохранить, что даст вам сообщение об ошибке: JENKINS-17474)

Изменение Отображаемое имя не переименует задание, оно изменит только то, как оно будет отображаться. Он по-прежнему будет найден под его оригинальным именем через окно поиска, например, и это также будет отображаться в URL-адресе.

Переименование каталогов на уровне файловой системы действительно не обязательно.

Ответ 4

  1. Создайте новую работу с новым именем, будет возможность copy from существующей работы.
  2. copy from работы, которую вы хотите переименовать.
  3. Удалить оригинальную работу.

Теперь у вас есть идентичная работа с другим именем.

Ответ 5

В зависимости от требования, которое я обычно выбираю между:

Работa > Настроить - изменить свойство "Название проекта" - Дополнительные параметры проекта, нажмите "Дополнительно...", установите значение для отображаемого имени

Затем сохраните задание. Нет необходимости переименовывать уровень файловой системы.

Ответ 6

Я не могу заставить Marc script работать, поэтому напишите один на основе Отключить все задания script, как показано ниже. Это нужно, чтобы переименовать любой проект с помощью "Findur.OpenComponent" в "Findur.OpenComponents".

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())
    }
  }
}

Ответ 7

Используйте функцию Job.previousNames(), чтобы переименовать несколько заданий с помощью Groovy script внутри [генератора заданий] (плагин генератора заданий ) (factory).

В следующем примере переименовываются задания ci.*_2 в ci.* (он удаляет завершающий _2).

[
    [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')
        }
    }
}

Ответ 8

Для быстрого понимания я использовал несколько скриншотов:

Я использовал версию Jenkins: 2.148

Шаг 1:

На главном экране/Список вакансий просто нажмите на вариант работы.

enter image description here

ИЛИ ЖЕ

Просто откройте детали работы, вы увидите левую сторону для переименования.

enter image description here

Шаг 2:

Введите новое имя и просто нажмите кнопку "Переименовать"

enter image description here