Looking for the documentation on the newest versions of SIL Engine and the Simple Issue Language for Jira 8 for Server/Data Center? Click here !


The include statement allows you to execute code and use UDRs  that are written in other SIL™ files. This can improve readability and make your code more manageable.

You can use the include statement to import entire libraries of UDRs.


include "path/to/file.incl";

Include statements must be the first statements in your program, before the definition of UDRs.

For more information see  Structure of a SIL™ program.

The provided path may be relative or absolute. If relative, it is resolved relative to the defined 'sil.home' environment variable, usually the 'silprograms' directory.

Variable visibility

There are two categories of variables you can use in the included programs.

Local Variables

These are the variables you define in the body of the included program. These can be used throughout the included program, as well as in your SIL™ program that included the file.

function increment(int x) {
  return x + 1;
number a = increment(0);
include "file.incl"; //resolved relative to the 'sil.home'

number b = a + increment(2); //we can use the 'a' variable here!

Notice the use of variable a in the SIL™ program even though it was declared in the included file. Also notice the use of the increment() UDR that was defined in the included file as well.

Global variables

These are the variables that are already defined and can be used right away (issue fields and customfields). You can use these anywhere in your code without having to declare them.

function getKey() {
  return key;

See also