- Created by Vincent Thoulé, last modified on Apr 15, 2026
Overview
As Plugins Developer, your will find here, some details on how to implement your own Meta-Attribute Editor dedicated to your custom Meta-Attribute.
How to extend Meta-Attributes Editors
To append a new Meta-Attributes Editors, you will have to process as follow ...
- Create a Velocity template providing the Attrbibute Editor
See below the Boolean editor<td class="fieldLabelArea">$i18n.getText("minyaa.workflows.attribute.booleanValue")</td> <td class="fieldValueArea"> <input type="radio" name="metaAttributeBooleanValue" id="attributeRadioValue1" size="30" value="true" /> <label for="attributeRadioValue1"> $i18n.getText("admin.common.words.true")</label> <input type="radio" name="metaAttributeBooleanValue" id="attributeRadioValue2" size="30" value="false" /> <label for="attributeRadioValue2"> $i18n.getText("admin.common.words.false")</label> <br /> </td> - Create a Javascript applying the edited value into the Input field.
... always for Boolean editorjQuery(document).ready(function(){ MYAAWA.namespace("MYAAWA.Editors.editMetaBoolean"); MYAAWA.Editors.editMetaBoolean.init = function(inputValue) { var editedValue = AJS.$("[name='metaAttributeBooleanValue']"); var onChanged = function(event) { inputValue.val(event.target.value); }; MYAAWA.Editors.editMetaBoolean.onChanged = onChanged; editedValue.change(MYAAWA.Editors.editMetaBoolean.onChanged); }; }); - Define a Web Resource for this JS file. It has to be in dependency with MYAA_WorkflowsAttribute.js
... again for Boolean editor<web-resource key="MYAA_editMetaBoolean" name="MYAA-editMetaBoolean"> <dependency>jira.plugin.minyaa.workflows.attributes:MYAA_WorkflowsAttributes</dependency> <resource type="download" name="editMetaBoolean.js" location="com/minyaa/workflows/js/MYAA.editMetaBoolean.js"> <property key="content-type" value="text/javascript"/> </resource> <context>atl.admin</context> </web-resource>
- and finally, defined the meta-editor, specifying the related Velocity template
... a last one for Boolean editor<meta-editor key="editMetaBoolean" name="Edit Meta Attribute as Boolean"> <resource type="velocity" name="edit" location="com/minyaa/workflows/templates/meta-attributes-edit-boolean.vm"/> </meta-editor>
How to extend Meta-Attributes
To extend the list of displayed Meta-Attributes depending on the list of supported process as follow ... Use the custom plugin module-type meta-attribute
<meta-attribute key="sampleAttribute" name="sample.attribute" isUnique="false" valueEditorKey="jira.plugin.minyaa.workflows.attributes:editMetaBoolean" > <description key="sample.attribute.desc">Do nothing !.</description> <scope initialAction="true" globalAction="true" commonAction="true" stepAction="true" initialStep="true" normalStep="true" finalStep="true" /> </meta-attribute>
Where ...
- isUnique specifies if the attribute may be use more than one time by Step of Transition (Not yet completely supported),
- valueEditorKey specifies the editor to use. Use the complete key.
- scope specifies if the attribute can be use as Step Meta-Attribute or Transition Meta-Attribute
Different types of Step and Action are possible, but will managed only by Minyaa Workflows Designer
Meta-Attributes may be also added through a Plugin Component. The Component will have to implement the interface MetaAttributesProvider as follow ...
public class YourMetaAttributesProvider implements MetaAttributesProvider {
private MetaAttributeManager metaAttributeManager;
public WorkflowMetaAttributesProvider(MetaAttributeManager metaAttributeManager) {
this.metaAttributeManager = metaAttributeManager;
metaAttributeManager.addMetaAttributesProvider(this);
}
public void refresh() {
MetaAttributeModule metaAttributeModule;
metaAttributeModule = new MetaAttributeModule("sample.step.attribute");
metaAttributeModule.appendDescription("Do nothing special").appendScopes(metaAttributeManager.getAllAvailableStepScopes());
metaAttributeModule.appendValueEditorKey("jira.plugin.minyaa.workflows.attributes:editMetaBoolean");
metaAttributeManager.addMetaAttributes(metaAttributeModule);
metaAttributeModule = new MetaAttributeModule("new.boolean.action.attribute");
metaAttributeModule
.appendDescription("Define if it is True or False !!!")
.appendScopes(metaAttributeManager.getAllAvailableActionScopes());
metaAttributeModule.appendValueEditorKey(MetaAttributeManager.META_VALUE_EDITOR_BOOLEAN_KEY);
metaAttributeManager.addMetaAttributes(metaAttributeModule);
}
}
On this page:
- No labels