[ https://issues.jenkins-ci.org/browse/JENKINS-11716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=158929#comment-158929 ]
Steve Roth commented on JENKINS-11716: -------------------------------------- One shell script workaround for renaming a job (presumes a path like ${ITEM_FULLNAME}/builds is listed below. Save as 'renamejob.sh' Note this requires you to restart Jenkins after running the shell script: Usage: renameJob.sh oldJobName newJobName pathToBuildArtifactDir #!/bin/sh -eu OLDJOB=$1 NEWJOB=$2 JOBROOT=$3 if [ ! -d $JOBROOT ]; then echo "ERROR: directory at JOBROOT=$JOBROOT does not exist" exit 1 fi if [ ! -d $JOBROOT/$NEWJOB ]; then echo "ERROR: newjob directory at $JOBROOT/$NEWJOB does not exist" exit 1 fi if [ ! -d $JOBROOT/$OLDJOB ]; then echo "ERROR: oldjob directory at $JOBROOT/$OLDJOB does not exist" exit 1 fi echo "RENAMING JOB from $OLDJOB ==> $NEWJOB" set +e rm -f $JOBROOT/last* rm -rf $JOBROOT/$NEWJOB/builds/* mv $JOBROOT/$OLDJOB/* $JOBROOT/$NEWJOB set -e echo "UPDATING RUNS..." for RUNDIR in `ls -d $JOBROOT/$NEWJOB/builds/*-*-*`; do echo "... UPDATING RUN AT $RUNDIR" if [ -f $JOBROOT/$RUNDIR/junitResult.xml ]; then sed -i "s/$OLDJOB/$NEWJOB/g" $JOBROOT/$RUNDIR/junitResult.xml fi if [ -f $JOBROOT/$RUNDIR/build.xml ]; then sed -i "s/$OLDJOB/$NEWJOB/g" $JOBROOT/$RUNDIR/build.xml fi done > Renaming a job does not rename the build record root dir, for a Jenkins > instance configured with this feature > ------------------------------------------------------------------------------------------------------------- > > Key: JENKINS-11716 > URL: https://issues.jenkins-ci.org/browse/JENKINS-11716 > Project: Jenkins > Issue Type: Bug > Components: core > Affects Versions: current > Reporter: Steve Roth > > We have a Jenkins instance (1.438) using the 'Build Record Root Directory' > feature, so we can specify an alternate directory for storing build artifacts > outside of the JENKINS HOME directory. > This generally works fine. However, I noticed that when I rename a job, I > lose the previous build records. > I see a new build record directory is created, beneath the specified 'Build > Record Root Directory'. However, the old build directory also exists, > containing the previous records. They are not moved over to the new > directory. > In other words, when the 'Build Record Root Directory' feature is enabled, > renaming a project causes the project's build records to be lost. > Current workaround is to move the build record files over and use sed to > replace the project name in them, then restart Jenkins. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira