I have a field called Execution Status, it is a label field with three options, Pass Fail and Error. I cannot figure out how to add the field to JIRA’s issue pages programmatically. I followed the tutorial and found out how to add a custom field which can be added by the JIRA admin, but I want to put a new field on existing issue pages automatically when my plugin is downloaded.
Here is my xml (view edit are same template because nothing is appearing on screen and I just wanted to test it):
<customfield-type key="Execution-Status-field" name="Execution Status" class="com.seguira.jira.plugin.ta.action.ExecutionStatusField"><description>Seguira Test Execution Field</description>
<resource type="velocity" name="view" location="templates/actions/view-basictext.vm"/>
<resource type="velocity" name="edit" location="templates/actions/view-basictext.vm"/>
<resource type="velocity" name="xml" location="templates/actions/xml-basictext.vm"/>
</customfield-type>
ExecutionStatus.java:
public class ExecutionStatusField extends LabelsCFType {
public ExecutionStatusField(JiraAuthenticationContext jac, IssueManager im, GenericConfigManager gcm, LabelUtil lu, LabelManager lm, ProjectImportLabelFieldParser pilfp, JiraBaseUrls jbu) {
super(jac, im, gcm, lu, lm, pilfp, jbu);
}
}
I found this code online, and added some to it:
FieldScreenManager fieldScreenManager = ComponentAccessor.getFieldScreenManager();
FieldScreen screen = fieldScreenManager.getFieldScreen(new Long(10001));
FieldScreenTab defaultTab = screen.getTab(0);
defaultTab.addFieldScreenLayoutItem(customFieldId);
I’m unsure where to get the custom field’s ID
and the vm file:
<select
class="multi-select long-field hidden edit-labels-inline multi-select-select"
name="$customField.id" value="Pass" id="$customField.id"
multiple="multiple" >
</select>
Thanks in advance!