Forums

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

ScriptRunner Post-function Script to Copy Project with Board

Paul March 17, 2020

There is a script to copy a template project in workflow post-function, however it does not create a board.

The thread for copy a project is here: https://community.atlassian.com/t5/Answers-Developer-Questions/Call-built-in-script-from-workflow-post-function/qaq-p/566522

And here is the script:

import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.scriptrunner.canned.jira.admin.CopyProject
import org.apache.log4j.Logger

def log = Logger.getLogger("com.onresolve.jira.groovy.MyScript")
Thread executorThread = new Thread(new Runnable() {
    void run() {
        def copyProject = new CopyProject()
        def inputs = [
            (CopyProject.FIELD_SOURCE_PROJECT) : 'SRCKEY',
            (CopyProject.FIELD_TARGET_PROJECT) : 'EX',
            (CopyProject.FIELD_TARGET_PROJECT_NAME) : "Example",
            (CopyProject.FIELD_COPY_VERSIONS) : true,
            (CopyProject.FIELD_COPY_COMPONENTS) : true,
            (CopyProject.FIELD_COPY_ISSUES) : true,
            (CopyProject.FIELD_COPY_DASH_AND_FILTERS) : true,
        ]
        def errorCollection = copyProject.doValidate(inputs, false)
        if(errorCollection.hasAnyErrors()) {
            log.warn("Couldn't create project: $errorCollection")
        }
        else {
            def util = ComponentAccessor.getUserUtil()
            def adminsGroup = util.getGroupObject("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)
        }
    }
})
executorThread.start()

How to copy the board from the template project or how to create one for the new project?

 

1 answer

1 accepted

0 votes
Answer accepted
Paul March 19, 2020

I've found a solution here: https://community.atlassian.com/t5/Adaptavist-questions/Create-a-board-and-filter-with-custom-settings-using-script/qaq-p/634444

Code:

import com.atlassian.greenhopper.model.validation.ErrorCollection
import com.atlassian.greenhopper.service.rapid.view.RapidViewService
import com.atlassian.greenhopper.web.rapid.view.RapidViewHelper
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.scriptrunner.runner.customisers.JiraAgileBean
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.greenhopper.web.rapid.view.RapidViewResource.CreateResponse
import com.atlassian.greenhopper.web.rapid.view.RapidViewFilterHelper
import com.atlassian.greenhopper.web.rapid.view.RapidViewCreateModel
import com.atlassian.greenhopper.service.rapid.view.


@WithPlugin("com.pyxis.greenhopper.jira")

@JiraAgileBean
RapidViewService rapidViewService

@JiraAgileBean
RapidViewHelper rapidViewHelper

def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def errorCollection = new ErrorCollection()

// create a new board for project JRA
def projectIds = [ComponentAccessor.getProjectManager().getProjectObjByKey("ATP").id as String]
def outcome = rapidViewHelper.createRapidViewForPreset(currentUser, sourceIssue.summary + " Board", projectIds as Set, "scrum")
log.debug outcome

if (! outcome.isValid()) {
log.warn ("Failed to create board: ${outcome.errors}")
return
}

log.info ("Create board successfully.")

sreenidhi
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 1, 2020

@WithPlugin("com.pyxis.greenhopper.jira")

@JiraAgileBean
RapidViewService rapidViewService

@JiraAgileBean
RapidViewHelper rapidViewHelper

@ is considered as an error in script runner . Could I get any solution for that?

Sngy October 8, 2020

Hello @sreenidhi

did you get any answer/find any solution to the problem?

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, jira cloud certification, managing jira projects, jira project administration, jira cloud exam, atlassian certification, agile project management, jira workflows, jira permissions, jira training, jira cloud skills, atlassian learning

Become a Certified Jira Service Project Expert 🦸🏻‍♂️

Validate your expertise in managing Jira Service Projects for Cloud. Master configuration, optimize workflows, and manage users seamlessly. Earn global 🗺️ recognition and advance your career as a trusted Jira Service management expert.

Get Certified! ✍️
AUG Leaders

Atlassian Community Events