This documentation is for version 4.x. For the latest documentation, click here

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This code is for a Custom Validator that will verify if at least one item is checked.

import com.onresolve.scriptrunner.runner.customisers.WithPlugin;
@WithPlugin("com.okapya.jira.checklist")
import com.okapya.jira.customfields.*;
import com.atlassian.jira.component.ComponentAccessor;
import com.opensymphony.workflow.InvalidInputException;

// Retrieve the Custom Field Type for the Checklist Custom Field
def customFieldManager = ComponentAccessor.getCustomFieldManager();
def checklistCustomField = customFieldManager.getCustomFieldObject("customfield_10000");
def checklistCustomFieldType = (ChecklistCFType) checklistCustomField.getCustomFieldType();

// Add items to the existing Checklist
def ArrayList<ChecklistItem> existingChecklistValue = (ArrayList<ChecklistItem>) issue.getCustomFieldValue(checklistCustomField);

def anyItemChecked = false;
// Find out if any item is checked
for (ChecklistItem item : existingChecklistValue) {
    if (item.isChecked()) {
      anyItemChecked = true;
      break;
    }
}

if (!anyItemChecked) {
    throw new InvalidInputException("At least one item must be checked in '" + checklistCustomField.getName() + "' Checklist.");
}
  • No labels