Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleExpand table of contents
Table of Contents

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

Expand
titleExpand

Query parameters

  • issueKey: string (required)

Responses

  • Status
    colourGreen
    titlestatus 200
    application/json Returns a list of all checklists associated with the provided issue key in JSON format
    Example

Code Block
languagejson
{
    "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
    colourRed
    titlestatus 400
    Returned if the issue key is not provided

  • Status
    colourRed
    titlestatus 404
    Returned if the requested issue is not found

Update checklist PUT /rest/railsware/1.0/checklist/{checklistId}

Updates checklist items

Expand
titleExpand

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:

Code Block
languagejson
[
    {
        "id": 50859,
        "rank": 3
    },
    {
        "id": 50860,
        "label": "Add feature permissions",
        "status": {
            "id": 2
        }
    }
]

Responses

  • Status
    colourGreen
    titleSTATUS 200
    Returns a list of all checklists associated with the same issue in JSON format

  • Status
    colourRed
    titlestatus 400
    Returned if the request body is invalid

  • Status
    colourRed
    titlestatus 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

Expand
titleExpand

Path parameters

  • checklistId: number (required)

Responses

  • Status
    colourGreen
    titleSTATUS 200
    application/json returns empty checklist in JSON format

  • Status
    colourRed
    titlestatus 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

Expand
titleExpand

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

Code Block
languagejson
{
    "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
    colourGreen
    titleSTATUS 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

Expand
titleExpand

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 and projects

Responses

  • Status
    colourGreen
    titleSTATUS 200
    application/json returns a list of templates in JSON format

    Example:

Code Block
languagejson
{
   "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
    colourRed
    titlestatus 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

Expand
titleExpand

Path parameters

  • projectId: number

Query parameters

  • page: number (default 1)

  • global: boolean - if true returns templates for ALL projects scope and Multiple project scope that contains selected project

  • reversed: boolean - specify ASC or DESC order of templates by name

Responses

  • Status
    colourGreen
    titlestatus 200
    application/json returns a list of project templates in JSON format
    Example:

Code Block
{
   "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
    colourRed
    titlestatus 404
    returned if the requested project is not found

  • Status
    colourRed
    titlestatus 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

Expand
titleExpand

Path parameters

  • templateId: number

Responses

  • Status
    colourGreen
    titlestatus 200
    application/json returns a single template in JSON format
    Example:

    Code Block
    {
       "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
    colourRed
    titlestatus 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

Expand
titleExpand

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
    colourGreen
    titlestatus 200
    application/json returns a list of fields in JSON format
    Example:

    Code Block
    [
       {
           "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


Expand
titleExpand

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 ids

  • trigger: 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: boolean

  • conditions: 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:

Code Block
{
   "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
    colourGreen
    titlestatus 200
    application/json returns the created template in JSON format

  • Status
    colourRed
    titlestatus 400
    returned if the request parameters are invalid

Update template PUT /rest/railsware/1.0/template/{id}

Updates template

Expand
titleExpand


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 ids

  • trigger: 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: boolean

  • conditions: 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
    colourGreen
    titlestatus 200
    application/json returns the created template in JSON format

  • Status
    colourRed
    titlestatus 400
    returned if the request parameters are invalid


Delete template DELETE /rest/railsware/1.0/template/{id}

Deletes template by id

Expand
titleExpand

Path parameters

  • id: number (required)

Query parameters:

  • page: number

Responses

  • Status
    colourGreen
    titlestatus 200
    application/json Returns list of existing templates in JSON format

  • Status
    colourRed
    titlestatus 404
    status 404 - returned if the requested template is not found

...