You can use Jira REST API to work with the checklists ⚡️

📖 Overview

You can read/write checklists by accessing any of checklist storage:

🔒 Authentication

Get your API token from https://id.atlassian.com/manage/api-tokens.
Check out instructions here →  https://confluence.atlassian.com/cloud/api-tokens-938839638.html

Then use the following approach.

Using com.railsware.SmartChecklist.checklist issue property:

🔗 Jira API reference

Set the checklist

curl --location --request PUT \
--url 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/properties/com.railsware.SmartChecklist.checklist' \
--user 'email@example.com:<api_token>' \
--header 'Accept: application/json' \
--data '"- ToDo List\n+ Checked\nx Skipped\n~ In Progress\n"'

Get the checklist

curl --request GET \
--url 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/properties/com.railsware.SmartChecklist.checklist' \
--user 'email@example.com:<api_token>' \
--header 'Accept: application/json' \


Using Checklists custom field

🔗 Jira API reference

☝🏼NOTE: customfield_10001 custom field id might be different on your instance. Make sure you use the correct one

Set the checklist

curl --request PUT \
--url 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}' \
--user 'email@example.com:<api_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
  "fields": {
    "customfield_10001": "- ToDo List\n+ Checked\nx Skipped\n~ In Progress\n"
  }
}'

Get the checklist

curl --request GET \
--url 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}' \
--user 'email@example.com:<api_token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' 

Check an example implementation with ScriptRunner for Jira (Cloud)

Hope everything works for you! 🚀