How can I put javascript code to spice up a multi select custom field I am creating in a plugin.

Hi,

I am creating a multiselect field via a plugin. I would like to put javascript code as description when creating the plugin to make the field look fancy (actually behave like the nice components field of JIRA)

I want to pass the below code as a description parameter when creating the custom field.

(function($){
new AJS.MultiSelect({
element: $("#customfield_10052"),
itemAttrDisplayed: "label",
errorMessage: AJS.params.multiselectComponentsError
});
})(AJS.$);
The problem is that the above code needs the custom field ID. However I dont know the field ID till the field is created by the statement below.
CustomField cField = CustomFieldManager.createCustomField(customfieldName, "FIELD DESCRIPTION: JAVA SCRIPT CODE HERE", customFieldManager.getCustomFieldType(customFieldTypeKey) , customFieldSearcher, contexts, issueTypes);

So I can only get the ID using cField.getID() after the field is created.

So How can I use the above javascript code as description of the multiselect custom field I am creating in the plugin.

1 answer

1 accepted

This widget could not be displayed.

You can set the description after the field is created.

String jscode = "(function($){...";
cField.setDescription(jscode);
CustomFieldManager.updateCustomField(cField);

Hey boris . I was about to delete my question as I just realized myself customField would probably have a setDescription function.

Thanks though!

Hey Boris. Strangely enough I am able to set the Description of the field when I send some text in to cField.setDescription(someTextStringHere), however when the string holds some java script code (with proper formatted escape characters ofcourse) it does not show up in the acutal field description, while the text does show.

Any ideas if Jira even allows us to set java script as description via plugins or am I missing something?

Jira allows setting js code in the description. I think you do not need to escape it. The script will not show up in the description but it's there. You can do a simple test by putting <script>console.log('test message')</script> and check if it will show up in the browser console.

https://confluence.atlassian.com/display/JIRA/Fields+Allowing+Custom+HTML+or+JavaScript

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 2 hours ago in Europe

Topic Tuesday: How did you learn about the AUG programme?

Back in 2010 I hadn't been using the Atlassian tools (JIRA, Confluence, Bamboo) that long and I started searching online to see if I could chat to other users primarily about how they used the produc...

11 views 0 0
View post

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