Predefined structure types reference
This article provides a comprehensive reference of predefined structure types in Simple Issue Language (SIL ™), detailing their fields, data types, and the specific functions that return them when working with Jira, Jira Service Management, Jira Software, Insight, and Tempo.
SIL provides two categories of structure types:
Predefined structures are built-in structure types that come with SIL and are designed to interface with specific Jira functionalities. Each predefined structure maps to a corresponding Jira object model and is used by specific SIL functions for operations like HTTP requests, workflow management, and issue tracking.
Custom structures are structure types you can create to model custom data relationships and organize complex data. Custom structures follow the same syntax rules as predefined structures and can be created using the structure definition syntax detailed in the Structures section on the Syntax and types introduction page.
All structures in SIL operate in a detached state, meaning that modifying structure fields only exists within your script. The changes don't get saved to Jira. For example, if you modify fields in a project version structure, the actual project version in Jira remains unchanged. This makes it safe to manipulate structure data in your scripts without affecting the real Jira data.
How to use the reference tables
This page provides a full list of the predefined structures used in SIL. Here’s a breakdown of the information you can find in the tables:
Table column | Description |
---|---|
Name | This is the unique identifier for the structure type. |
Fields | These are named properties that hold data within the structure. |
Field types | The data type for each field. Can be one of the following:
|
Returned by function | Predefined structures serve as return types for specific SIL functions. When you call these functions, they return data organized in the corresponding structure format. |
Example
This is example shows the JComment
structure, which has seven fields of string
and date
type.
struct JComment {
string id; // Field name: id, Type: string
string text; // Field name: text, Type: string
string author; // Field name: author, Type: string
date created; // Field name: created, Type: date
string updatedBy; // Field name: updatedBy, Type: string
date updated; // Field name: updated, Type: date
string securityLevel; // Field name: securityLevel, Type: string
}This page provides a reference of the predefined structure types used in SIL.
The JComment
structure is returned when you use functions like:
editComment()
getCommentById()
getLastComment()
This means when you write:
JComment comment = getCommentById("12345");
The function returns the comment data organized in the JComment
structure, allowing you to access fields like comment.text
or comment.author
.
Standard types
Standard structure types are core structures that handle fundamental Jira operations and integrations. These include HTTP communication, email handling, user management, comments, custom fields, project components, and other basic Jira entities. These structures are available in all Jira installations and form the foundation of SIL scripting.
Name | Fields | Field types | Returned by function | |
---|---|---|---|---|
HttpCookie | name | string | ||
value | string | |||
key | string | |||
value | string | |||
HttpProxy | host | string | ||
port | number | |||
HttpQueryParam | name | string | ||
value | string | |||
HttpRequest | headers | HttpHeader [] | ||
cookies | HttpCookie [] | |||
parameters | HttpQueryParam [] | |||
HttpResponseInfo | class | string | ||
statusCode | integer | |||
errorMessage | string | |||
reasonPhrase | string | |||
IncomingEmail | from | string [] | ||
to | string [] | |||
cc | string [] | |||
subject | string | |||
body | string | |||
attachments | string [] | |||
JApproval | issueId | integer |
| |
name | string | |||
decision | string | |||
createdDate | date | |||
completedDate | date | |||
statusId | string | |||
approvers | string[] | |||
JBoard | id | integer | ||
name | string | |||
type | string | |||
swimlaneName | string | |||
epicsPanel | string | |||
cardColor | string | |||
issueCutOff | string | |||
savedFilterId | integer | |||
showDaysInColumn | boolean | |||
isSprintSupportEnabled | boolean | |||
JComment | id | string | ||
text | string | |||
author | string | |||
created | date | |||
updatedBy | string | |||
updated | date | |||
securityLevel | string | |||
JComponent | id | number | ||
name | string | |||
description | string | |||
lead | string | |||
defaultAssignee | number | |||
archived | boolean | |||
JCustomField | id | number | ||
name | string | |||
description | string | |||
type | string | |||
JEmailAttachment | file | string | ||
name | string | |||
mimeType | string | |||
JEmailMessage | to | string [] | ||
cc | string [] | |||
bcc | string [] | |||
subject | string | |||
message | string | |||
from | string | |||
attachments | JEmailAttachment [] | |||
JFieldChange | user | string | ||
changeDate | date | |||
field | string | |||
oldVal | string | |||
newVal | string | |||
oldValString | string | |||
newValString | string | |||
JFieldValue | fieldName | string | ||
values | string [] | |||
JFilter | id | number | ||
name | string | |||
description | string | |||
owner | string | |||
query | string | |||
JGeneric | name | string | ||
value | string | |||
JIssueLink | id | number | ||
name | string | |||
direction | number | |||
description | string | |||
issue | string | |||
JLdapUserAttribute | name | string | ||
value | string [] | |||
JLdapUserStruct | DN | string | ||
attributes | JLdapUserAttribute [] | |||
JLogin | loginCount | number | ||
lastLogin | date | |||
failedLoginCount | number | |||
lastFailedLogin | date | |||
JMoveIssueParams | issueToBeMoved | string | ||
targetProject | string | |||
targetIssueTypeId | string | |||
targetIssueStatusId | string | |||
targetSubtaskIssueTypeId | string | |||
JProject | id | number | ||
key | string | |||
name | string | |||
description | string | |||
lead | string | |||
url | string | |||
unassignedByDefault | boolean | |||
avatarId | number | |||
category | string | |||
projectType | string | |||
JRequestType | id | integer | ||
portalId | number | |||
issueTypeId | number | |||
iconId | number | |||
name | string | |||
description | string | |||
helpText | string | |||
JScreenField | fieldId | string | ||
fieldName | string | |||
fieldPosition | number | |||
tabName | string | |||
tabPosition | number | |||
JServerInfo | os | string | ||
osVersion | string | |||
osArch | string | |||
javaHome | string | |||
processors | integer | |||
freeMemory | string | |||
maxMemory | string | |||
totalMemory | string | |||
userName | string | |||
userDir | string | |||
userHome | string | |||
rootInfo | string | |||
JSlaCompletedCycle | startTime | date | ||
stopTime | date | |||
breached | boolean | |||
goalDuration | number | |||
elepsedTime | number | |||
remainingTime | number | |||
JSlaInformation | name | string | ||
completedCycles | JSlaCompletedCycle | |||
ongoingCycle | JSlaOngoingCycle | |||
JSlaOngoingCycle | startTime | date | ||
breachedTime | date | |||
breached | boolean | |||
paused | boolean | |||
withinCalendarHours | boolean | |||
goalDuration | number | |||
elepsedTime | number | |||
remainingTime | number | |||
JSprint | id | integer | ||
name | string | |||
startDate | date | |||
endDate | date | |||
completeDate | date | |||
goal | string | |||
state | string | |||
boardId | integer | |||
JUser | key | string | ||
username | string | |||
displayname | string | |||
string | ||||
active | boolean | |||
JVersion | id | number | ||
name | string | |||
description | string | |||
projectKey | string | |||
startDate | date | |||
releaseDate | date | |||
archived | boolean | |||
released | boolean | |||
JWorkflow | id | string | ||
name | string | |||
mode | string | |||
type | string | |||
assocIssueType | string | |||
active | boolean | |||
statuses | string [] | |||
transitions | string [] | |||
JWorkflowAction | name | string | ||
fromStatus | string | |||
conditions | string [] | |||
validators | string [] | |||
postFunctions | string [] | |||
JWorklog | id | number | ||
author | string | |||
startDate | date | |||
timeSpent | interval | |||
comment | string | |||
issue | string | |||
WebhookParam | name | string | ||
values | string [] | |||
WebhookPayload
| queryParams | WebhookParam [] | ||
httpMethod | string | |||
payload | string |
Insight types
Insight structure types are structures specifically designed for Jira Insight Asset Management. They handle asset management data like objects, object types, attributes, and references. These structures allow you to work with configuration management database (CMDB) functionality, managing assets and their relationships.
Jira Service Management types
These are structures focused on IT service management functionality. They handle service requests, approvals, SLAs, customer portals, and other service desk specific features. These structures are only available when Jira Service Management is installed.
Jira Software types
These are structures specific to agile project management features in Jira Software. They handle boards, sprints, and other agile artifacts. These structures are only available when Jira Software is installed and are used for managing agile development processes.
Tempo types
These are structures specific to the Tempo suite of products (like Tempo Timesheets). They handle time tracking, resource planning, and cost management functionality. These structures are only available when Tempo products are installed and configured in your Jira instance.