You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.
View groupJoin the community to find out what other Atlassian users are discussing, debating and creating.
Hello ,
I would like to be able to create jira projects with existing templates through a script.
Procedure:
1. Through the transition of a card on the board, you must create a project.
2. Projects must be created using pre-created templates in JIra.
3. For example, from a card with the id, name, type of project and scrum master the project must be created.
4. There must be a condition to compare if the card has a waterfall type field, for example, a project must be created through the waterfall template.
5. If it is Agile, a project must be created using the Agile template.
Can you help me with this?
Thank in advance,
BR
Hi @Emanuel Paquetelima I guess I have the script you need:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.util.thread.JiraThreadLocalUtils
import com.onresolve.scriptrunner.canned.jira.admin.CopyProject
import org.apache.log4j.Logger
import org.apache.log4j.Level
def log = Logger.getLogger(getClass())
log.setLevel(Level.DEBUG)
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def projectManager = ComponentAccessor.getProjectManager()
//change this to your template source project
def srcProjectKey = 'SPK' // source project key
def getSrcProjectObject = projectManager.getProjectByCurrentKey(srcProjectKey)
def targetKey = "SP" // you must adjust for your purpose
def targetProjectName = "Some project" // you must adjust for your purpose
if(getSrcProjectObject && targetKey && targetProjectName) {
//You have to wrap the thread in JiraThreadLocalUtils in Jira 8 or no issues will be cloned
Thread executorThread = new Thread(JiraThreadLocalUtils.wrap {
def copyProject = new CopyProject()
def inputs = [
(CopyProject.FIELD_SOURCE_PROJECT) : srcProjectKey,
(CopyProject.FIELD_TARGET_PROJECT) : targetKey,
(CopyProject.FIELD_TARGET_PROJECT_NAME) : targetProjectName,
(CopyProject.FIELD_COPY_VERSIONS) : true,
(CopyProject.FIELD_COPY_COMPONENTS) : true,
(CopyProject.FIELD_COPY_ISSUES) : true,
(CopyProject.FIELD_COPY_DASH_AND_FILTERS): false,
//(CopyProject.FIELD_ORDER_BY) : "Rank", <-- no longer a valid option so I am commenting this out
]
def errorCollection = copyProject.doValidate(inputs, false)
if (errorCollection.hasAnyErrors()) {
log.warn("Couldn't create project: $errorCollection")
} else {
def util = ComponentAccessor.getUserUtil()
def adminsGroup = ComponentAccessor.getGroupManager().getGroup("jira-administrators")
assert adminsGroup // must have jira-administrators group defined
def admins = util.getAllUsersInGroups([adminsGroup])
assert admins // must have at least one admin
ComponentAccessor.getJiraAuthenticationContext().setLoggedInUser(util.getUserByName(admins.first().name))
copyProject.doScript(inputs)
}
})
//must call start Not run or the Post functions will throw an error because it tries to access a dead thread
executorThread.start()
}else{
log.error("Cannot Clone Project as source Project, target key or target project names were Not found or Not specified")
}
this script copies also issues, versions and components from source project
Hello Community! My name is Brittany Joiner and I am a Trello enthusiast and Atlassian Community Leader. In this video, I'll share my favorite Trello templates. Templates mentioned in ...
Connect with like-minded Atlassian users at free events near you!
Find an eventConnect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.
Host an eventYou're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.