hudson/jenkins ジョブの名前を変更しようとしました。ただし、名前の変更に失敗しました。
ジョブの名前を変更する方法はありますか?
次の手順に従って、jenkins UI を介して選択したジョブの名前を変更できます。
job>configure>Advanced Project Options>Display Name
もう 1 つの方法は、Jenkins/hudson
サーバー上のディレクトリの名前を変更してからrestart
、Jenkins
.
完全を期すために、Groovyスクリプト コンソールを使用した Hudson ジョブ名の更新について言及したいと思います。
// 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();
ジョブの名前を新規および保存構成に設定すると、現在のジョブの名前は変更されませんが、ジョブ構成のコピーが新しい名前で作成されます。また、この場合、参照が壊れている可能性があるため、Hudson は構成をリロードする必要があります。
ジョブの名前を変更する通常の方法:
構成画面に移動し、上部のプロジェクト名フィールドを編集します。次に、[保存] をクリックし、[はい] をクリックして確認します。( Saveの横にあるApplyボタンをクリックしないでください。エラーメッセージが表示されます: JENKINS-17474 )
表示名を変更しても、ジョブの名前は変更されません。表示方法が変更されるだけです。たとえば、検索ボックスを介して元の名前で引き続き検索され、URL にも表示されます。
ファイルシステム レベルでディレクトリの名前を変更する必要はありません。
Marc のスクリプトを動作させることができないので、以下に示すように、すべてのジョブを無効にするスクリプトに基づいて作成します。これは、「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())
}
}
}
要件に応じて、私は通常次のいずれかを選択します。
ジョブ>構成 -プロジェクト名のプロパティを変更 -高度なプロジェクト オプション、 [高度な... ] をクリックし、表示名の値を設定します。
次に、ジョブを保存します。ファイル システム レベルで名前を変更する必要はありません。