Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal


  • Give kudos
  • Received
  • Given


  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

What's the best practice to implement Definition of Done on JIRA? Edited

We are planing to implement DOD with following checkbox items:

Definition of  Done:

- Requirements sign Off for sprint goals

- Coding done for the story

- Code Review

- Test Environment Deployment

- QA sign off

In addition to that we also wanted to have a work flow restriction in which a story can only be closed when all of the above checkbox items are checked. 

We are planning to use a Custom Field i.e. checkbox to do that. I want to know if this process, along with the work flow restriction, is possible to implement in JIRA. And if possible how can we do that?

3 answers

Hi @devNitish 

You can do this by using the scriptrunner plugin. Out of the box its not possible to read values from the custom field.

The best is to use a Scriptrunner Plugin and in the workflow you can use a validator that checks all the options are checked. Here is the script that might be handy for you to work around.

import com.atlassian.jira.component.ComponentAccessor
import com.opensymphony.workflow.InvalidInputException

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def fieldConfigSchemeManager = ComponentAccessor.getFieldConfigSchemeManager()

def cf = customFieldManager.getCustomFieldObjectByName("Checkboxes") // modify name of checkboxes field
def config = fieldConfigSchemeManager.getRelevantConfig(issue, cf)
def allOptions = optionsManager.getOptions(config)

if (issue.getCustomFieldValue(cf) != allOptions) {
    throw new InvalidInputException(, "Check all boxes")

I will post some additional links which might be handy for you to workaround on it.


Scriptrunner is powerful but overcomplicated for some tasks. 

For this particular use case, it might be simpler to use a dedicated app, e.g. our Issue Checklist Free or its paid version Issue Checklist Pro

Both apps allow to quickly define the list of required checkboxes and set workflow restriction to require all items checked before the transition.

Also, the checklist template can be set as "default" and applied automatically for new issues. 

It also offers other useful features like user mention, due dates, search facility, statuses, and more.


As others have mentioned, your best call is probably one of the addons available on the Atlassian Marketplace. A few of the checklist addons there offer an easy way to create checklists directly in the Jira issues (similar to checklists in Trello, if you are familiar). They are also capable of injecting the checklist to each newly created issue or even enforce that the issue cannot be moved to done unless all checklist items are checked off.

There's an extensive guide on how to achieve this with Multiple Checklists for Jira on the Atlassian Community that we have developed:

Hi Sebastian, 

Thanks for the recommendation about the plugin but we are planning to leverage the inbuilt  checkbox functionality to build this feature. Could you please help us to achieve that?

Hi @devNitish ,


You could also try our Smart Checklist for Jira addon. It allows implementing Definition of Done, Acceptance criteria and especially validation of all checked checklist items before workflow transition.


Suggest an answer

Log in or Sign up to answer

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you