Make custom field configurable

Hey,

I wrote a new custom field type. I want now to create multiple fields of it which different permissions. Like: One instance is only modifyable by projectRole "A" the second only by projectRole "B". (Yes it could be done by duplicate the plugin and set the different roles in the code but thats to static. It should be easy to modify the roles by admins even if they do not know the jira plugin sourcecode)

I saw some ways with WebWorker Plugins and DAO (Data Access Objects). So I created a WebWorker Plugin Site for editing the projectRole. The Webworker plugin contains a form and a select-tag containing all projectRoles - works fine.

Now the problem is how to setup the DAO. I searched and found some stuff about PropertySet and Active Objects. But I do not understand how to merge now one of these to my customfieldtype. Is there any practical tutorial on how propertyset or active objects works?

2 answers

1 accepted

This widget could not be displayed.

Check out the source code which accompanies @Matt Doar's Practical JIRA Plugins book. The source is available on marketplace.

It has a nice example of how to do this.

Thanks Jamie, I will have a look at that.

Thanks Jamie, found what I need there. To sum it up quickly:

  • Create an implementation for the interface FieldConfigItemType
  • In the custom field type override the method getConfigurationItemTypes

The relevant example from the book Jamie mentions is configurablecurrency

This gives you a configurable custom field, which means that if you need that same custom field type in another configuration you have to add a second custom field.

> which means that if you need that same custom field type in another configuration you have to add a second custom field

Not really, you should just add another field config, but you still have one instance of the custom field.

You are right. The only catch for me here is that I want it for 2 issue types in the same project. For whatever reason jira won't let me configure that. It looks like I am stumbling onto the same problem as described here.

Hi Jamie, thanks for the answer, I will give it a try later :)!

@Jamie

Its a nice tutorial for a single field property, which is fine. But what if i wanted to set more then one property in a single step. I.E. filling a form with 4 values and saving it only once.I was unable to do that from mdoars tutorial because there is single fieldconfig context and a single entity.It does not allow to store multiple values.

mdoar also uses the propertySet technique. This turnes out in extremely nasty and confusing code. To be honest, i dont understand all of it. Its not mdoars fault, propertySet is just nasty. I was unable to do the same thing using active objects.

This widget could not be displayed.

Did you find a good solution for this?

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted Wednesday in Teamwork

What teamwork quotes inspire you?

Hey everyone! My name is Natalie and I'm an editor of the Atlassian Blog and I've got a question for you: What's your favorite quote about teamwork?  We've compiled a list here, along with...

134 views 16 7
Join discussion

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you