/
Predefined structure types reference

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

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:

  • Basic types (string, number, integer, boolean, date)

  • Arrays (marked with [])

    • Other structure types (like a field of type HttpHeader in HttpRequest)

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

Name

Fields

Field types

Returned by function

HttpCookie

name

string

value

string

HttpHeader

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

n