Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to copy a agile board using Java API?

I am developing an add-on (Jira 7.5+) that can create project based on the customer actions. The project is created using a template but it happens that the project can be a software project so I have to create a board based that project too. While it is possible to create a board programatically I can not find a way to copy  a existing board including the configuration. Moreover as far as I know there is no way to configure a given board using Java API.

I am aware that it does exist a REST API that does what I am asking for but since the add-on will run on the server side I am not able to make an authenticated REST call without storing somewhere an user and password for it.


3 answers

1 accepted

1 vote
Answer accepted

I managed to copy a agile board doing this:

First adding greenhopper dependency to my add-on pom.xml:


Next I have to get the RapidBoardService within my class:

RapidViewService rapidViewService = (RapidViewService) ComponentAccessor.getOSGiComponentInstanceOfType(RapidViewService.class);

RapidViewService has a method for fully copying a rapidview:

rapidViewService.copy(user, board)

Hello @Antonio Dionisio, which JIRA version do you use?

Have you already explored this - ?

For example, package com.pyxis.greenhopper.jira.boards


ithis is my code ,but it's not work

what should i do?

i have the same problem with you ,i add the code to pom.xml,certainty l failed.

You'll need to describe your problem better than "it failed".



I recently needed to use Agile components within my Jira plugin and I realized that they are not defined as components but beans. So, following code worked for me to obtain rapidview service and rapid view manager. beanFactory is of type (org.springframework.beans.factory.ListableBeanFactory) and you can inject it through constructor as usual:

 public MyAction(@ComponentImport final ListableBeanFactory beanFactory) {



Map<String,RapidViewService> rapidViewServiceMap=beanFactory.getBeansOfType(RapidViewService.class);
Map<String,RapidViewManager> rapidViewManagerMap=beanFactory.getBeansOfType(RapidViewManager.class);
if(rapidViewServiceMap==null || rapidViewServiceMap.size()==0)
LOGGER.error("Unable to obtain rapid view service!!!");
this.rapidViewService = rapidViewServiceMap.get(rapidViewServiceMap.keySet().iterator().next());
if(rapidViewManagerMap!=null && rapidViewManagerMap.size()==0)
LOGGER.error("Unable to obtain rapid view manager!!");
this.rapidViewManager =rapidViewManagerMap.get(rapidViewManagerMap.keySet().iterator().next());


Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Jira Software

How to create Jira issus from Excel file?

When to use CSV importer When managing your processes in Jira, there are many occasions where you need to create a lot of tasks. Creating them one by one will cost you a lot of time and effort and i...

4,469 views 22 32
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you