simple script validation

Hi, I would like to add a simple script validator - to my Jira project

As a maintainer for the system IVH, when issues are tagged with system=IVH and status is open. When starting transition 'start progress' the custom fields 'IVH Architect' and 'IVH developer' must have a value. If not - an errormsg sholud promt "the fields IVH Arcitect' and 'IVH developer' must have a value before starting progress when system is IVH

Any idea's on how this could be done ?

2 answers

You could check the following plugin. It has a "field has a value" condition built-in.

https://marketplace.atlassian.com/plugins/com.innovalog.jmwe.jira-misc-workflow-extensions

Other than that I'd go for Jamies behaviours or script runner plugin to script my way through...

https://marketplace.atlassian.com/plugins/com.onresolve.jira.plugin.Behaviours

https://marketplace.atlassian.com/plugins/com.onresolve.jira.groovy.groovyrunner

Others can probably provide you with a script...

Cheers Christian

you can write workflow validator plugin see the below

https://developer.atlassian.com/display/JIRADEV/Workflow+Plugin+Modules#WorkflowPluginModules-Validators

http://www.j-tricks.com/1/post/2010/08/workflow-validator.html

in that you can write a code like

CustomFieldManager cfm=ComponentAccessor.getCustomFieldManager(); 

InvalidInputException e= new InvalidInputException();

Set<Label> labels=issue.getLabels();{assuming issue tagging adding labels to it}

if(labels.size()==1)

{

String label=labels.getLabel();

if(label.equals("system=IVH") && issue.getStatusObject().getName().equals("Open"))

{

Object iVHArchitect=issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("IVH Architect"));

Object iVHDeveloper=issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("IVH developer"));

if(iVHArchitect ==null || iVHDeveloper==null)
{
 e.addError("the fields IVH Arcitect' and 'IVH developer' must have a value before starting progress when system is IVH");
 throw e;
}
}

}

Object system=issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("system"));{assuming if system is a customfield}
if(system!=null && system.toString().equals("IVH"))
{

String label=labels.getLabel();

if(label.equals("system=IVH") && issue.getStatusObject().getName().equals("Open"))

{

Object iVHArchitect=issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("IVH Architect"));

Object iVHDeveloper=issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("IVH developer"));

if(iVHArchitect ==null || iVHDeveloper==null)
{
 e.addError("the fields IVH Arcitect' and 'IVH developer' must have a value before starting progress when system is IVH");
 throw e;
}
}

}

if you need built-in plugin go through Script Runner plugin.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Sunday in Agility

You asked for it, so we delivered: images on issues have arrived

A picture tells a thousand words. And agility boards have just released their latest feature: cover images on issues – so now your board can tell a story at first glance. Upload attachmen...

1,005 views 3 12
Read article

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