- Created by Pavel Pavlovsky, last modified by Olena Brazhko on Aug 18, 2022
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 11 Next »
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:
Authentication
Use the same authentication that you use to authenticate to Jira applications on your instances.
Resources
/rest/railsware/1.0/checklist
Get checklists GET /rest/railsware/1.0/checklist
Retrieve 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": 5, "issueId": 10115, "items": [ { "id": 50829, "rank": 0, "label": "Release instructions", "type": "heading", "level": 1, "quotes": [] }, { "id": 50830, "rank": 1, "label": "Preparation", "type": "heading", "level": 2, "quotes": [] }, { "id": 50831, "rank": 2, "label": "Add feature permissions", "type": "item", "status": { "id": 4, "rank": 2, "name": "DONE", "color": "GREEN", "default": true, "statusState": "CHECKED" }, "quotes": [] }, { "id": 50832, "rank": 3, "label": "Send `internal` announcement with presentation", "type": "item", "status": { "id": 4, "rank": 2, "name": "DONE", "color": "GREEN", "default": true, "statusState": "CHECKED" }, "quotes": [] }, { "id": 50833, "rank": 4, "label": "Prepare branch", "type": "item", "status": { "id": 2, "rank": 6, "name": "IN PROGRESS", "color": "BLUE", "default": true, "statusState": "UNCHECKED" }, "quotes": [ { "id": 1439, "rank": 0, "text": "* merge feature to master", "label": "* merge feature to master" }, { "id": 1440, "rank": 1, "text": "* set tag", "label": "* set tag" }, { "id": 1441, "rank": 2, "text": "* update changelog.com", "label": "* update changelog.com" } ] } ], "mentionedUsers": {} } ] }
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
status: object
id: number (required) - new status id
Example
Changes the item 50859 position and changes label + status of item 50860:
[ { "id": 50859, "rank": 3 }, { "id": 50860, "label": "Add feature permissions", "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
,issueTypes
andprojects
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
ALL
projects scope andMultiple
project 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)
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
Delete template DELETE /rest/railsware/1.0/template/{id}
Deletes template by id
Path parameters
id: number (required)
Query parameters:
page: number
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
- No labels