Versions Compared

Key

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

...

 

  • gd.visiblerows = 10 will show 10 rows of normal height
    Note that the height is calculated from the normal height and not expand automatically
  • gd.visiblerows = auto is used to expand the grid automatically based on the number of normal rows.

The calculation will take into account the other vertical size properties set by

...

 

  • DT_CRE: Row creation date
  • DT_UPD: Row last update date
  • JIRA_USER_CRE: userid of user who created the row
  • JIRA_USER_UPD: userid of user who updated the row

The tracking columns are added only when tracking is enabled.

If the gridtable was already used prior the enablement of the tracking feature, data (especially the create date and create user) will be null.

...

  • the property gd.tablename replaces the now deprecated gd.table property. 
  • If no tablename is given, no table will be created in the database and the griddata will not be persisted.
    • Data is stored in an in-memory database, which gets purged when JIRA is restarted or the plugin reenabled.
  • if a table name is given, the gridds datasource must be available and configured. 
  • From v1.3 onwards, you can also specify gd.ds=jira to store the gridtable in the same database as used by JIRA.
  • the resulting table name will be a combination of the base name of the grid table and the customfield id.

...

  • If no tablename is given, no table will be created in the database and the griddata will not be persisted.
    • Data is stored in an in-memory database, which gets purged when JIRA is restarted or the plugin reenabled.
  • if a table name is given, the gridds datasource must be available and configured
  • the resulting table name will be a combination of the base name of the grid table and the customfield id.
  • if you create multiple contexts for the same table grid custom field, make sure that you name each table differently

...

 

Note that the data will be persisted in the gridtable if there is one.

...

 

  • This number is starting from 1.
  • The value is not persisted

...

  • the gd.query can contain parameters that are marked {0}, {1}, {2}...,
  • each value {n} will be replaced with parameter value from gd.query.parameters, where the first parameter is labelled {0}.
  • an issuevalue is a value of the containing issue
  • when you need to quote the parameter (as it is a string), use single quotes ('), as this is accepted by all databases.

Check the issue values page for an overview of all the issue values which can be used.

Check the grid reload page which details how the grid will be refreshed when the dependent parameters change.

...

 

The grid will then reload the data as detailed in the gd.query
The parameter gd.query.keepOnRefresh allows to specify what should happen with the existing rows.

  • gd.query.keepOnRefresh = All
    All rows are kept, no data is removed
  • gd.query.keepOnRefresh = Modified
    Only the modified rows are kept. A row is considered modified if a user changed some of its values during the current or previous edit. The rows which have not been modified will be removed. This is the default setting.
  • gd.query.keepOnRefresh = None
    All rows are removed before reloading.

...

Icon

Be very carefull with the queries. 
You might use a query which brings down the database instance, or use stored procedures which wipe the database.

  • Use gd.query to initialize the grid with values when the issue is created.
  • When defining a sql query, you have to specify gd.query.ds
  • a query can depend on issue specific values such as customfields and isuefields. These values are specified through a gd.query.parameters
  • Use gd.query.columns to map the results of the query to the grid columns

...

 

gd.visiblerows must be set to 'auto'.

...

  • the column id will be used to specify the column details.
  • The order of the columns in this property is used to order the columns on the grid display.

...

The datasource names can be used in the different gd.query.ds and col.xyz.query.ds properties. When you define a gd.table - deprecated property (where you want to store data of the grid), you have to define a gridds data source. You can define multiple sources for retrieving data. There is one special datasource jira. This datasource doesn't need to be explicitely defined as the plugin does it for you. It represents the database where JIRA is storing its data. In version 1.1 of the plugin we support following databases

  • Oracle
  • Mysql
  • Postgres
  • MS SQL Server 2008

Note that in 1.12 we introduced Datasource Specifications which provides a simple form to define datasources and reuse them in multiple grids.

 

...

  • The width is expressed in pixels
  • behaviour depends on the underlying field and available screen estate.
    The grid plugin tries to come up with an appropriate width of a column depending on the underlying type.

...

 

The sequence prefix is used when the grid values are showed in a grid view or when printed or exported to xml or word. The sequence number of a row is allocated when an issue modification is persisted (during create or edit)
When uniqueSequence is true, the next id is allocated on an issue to issue basis. When uniqueSecuence is false, the next id is allocated based on the number of rows in the gridtable.

...

 

...

 

...

  1. Additional parameters can be defined for each of the different types.
  2. if no type is specified, it is assumed to be a string.

...

 

If no second attribute is given, then the first attribute is taken as value.

...

Icon

Be very carefull with the queries. 
The risk exists that a query brings down the database instance, or even wipe all the data in the db. To mitigate this risk ensure that the user has only read and create table authorizations.

There are 2 sources to populate a list

a) a query from a database 
b) a customfield of JIRA

The grid will know that it is either the first or the second based on the property value. If the property value starts with customfield: , the list will be populated with the custom field options, else the query will be considered as a sql query. Check for more details on the customfield query following specification: col.xyz.query - customfield

When specifying a sql query, such as 
col.xyz.query=select city, zip from cities

following applies

  • col.xyz.query.ds needs to be defined.
  • The first attribute in the select is interpreted as the name (or label) of the list option value, the second - optional - attribute is interpreted as its value.
    In case the select returns a single column, its value will be used as the name and the value of the list option.

...

 

Ensure that tracking has been enabled by specifying the gd.tracking property.
The parameter is case sensitive. If you sepecify col.xyz.name = dt_cre, 
the plugin assumes you are referring to another attribute

...

  • When adding this property to an existing configuration a new column will be created in the grid table.
  • Not all names are allowed - it all depends on the database capabilities If the name is one of the database reserved words, a 'u' is added in front of the name.

...

  • A column with a formula is read only
  • When the column containing the formula is a string, values are trimmed to 254 chars

...

 

a defaultValue of a list is its value

...

  1. The value is expressed in number of characters
  2. The width of the column has priority over the width implied by the number of characters.

...

 

The parameter can then be used by the target list query to select the relevant list options.

...

 

...

This page provides a quick overview of the properties, that you can use to create a grid.  

KeyUsage
grid details

Enable grid features by adding the property to the configuration. 

Child pages (Children Display)
pageGrid details
excerptTypesimple

grid display

You can specify grid display format (height, width, ...) using these properties.

Child pages (Children Display)
pageGrid Display Parameters
excerptTypesimple

grid initialization

Initialize grid with data statically or dynamically using these properties

Child pages (Children Display)
pagegrid initialization properties
excerptTypesimple

database details

Connect grid to the database using Data source admin.

Child pages (Children Display)
pagedatabase details - inner specifications
excerptTypesimple

column types

Set columns for the grid using these properties:

Child pages (Children Display)
pageColumn types
excerptTypesimple

column details

Specify column details using these properties

Child pages (Children Display)
pageColumn details
excerptTypesimple

MLCF details

Specify general Multi Level Cascade field details using these properties

Child pages (Children Display)
pageMulti Cascade Details
excerptTypesimple

MLCF level's details

Specify details for the levels of your Multi Level Cascade custom field

Child pages (Children Display)
pageLevels' Details
excerptTypesimple

issue values Issue values can be reused in queries to build grids in a dynamic way