REST API For Table Grid Editor

The public API is delivered in v1.18.0 or higher of the add-on.

 

Resources

/rest/idalko-igrid/1.0/grid/

Methods


Obtain Grid List GET  /rest/idalko-igrid/1.0/grid/list

Returns a list of TGE customfields in the JIRA instance. Only available for admins

available response representations: 

  • 200 (success) - application/json. Response example: 

    [ {"id": "10001", name: "TGE"}, {"id": "10002", name: "Sandwich Order"}, {"id": "10003", name: "Purchase"} ]



  • 403 (forbidden). Returned if:

    • the user has no permissions to get this info

  • 401 (not authorised)

  • 500 (server error) 


Obtain Grid Datasource Info GET  /rest/idalko-igrid/1.0/grid/{gridId}/datasource

Returns the table name, data source and connection url for a grid table.

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield


available response representations:

  • 200 (success) - application/json. Response example: 

    { "configurationTableName": "actions", "databaseTableName": "actions_c10200", "connectionUrl": "jdbc:mysql://localhost:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=storage_engine=InnoDB" }



  • 403 (forbidden). Returned if:

    • the user has no permissions to get this info

  • 400 (bad request). Returned if:

    • the specified customfield id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)



Obtain Number of Rows GET  /rest/idalko-igrid/1.0/grid/{gridId}[/issue/{issueId}]/rowcount

Returns the number of rows of the grid across all the issues or only in a certain issue

Note

If a user does not have permissions to see all the projects with the configured grids, he will see a number of rows only in issues invisible to his projects.

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield

issueId

long

-

id of the issue

available response representations:

  • 200 (success) - application/json. Response example: 

    { "rowCount": 12 }



  • 403 (forbidden). Returned if:

    • the user has no permissions to view specified issue

  • 400 (bad request). Returned if:

    • the specified customfield id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • customfield with the specified id does not exist

    • issue with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)

 


Reload Grid POST  /rest/idalko-igrid/1.0/grid/issue/{issueId}/reload

Reloads a single grid or multiple grids at once

template parameters

parameter

value

required

description

parameter

value

required

description

issueId

long

+

id of the issue

 

acceptable request representations:

Request body is a JSON with array of ids of grids to reload



available response representations:

  • 200 (success)

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield(s) id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist

    • TGE customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)



Clear Grid Data PUT  /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}/clear

Clears all the data from the specified grid in the specified issue

template parameters

parameter

value

required

description

parameter

value

required

description

issueId

long

+

id of the issue

gridId

long

+

id of the TGE customfield

 

available response representations:

  • 200 (success)

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield(s) id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist

    • TGE customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)



Clear All Duplicates PUT  /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}/clearDuplicates

Removes duplicate rows from the specified grid in the specified issue

template parameters

parameter

value

required

description

parameter

value

required

description

issueId

long

+

id of the issue

gridId

long

+

id of the TGE customfield

 

available response representations:

  • 200 (success)

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield(s) id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist

    • TGE customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)


Clear All Not Modified PUT  /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}/clearNotModified

Removes all non-modified rows from the specified grid in the specified issue

template parameters

parameter

value

required

description

parameter

value

required

description

issueId

long

+

id of the issue

gridId

long

+

id of the TGE customfield

 

available response representations:

  • 200 (success)

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield(s) id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist

    • TGE customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)


 

Read Grid Data GET /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}/[row/{rowId}]?columns&startAt&maxResults

Returns grid data for the issue

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield

issueId

long

+

id of the issue

rowId

long

-

id of the row in grid. Optional. If specified, only data for this row is returned. 


query parameters

parameter

value

required

description

parameter

value

required

description

columns

string

-

coma-separated list of columns as configured in the grid definition. If omitted - all columns are returned

startAt

integer

-

startAt pagination parameter. See pagination

maxResults

integer

-

maxResults pagination parameter. See pagination 

 

available response representations:

  • 200 (success) - application/json. Given the grid configuration similar to the Family List the example of request and response are: 



    if columns are specified it could be 



    if a special column like list is specified - the response contains all the data related to this column. For example, 



    *NOTE*: the dob field in the example actually has to contain time in milliseconds instead of date string - to be done

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield id exists but it is not a TGE customfield

    • specified column name(s) does not exist

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist 

    • TGE customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)


Read Grid Data for all issues GET /rest/idalko-igrid/1.0/grid/{gridId}/issues?startAt&maxResults&rowId&columns

Returns grid data for all issues

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield



query parameters

parameter

value

required

description

parameter

value

required

description

columns

string

-

coma-separated list of columns as configured in the grid definition. If omitted - all columns are returned

startAt

integer

-

startAt pagination parameter. See pagination

maxResults

integer

-

maxResults pagination parameter. See pagination 

rowId

long

-

rowId of particular issue with grid data



available response representations:

  • 200 (success) - application/json. Given the grid configuration similar to the Family List the example of request and response are: 



    Response

    if columns are specified it could be 



    Response



  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield id exists but it is not a TGE customfield

    • specified column name(s) does not exist

  • 404 (not found). Returned if:

    • TGE customfield with the specified id does not exist

  • 401 (not authorised)

  • 500 (server error)


Add Rows POST /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}

Add rows to the grid

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield

issueId

long

+

id of the issue

 



Request body is a JSON array with column names and values



Note

The API user does not have to specify all columns of the grid. Omitted columns will be set to null if they are not required 



available response representations:

  • 201 (success) - application/json.



  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield id exists but it is not a TGE customfield

    • specified column name(s) does not exist

    • invalid value for some column. For example, a non-number for number field

    • the column which is required is not specified

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist 

    • TGE customfield with the specified id does not exist

    • the column used in the request does not exist

  • 401 (not authorised)

  • 500 (server error)


Edit Rows PUT /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}

Edit grid data

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield

issueId

long

+

id of the issue

 

Request body is a JSON array with rowId, column names, and values.





available response representations:

  • 200 (success)

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield id exists but it is not a TGE customfield

    • invalid value for some column. For example, a non-number for number field

    • null or empty value for the required field

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist 

    • TGE customfield with the specified id does not exist

    • the specified rowId does not exist

    • specified column name(s) does not exist

  • 401 (not authorised)

  • 500 (server error)


Remove Rows DELETE /rest/idalko-igrid/1.0/grid/{gridId}/issue/{issueId}

Delete grid rows

template parameters

parameter

value

required

description

parameter

value

required

description

gridId

long

+

id of the TGE customfield

issueId

long

+

id of the issue

 

Request body is a json with a list of rowIds to delete.



use following request body to delete all rows of the grid for the issue



available response representations:

  • 204 (success)

  • 403 (forbidden). Returned if:

    • the user has no permissions for the specified issue

  • 400 (bad request). Returned if:

    • invalid custom field context, i.e this issue is not applicable to the context of the specified grid

    • the specified customfield id exists but it is not a TGE customfield

  • 404 (not found). Returned if:

    • the specified issueId doesn't exist 

    • TGE customfield with the specified id does not exist

    • the specified rowId does not exist

  • 401 (not authorised)

  • 500 (server error)


Synchronize Custom Field Values PUT /rest/idalko-igrid/1.0/grid/synchronize

Synchronize custom field values of all grids in all issues after the direct import of the grid data using SQL query.

Request body is ignored.

available response representations:

  • 204 (success). Returns the ID of the synchronization background task. May be used in future releases of the API to track the synchronization progress when an appropriate call is added.

  • 403 (forbidden). Returned if:

    • the user is not a sysadmin

  • 401 (not authorised)

  • 500 (server error)