Smart Checklist REST API v1.0
Welcome to the Smart Checklist for Jira Server/Data Center platform REST API reference. You can use this REST API to develop integrations between Smart Checklist, Jira, and other 3rd party applications. This page documents the REST resources available in Smart Checklist for the Jira Server/Data Center platform, along with expected HTTP response codes and sample requests.
Looking for simpler integration using Jira REST API and/or 3rd party add-ons? Follow the links below:
- 1 Authentication
- 2 Resources
- 2.1 /rest/railsware/1.0/checklist
- 2.1.1 Get checklists GET /rest/railsware/1.0/checklist
- 2.1.1.1 Query parameters
- 2.1.1.2 Responses
- 2.1.2 Update checklist PUT /rest/railsware/1.0/checklist/{checklistId}
- 2.1.2.1 Path parameters
- 2.1.2.2 Body parameters (application/json) - list of JSON objects:
- 2.1.2.3 Example
- 2.1.2.4 Responses
- 2.1.3 Delete checklist items DELETE /rest/railsware/1.0/checklist/{checklistId}
- 2.1.3.1 Path parameters
- 2.1.3.2 Responses
- 2.1.4 Create/Update checklist from string PUT /rest/railsware/1.0/checklist/{checklistId}/item
- 2.1.4.1 Path parameters
- 2.1.4.2 Body parameters (application/json)
- 2.1.4.3 Example
- 2.1.4.4 Responses
- 2.1.1 Get checklists GET /rest/railsware/1.0/checklist
- 2.2 /rest/railsware/1.0/template/
- 2.2.1 Get templates list GET /rest/railsware/1.0/template/global
- 2.2.1.1 Query parameters
- 2.2.1.2 Responses
- 2.2.2 Get project templates GET /rest/railsware/1.0/template/project/{projectId}
- 2.2.2.1 Path parameters
- 2.2.2.2 Query parameters
- 2.2.2.3 Responses
- 2.2.3 Get template by ID GET /rest/railsware/1.0/template/{templateId}
- 2.2.3.1 Path parameters
- 2.2.3.2 Responses
- 2.2.4 Get templates fields GET /rest/railsware/1.0/template/fields
- 2.2.4.1 Supported options per field types are:
- 2.2.4.2 Responses
- 2.2.5 Create template POST /rest/railsware/1.0/template
- 2.2.5.1 Body parameters (application/json)
- 2.2.5.2 Request body example:
- 2.2.5.3 Responses
- 2.2.6 Update template PUT /rest/railsware/1.0/template/{id}
- 2.2.6.1 Path parameters
- 2.2.6.2 Body parameters (application/json)
- 2.2.6.3 Responses
- 2.2.7 Apply template to the issue POST /rest/railsware/1.0/checklist{checklistId}/template/{templateId}
- 2.2.7.1 Path parameters
- 2.2.7.2 Responses
- 2.2.8 Delete template DELETE /rest/railsware/1.0/template/{id}
- 2.2.8.1 Path parameters
- 2.2.8.2 Query parameters:
- 2.2.8.3 Responses
- 2.2.9 New Get Smart Checklist history GET /rest/railsware/1.0/history - available from v6.5.0
- 2.2.9.1 Query parameters:
- 2.2.9.2 Responses
- 2.2.10 New Run migration POST /rest/railsware/1.0/migration
- 2.2.10.1 Query parameters:
- 2.2.10.2 Example
- 2.2.10.3 Responses
- 2.2.1 Get templates list GET /rest/railsware/1.0/template/global
- 2.1 /rest/railsware/1.0/checklist
- 3 Resources based on permissions
Authentication
Use the same authentication that you use to authenticate to Jira applications on your instances.
Resources
☝🏼 NOTE: For issues with multiple checklist tabs, all Public API calls will only interact with the Default Checklist tab.
/rest/railsware/1.0/checklist
Get checklists GET /rest/railsware/1.0/checklist
Retrieves an existing list of checklists for the given issue key
Query parameters
issueKey: string (required)
Responses
status 200 application/json Returns a list of all checklists associated with the provided issue key in JSON format
Example
{
"checklists": [
{
"checklistId": 829,
"issueId": 13657,
"mentionedUsers": {
"mariya": "mariya"
},
"items": [
{
"id": 26403,
"checklistId": 829,
"label": "INVEST",
"rank": 0,
"status": null,
"quotes": [],
"assignees": [],
"history": {
"id": 19902,
"itemId": 26403,
"checklistId": 829,
"type": "ITEM_CREATED",
"from": "",
"to": "",
"date": 1718634937972,
"user": "Admin Admin"
},
"mandatory": false,
"value": "## INVEST",
"level": 2,
"type": "HEADING",
"isCheckbox": false
},
{
"id": 26398,
"checklistId": 829,
"label": "**Independent.** The user story is self contained. @mariya ",
"rank": 1,
"status": {
"id": 1,
"rank": 0,
"statusState": "UNCHECKED",
"name": "TO DO",
"color": "GRAY",
"default": true
},
"quotes": [],
"assignees": [
{
"id": 518,
"userName": "mariya",
"displayName": "mariya"
}
],
"history": {
"id": 19904,
"itemId": 26398,
"checklistId": 829,
"type": "ITEM_UPDATED",
"from": "TO DO",
"to": "TO DO",
"date": 1718634945507,
"user": "Admin Admin"
},
"mandatory": false,
"value": "**Independent.** The user story is self contained. @mariya ",
"level": null,
"type": "item",
"isCheckbox": true
},
{
"id": 26399,
"checklistId": 829,
"label": "**Negotiable.** The details of the user story can be negotiated and refined, as the team gets a better understanding of the requirements.",
"rank": 2,
"status": {
"id": 1,
"rank": 0,
"statusState": "UNCHECKED",
"name": "TO DO",
"color": "GRAY",
"default": true
},
"quotes": [],
"assignees": [],
"history": {
"id": 19898,
"itemId": 26399,
"checklistId": 829,
"type": "ITEM_CREATED",
"from": "",
"to": "TO DO",
"date": 1718634937972,
"user": "Admin Admin"
},
"mandatory": false,
"value": "**Negotiable.** The details of the user story can be negotiated and refined, as the team gets a better understanding of the requirements.",
"level": null,
"type": "item",
"isCheckbox": true
},
{
"id": 26400,
"checklistId": 829,
"label": "**Valuable.** The user story clearly defines and provides value to the end-users or stakeholders.",
"rank": 3,
"status": {
"id": 1,
"rank": 0,
"statusState": "UNCHECKED",
"name": "TO DO",
"color": "GRAY",
"default": true
},
"quotes": [],
"assignees": [],
"history": {
"id": 19899,
"itemId": 26400,
"checklistId": 829,
"type": "ITEM_CREATED",
"from": "",
"to": "TO DO",
"date": 1718634937972,
"user": "Admin Admin"
},
"mandatory": false,
"value": "**Valuable.** The user story clearly defines and provides value to the end-users or stakeholders.",
"level": null,
"type": "item",
"isCheckbox": true
},
{
"id": 26401,
"checklistId": 829,
"label": "**Estimable.** The user story may be accurately estimated.",
"rank": 4,
"status": {
"id": 1,
"rank": 0,
"statusState": "UNCHECKED",
"name": "TO DO",
"color": "GRAY",
"default": true
},
"quotes": [],
"assignees": [],
"history": {
"id": 19900,
"itemId": 26401,
"checklistId": 829,
"type": "ITEM_CREATED",
"from": "",
"to": "TO DO",
"date": 1718634937972,
"user": "Admin Admin"
},
"mandatory": false,
"value": "**Estimable.** The user story may be accurately estimated.",
"level": null,
"type": "item",
"isCheckbox": true
},
{
"id": 26402,
"checklistId": 829,
"label": "**Testable.** ",
"rank": 5,
"status": {
"id": 1,
"rank": 0,
"statusState": "UNCHECKED",
"name": "TO DO",
"color": "GRAY",
"default": true
},
"quotes": [
{
"id": 5626,
"rank": 0,
"text": "The user story may be tested ",
"label": "The user story may be tested ",
"value": "The user story may be tested "
},
{
"id": 5627,
"rank": 1,
"text": "and has a clear acceptance criterias for evaluation of completion.",
"label": "and has a clear acceptance criterias for evaluation of completion.",
"value": "and has a clear acceptance criterias for evaluation of completion."
}
],
"assignees": [],
"history": {
"id": 19901,
"itemId": 26402,
"checklistId": 829,
"type": "ITEM_CREATED",
"from": "",
"to": "TO DO",
"date": 1718634937972,
"user": "Admin Admin"
},
"mandatory": false,
"value": "**Testable.** ",
"level": null,
"type": "item",
"isCheckbox": true
},
{
"id": 26404,
"checklistId": 829,
"label": "Note: this is an example",
"rank": 6,
"status": null,
"quotes": [],
"assignees": [],
"history": {
"id": 19903,
"itemId": 26404,
"checklistId": 829,
"type": "ITEM_CREATED",
"from": "",
"to": "",
"date": 1718634937972,
"user": "Admin Admin"
},
"mandatory": false,
"value": "Note: this is an example",
"level": null,
"type": "raw",
"isCheckbox": false
}
]
}
]
}
status 400 Returned if the issue key is not provided
status 404 Returned if the requested issue is not found
Update checklist PUT /rest/railsware/1.0/checklist/{checklistId}
Updates checklist items
Path parameters
checklistId: number (required)
Body parameters (application/json) - list of JSON objects:
id: number
rank: number
label: string
level: number
mandatory: boolean
status: object
id: number (required) - new status id
Example
Changes the item 26401 position and changes label + status of item 26398:
[
{
"id": 26401,
"rank": 2
},
{
"id": 26398,
"label": "**Independent.** The user story is self contained",
"status": {
"id": 2
}
}
]
Responses
STATUS 200 Returns a list of all checklists associated with the same issue in JSON format
status 400 Returned if the request body is invalid
status 404 Returned if the requested checklist is not found
Delete checklist items DELETE /rest/railsware/1.0/checklist/{checklistId}
Deletes all checklist items for the given checklist
Path parameters
checklistId: number (required)
Responses
STATUS 200 application/json returns empty checklist in JSON format
status 404 Returned if the requested checklist is not found
Create/Update checklist from string PUT /rest/railsware/1.0/checklist/{checklistId}/item
Creates or updates checklist items from string
Path parameters
checklistId: number (required)
Body parameters (application/json)
stringValue: string (required)
isReplace: boolean - replaces all checklist items by the provided string value if true, appends items to the end of the list otherwise
Example
{
"isReplace": true,
"stringValue": "# Release instructions2\n## Preparation\n+ Add feature permissions\n+ Send `internal` announcement with presentation\n~ Prepare branch\n> * merge feature to master\n> * set tag\n> * update changelog.com"
}Responses
STATUS 200 Returns a list of all checklists associated with the same issue in JSON format
/rest/railsware/1.0/template/
Get templates list GET /rest/railsware/1.0/template/global
Returns a paginated list of templates available in Jira
Query parameters
page: number (default 1)
reversed: boolean - specifies ASC or DESC order of templates
query: string - specifies the filter by template name
orderBy: string - specifies the order column of templates. Valid values are
name,enabled,issueTypesandprojects
Responses
STATUS 200 application/json returns a list of templates in JSON format
Example:
{
"totalPages": 1,
"templates": [
{
"id": 2,
"name": "For manual",
"value": "- uno\n- duo\n- tres\n",
"enabled": true,
"defaultContext": {
"type": 0,
"values": []
},
"scope": {
"type": 1,
"values": [
{
"value": "10000",
"label": "Test 1",
"iconUrl": "http://localhost:2990/jira/secure/projectavatar?size=xsmall&avatarId=10324",
"link": ""
},
{
"value": "10001",
"label": "Second Project",
"iconUrl": "http://localhost:2990/jira/secure/projectavatar?size=xsmall&avatarId=10324",
"link": ""
}
]
},
"conditions": [],
"trigger": {
"type": 3,
"preventDuplicates": false
},
"usageCount": 0,
"modificationType": "APPEND"
},
{
"id": 3,
"name": "Release",
"value": "# Release instuctions\n## Preparation\n+ Add feature permissions\n+ Send `internal` announcement\n~ Prepare branch\n> * merge feature to master\n> * set tag\n> * update changlog.com\n## Deploy\n- Deploy master to prod\nx Deploy new login page\n- Test and confirm successful deployment\n- Send `external` announcement to customers\n",
"enabled": true,
"defaultContext": {
"type": 2,
"values": [
{
"value": "10000",
"label": "Task",
"iconUrl": "http://localhost:2990/jira/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype"
}
]
},
"scope": {
"type": 0,
"values": []
},
"conditions": [
{
"field": {
"id": "issuetype",
"type": "MULTI_SELECT",
"suggestionFieldId": "issuetype"
},
"option": "IS_ONE_OF",
"values": [
"10000"
]
},
{
"field": {
"id": "priority",
"type": "PRIORITY",
"suggestionFieldId": "priority"
},
"option": "GREATER_THAN",
"values": [
"2"
]
}
],
"trigger": {
"type": 2,
"to": [
"6",
"10001",
"5"
],
"preventDuplicates": false
},
"usageCount": 0,
"modificationType": "APPEND"
},
{
"id": 1,
"name": "Test",
"value": "- item 1\n- item 2\n- item 3\n",
"enabled": false,
"defaultContext": {
"type": 1,
"values": []
},
"scope": {
"type": 2,
"values": [
{
"value": "10000",
"label": "Test 1",
"iconUrl": "http://localhost:2990/jira/secure/projectavatar?size=xsmall&avatarId=10324",
"link": ""
}
]
},
"conditions": [
{
"field": {
"id": "summary",
"type": "SINGLE_LINE_TEXT",
"suggestionFieldId": "summary"
},
"option": "CONTAINS",
"values": [
"urgent"
]
},
{
"field": {
"id": "issuetype",
"type": "MULTI_SELECT",
"suggestionFieldId": "issuetype"
},
"option": "ALL",
"values": []
}
],
"trigger": {
"type": 0,
"preventDuplicates": false
},
"usageCount": 0,
"modificationType": "APPEND"
}
]
}status 400 Returned if the request parameters are invalid
Get project templates GET /rest/railsware/1.0/template/project/{projectId}
Returns a paginated list of project templates
Path parameters
projectId: number
Query parameters
page: number (default 1)
global: boolean - if true returns templates for
ALLprojects scope andMultipleproject scope that contains selected projectreversed: boolean - specify ASC or DESC order of templates by name
Responses
status 200 application/json returns a list of project templates in JSON format
Example:
{
"totalPages": 1,
"templates": [
{
"id": 2,
"name": "For manual",
"value": "- uno\n- duo\n- tres\n",
"enabled": true,
"defaultContext": {
"type": 0,
"values": []
},
"scope": {
"type": 1,
"values": [
{
"value": "10000",
"label": "Test 1",
"iconUrl": "http://localhost:2990/jira/secure/projectavatar?size=xsmall&avatarId=10324",
"link": ""
},
{
"value": "10001",
"label": "Second Project",
"iconUrl": "http://localhost:2990/jira/secure/projectavatar?size=xsmall&avatarId=10324",
"link": ""
}
]
},
"conditions": [],
"trigger": {
"type": 3,
"preventDuplicates": false
},
"usageCount": 0,
"modificationType": "APPEND"
},
{
"id": 3,
"name": "Release",
"value": "# Release instuctions\n## Preparation\n+ Add feature permissions\n+ Send `internal` announcement\n~ Prepare branch\n> * merge feature to master\n> * set tag\n> * update changlog.com\n## Deploy\n- Deploy master to prod\nx Deploy new login page\n- Test and confirm successful deployment\n- Send `external` announcement to customers\n",
"enabled": true,
"defaultContext": {
"type": 2,
"values": [
{
"value": "10000",
"label": "Task",
"iconUrl": "http://localhost:2990/jira/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype"
}
]
},
"scope": {
"type": 0,
"values": []
},
"conditions": [
{
"field": {
"id": "issuetype",
"type": "MULTI_SELECT",
"suggestionFieldId": "issuetype"
},
"option": "IS_ONE_OF",
"values": [
"10000"
]
},
{
"field": {
"id": "priority",
"type": "PRIORITY",
"suggestionFieldId": "priority"
},
"option": "GREATER_THAN",
"values": [
"2"
]
}
],
"trigger": {
"type": 2,
"to": [
"6",
"10001",
"5"
],
"preventDuplicates": false
},
"usageCount": 0,
"modificationType": "APPEND"
}
]
}status 404 returned if the requested project is not found
status 400 returned if the request parameters are invalid
Get template by ID GET /rest/railsware/1.0/template/{templateId}
Returns the Smart Checklist template by id
Path parameters
templateId: number
Responses
status 200 application/json returns a single template in JSON format
Example:{ "id": 3, "name": "Release", "value": "# Release instuctions\n## Preparation\n+ Add feature permissions\n+ Send `internal` announcement\n~ Prepare branch\n> * merge feature to master\n> * set tag\n> * update changlog.com\n## Deploy\n- Deploy master to prod\nx Deploy new login page\n- Test and confirm successful deployment\n- Send `external` announcement to customers\n", "enabled": true, "defaultContext": { "type": 2, "values": [ { "value": "10000", "label": "Task", "iconUrl": "http://localhost:2990/jira/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype" } ] }, "scope": { "type": 0, "values": [] }, "conditions": [ { "field": { "id": "issuetype", "type": "MULTI_SELECT", "suggestionFieldId": "issuetype" }, "option": "IS_ONE_OF", "values": [ "10000" ] }, { "field": { "id": "priority", "type": "PRIORITY", "suggestionFieldId": "priority" }, "option": "GREATER_THAN", "values": [ "2" ] } ], "trigger": { "type": 2, "to": [ "6", "10001", "5" ], "preventDuplicates": false }, "usageCount": 0, "modificationType": "APPEND" }status 404 returned if the requested template is not found
Get templates fields GET /rest/railsware/1.0/template/fields
Returns a supported list of fields with types for template condition section
Supported options per field types are:
MULTI_SELECT - EQUALS, DOES_NOT_EQUAL, IS_ONE_OF, IS_NOT_ONE_OF
SINGLE_SELECT - EQUALS, CONTAINS_ANY_OF, CONTAINS_ALL_OF, CONTAINS_NONE_OF
USER - EQUALS, DOES_NOT_EQUAL, IS_ONE_OF, IS_NOT_ONE_OF
SINGLE_LINE_TEXT - EQUALS, DOES_NOT_EQUAL, STARTS_WITH, ENDS_WITH, CONTAINS, DOES_NOT_CONTAIN
MULTI_LINE_TEXT - EQUALS, DOES_NOT_EQUAL, STARTS_WITH, ENDS_WITH, CONTAINS, DOES_NOT_CONTAIN
NUMBER - EQUALS, DOES_NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESS_THAN, LESS_THAN_OR_EQUAL_TO
PRIORITY - EQUALS, DOES_NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESS_THAN, LESS_THAN_OR_EQUAL_TO, IS_ONE_OF, IS_NOT_ONE_OF
RESOLUTION - EQUALS, DOES_NOT_EQUAL, IS_ONE_OF, IS_NOT_ONE_OF, IS_RESOLVED, IS_UNRESOLVED
REQUEST_TYPE - EQUALS, DOES_NOT_EQUAL, IS_ONE_OF, IS_NOT_ONE_OF
Also, if a field has property “canBeEmpty” equal to ‘true’, a list of options will extend with two additional values - IS_EMPTY and IS_NOT_EMPTY
Responses
status 200 application/json returns a list of fields in JSON format
Example:[ { "id": "summary", "type": "SINGLE_LINE_TEXT", "name": "Summary", "canBeEmpty": true, "suggestionFieldId": "summary" }, { "id": "issuetype", "type": "MULTI_SELECT", "name": "Issue Type", "canBeEmpty": false, "suggestionFieldId": "issuetype" }, { "id": "status", "type": "MULTI_SELECT", "name": "Status", "canBeEmpty": false, "suggestionFieldId": "status" }, { "id": "priority", "type": "PRIORITY", "name": "Priority", "canBeEmpty": false, "suggestionFieldId": "priority" }, { "id": "resolution", "type": "RESOLUTION", "name": "Resolution", "canBeEmpty": false, "suggestionFieldId": "resolution" }, { "id": "assignee", "type": "USER", "name": "Assignee", "canBeEmpty": true, "suggestionFieldId": "assignee" }, { "id": "reporter", "type": "USER", "name": "Reporter", "canBeEmpty": true, "suggestionFieldId": "reporter" }, { "id": "creator", "type": "USER", "name": "Creator", "canBeEmpty": true, "suggestionFieldId": "creator" }, { "id": "affectedVersion", "type": "MULTI_SELECT", "name": "Affects Version/s", "canBeEmpty": true, "suggestionFieldId": "affectedVersion" }, { "id": "fixVersion", "type": "MULTI_SELECT", "name": "Fix Version/s", "canBeEmpty": true, "suggestionFieldId": "fixVersion" }, { "id": "component", "type": "MULTI_SELECT", "name": "Component/s", "canBeEmpty": true, "suggestionFieldId": "component" }, { "id": "environment", "type": "MULTI_LINE_TEXT", "name": "Environment", "canBeEmpty": true, "suggestionFieldId": "environment" }, { "id": "description", "type": "MULTI_LINE_TEXT", "name": "Description", "canBeEmpty": true, "suggestionFieldId": "description" }, { "id": "labels", "type": "MULTI_SELECT", "name": "Labels", "canBeEmpty": true, "suggestionFieldId": "labels" }, { "id": "customfield_10001", "type": "MULTI_LINE_TEXT", "name": "Checklists", "canBeEmpty": true, "suggestionFieldId": "cf[10001]" }, { "id": "customfield_10002", "type": "SINGLE_LINE_TEXT", "name": "Smart Checklist Progress", "canBeEmpty": true, "suggestionFieldId": "cf[10002]" } ]
Create template POST /rest/railsware/1.0/template
Creates a new template
Body parameters (application/json)
name: string (required) - specifies a template name
value: string - specifies checklist value in string format
enabled: boolean (true by default)
scope: object (required) - specifies a scope of projects to be displayed on
type: number - (0 - All projects, 1 - Multiple projects, 2 - Single project)
values: array of project idstrigger: object - specifies a trigger for automatically template applying
type: number - (0 - Issue created, 1 - Issue updated, 2 - Issue transitioned, 3 - none)
from: array of status ids - available only for Issue transitioned trigger type
to: array of status ids - available only for Issue transitioned trigger type
preventDuplicates: booleanconditions: array of objects - specifies a list of conditions that have to be checked before applying a template
field: object
type: string (required)
id: string (required)
option: string
values: array of strings
Request body example:
{
"name": "Template name",
"value": "- item 1\n",
"enabled": true,
"scope": {
"type": 0,
"values": []
},
"conditions": [
{
"field": {
"id": "resolution",
"type": "RESOLUTION"
},
"option": "IS_UNRESOLVED",
"values": []
},
{
"field": {
"id": "issuetype",
"type": "MULTI_SELECT"
},
"option": "IS_ONE_OF",
"values": [
"10000",
"10001"
]
},
{
"field": {
"id": "priority",
"type": "PRIORITY"
},
"option": "GREATER_THAN",
"values": [
"2"
]
}
],
"trigger": {
"type": 2,
"from": ["4"],
"to": [
"6",
"10001",
"5"
],
"preventDuplicates": false
}
}Responses
status 200 application/json returns the created template in JSON format
status 400 returned if the request parameters are invalid
Update template PUT /rest/railsware/1.0/template/{id}
Updates template
Path parameters
id: number (required)
Body parameters (application/json)
projectId: number (optional) - specifies a project ID
name: string (required) - specifies a template name
value: string - specifies checklist value in string format
enabled: boolean (true by default)
scope: object (required) - specifies a scope of projects to be displayed on
type: number - (0 - All projects, 1 - Multiple projects, 2 - Single project)
values: array of project idstrigger: object - specifies a trigger for automatically template applying
type: number - (0 - Issue created, 1 - Issue updated, 2 - Issue transitioned, 3 - none)
from: array of status ids - available only for Issue transitioned trigger type
to: array of status ids - available only for Issue transitioned trigger type
preventDuplicates: booleanconditions: array of objects - specifies a list of conditions that have to be checked before applying a template
field: object
type: string (required)
id: string (required)
option: string
values: array of strings
Responses
status 200 application/json returns the created template in JSON format
status 400 returned if the request parameters are invalid
Apply template to the issue POST /rest/railsware/1.0/checklist{checklistId}/template/{templateId}
Apply template to the issue
Path parameters
checklistId: number (required)
templateId: number (required)
Responses
status 200 application/json Returns list of existing templates in JSON format
status 404 status 404 - returned if the requested template is not found
Delete template DELETE /rest/railsware/1.0/template/{id}
Deletes template by id
Path parameters
id: number (required)
Query parameters:
page: number
projectId: number (optional) - specifies project ID
Responses
status 200 application/json Returns list of existing templates in JSON format
status 404 status 404 - returned if the requested template is not found
New Get Smart Checklist history GET /rest/railsware/1.0/history - available from v6.5.0
Retrieves an existing list of changes/updates done to the checklist for the given issue key
Query parameters:
issueKey: string (required)
Responses
status 200 application/json Returns list of all history events for the checklist associated with the provided issue key in JSON format
New Run migration POST /rest/railsware/1.0/migration
Start the storage migration or migration from other apps (My ToDo, Elements Checklist)
Query parameters:
migrationOption: string
possible values: OVERRIDE, APPEND, ADD-IF-EMPTY
migrationType: string
possible values: STORAGE, ELEMENTS, MY_TO_DO, RESTORE_FROM_HISTORY
projectIds: array of project IDs
START_DATE: date
END_DATE: date
dryRun: boolean
value: true - no changes will be made. Use it to see and confirm the list of issue IDs where the checklist data needs to be restored
value: false - apply changes to the list of issues from dryRun mode
Example
{
"migrationOption": "OVERRIDE",
"migrationType": "ELEMENTS",
"projectIds": [11001, 10900],
"parameters":{"START_DATE": "2024-05-01T14:26:00", "END_DATE":"2024-05-03T14:26:00"},
"dryRun": true}
}
Responses
status 200 application/json Returns list of existing templates in JSON format
status 400 status 400 - returned if values for query parameters are not correct
REST API endpoints will not be accessible for all the users with the introduced custom permissions in the Smart Checklist v6.4.1.
Resources based on permissions
REST API endpoints with Jira Standard permission
|
| Jira Standard Permission (Role) | |||
|---|---|---|---|---|---|
|
| Jira Standard Permission (Role) | |||
|---|---|---|---|---|---|
REST API Resources | Description |
|
|
|
|
GET /rest/railsware/1.0/checklist | Get checklist |
|
|
|
|
GET /rest/railsware/1.0/history | Get Smart Checklist history |
|
|
|
|
PUT /rest/railsware/1.0/checklist/{checklistId} | Update checklist |
|
|
|
|
DELETE /rest/railsware/1.0/checklist/{checklistId} | Delete checklist items |
|
|
|
|
PUT /rest/railsware/1.0/checklist/{checklistId}/item | Create/Update checklist from string |
|
|
|
|
GET /rest/railsware/1.0/template/global | Get template list |
|
|
|
|
GET rest/railsware/1.0/template/project/{{projectId}}?reversed=false&page=1&global=true | Get global templates |
|
|
|
|
GET /rest/railsware/1.0/template/project/{projectId}?reversed=false&page=1&global=false | Get project templates |
|
|
|
|
GET /rest/railsware/1.0/template/{templateId} | Get template by ID |
|
|
|
|
GET /rest/railsware/1.0/template/fields | Get template fields |
|
|
|
|
POST /rest/railsware/1.0/template | Create template |
|
| only with "scope":{"type":2,"values":["projectId"] in request |
|
DELETE /rest/railsware/1.0/template/{id} | Delete template |
|
| only if add ?projectId={id} to the endpoint |
|
PUT rest/railsware/1.0/template/{Id} | Update template |
|
| only with "projectId" in request body |
|
REST API endpoints with Custom permissions to View and Work with Smart Checklist
You can set up Custom Permissions to View and Work with Smart Checklist starting from Smart Checklist v6.4.1.
|
| Custom Smart Checklist permission | Jira permission | ||||||
|---|---|---|---|---|---|---|---|---|---|
|
| Custom Smart Checklist permission | Jira permission | ||||||
|---|---|---|---|---|---|---|---|---|---|
REST API Resources | Description |
|
|
|
|
|
|
|
|
GET /rest/railsware/1.0/checklist | Get checklist |
| |||||||