Using Scriptrunner's script console, I am looking for a way to bulk archive version releases. I found this script and it works but it archives all projects. I need it for 1 specific project.I tried adding: def project = ComponentAccessor.projectManager.getProjectObjByKey("FAM");
Where "FAM" is the project key but that didnt work.
Also, the project I want to archive have no release date. Please advise.
import
com.atlassian.jira.component.ComponentAccessor
import
com.atlassian.jira.project.version.VersionManager
VersionManager versionManager = ComponentAccessor.getVersionManager()
List<VersionManager> versions=versionManager.getAllVersions()
as
List
//versionManager.archiveVersion(versionManager.getVersion(651326), true);
//return "To test just archiving one release";
def
resultado =
""
;
for (
int
i =
0
; i < versions.
size
() ; i++)
{
def
release_date = versions[i].getReleaseDate();
def
archived = versions[i].isArchived();
if
(!archived && release_date.toString() <=
'2016-01-01'
) {
resultado+= i +
" "
+versions[i].getProject() +
" "
+ versions[i].getId() +
" "
+versions[i].getName() +
" "
+ release_date.toString() +
"\n"
;
versionManager.archiveVersion(versions[i], true);
//return resultado; //To stop at first archived release (testing)
}
}
return
resultado;
Hello @Eric Sebian
I'm not sure I know exactly what I'm doing, but maybe this works?
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.project.Project
import com.atlassian.jira.project.version.VersionManager
def projectManager = ComponentAccessor.projectManager
Collection<Project> projects = projectManager.getProjectByCurrentKey("KEY") as Collection
def versionManager = ComponentAccessor.versionManager
List<VersionManager> versions = versionManager.getAllVersionsForProjects(projects, false) as List
//versionManager.archiveVersion(versionManager.getVersion(651326), true); //return "To test just archiving one release";
def result = "";
for (int i = 0; i < versions.size(); i++) {
def release_date = versions[i].getReleaseDate()
def archived = versions[i].isArchived()
if (!archived && release_date.toString() <= '2016-01-01') {
resultado += i + " " + versions[i].getProject() + " " + versions[i].getId() + " " + versions[i].getName() + " " + release_date.toString() + "\n"
versionManager.archiveVersion(versions[i], true)
//return resultado; //To stop at first archived release (testing)
}
}
return result;
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Eric Sebian Let me know how it turns out! :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.