I want to be able to Sync Components from my Main "DevOps" project to all other projects in JIRA,
Because we want a unified place for components.
I started with this:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.project.Project
import com.atlassian.jira.project.version.Version
def projectManager = ComponentAccessor.getProjectManager()
def projectSource = projectManager.getProjectObjByKey("DEVOPS") // change project name here
def projectDestinationList = projectManager.getProjectObjects()
//def projectDestination = projectManager.getProjectObjByKey("DESTINATION_PROJECT_KEY")
def ProjectComponentManager = ComponentAccessor.getProjectComponentManager()
Collection<ProjectComponent> componentList = ProjectComponentManager.findAll(projectSource.getid())
def componentTemp
if (componentList != null)
{
for (project in projectDestinationList) {
if (project.getKey() != "DEVOPS") {
for (component in componentList) {
componentTemp = ProjectComponentManager.findComponent(project.getid(), component)
if (componentTemp == null) {
log.debug("Now adding component " + component + " to " + project.getName())
def component = ProjectComponentManager.create(component, "description", "admin", 1, "admin user ID")
//ProjectComponentManager.createComponent()
}
}
}
}
}
Now I need assistance on completing this because I dont know how to get it to work