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

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

email

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.