Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Using Scriptrunner's script console, I am looking for a way to bulk archive version releases.

Eric Sebian
Contributor
June 14, 2020

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.ComponentAccessorimport 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;

1 answer

0 votes
Mathis Hellensberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 18, 2020

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;
Eric Sebian
Contributor
June 18, 2020

will definitely check it out. 

 

Thanks!

Mathis Hellensberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 19, 2020

@Eric Sebian Let me know how it turns out! :)

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
SERVER
VERSION
7.13.5
TAGS
AUG Leaders

Atlassian Community Events