Versions Compared

Key

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

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 !

Info
titleAvailability

This routine is available starting with katl-commons SIL Engine™ 1.0.

Syntax

call(sysname, silprogrampath, arguments)

Description

Excerpt

Executes SIL SIL™ script on the current host or different host.

If sysname is equal to "local" ( or is empty "" ) it will execute the script on the current Jira server. The execution will automatically define a variable named 'argv' that will contain the parameters, as a string array.

You can use return to return values back to the caller. A string array only. If the call is local, current issue is available. If the call is a remote call, the current context is lost (as issue variables will have no meaning).

Parameters

Parameter name

Type

Required

Description

sysname

string

yes

The system

System name. The local system

(JIRA

, Jira server machine

)

, is identified by an empty string "" or by the string "local". For remote systems, it should contain the system name, as configured in the configuration page.

silprogrampath

string

yes

Full path to the program being run

(absolute

. Absolute path,

i.e.

for instance "/opt/jira/home/silprograms/myprogram.sil" or "C:/Atlassian/Jira/Home/silprograms/myprogram.sil"

)

.

arguments

string []

yes

The arguments, as an array of strings.

Returns

string []

The return from the script, as an array of strings (values . Values that are returned using the return keyword).

Example

Code Block
//Local script, placed in a postfunction (for instance):
string [] arrp = "param1|param2";
string [] rec;
call("", "/tmp/printme.sil", arrp); //local call
rec = call("system_remote", "c:/testme.sil", arrp); //remote call
if(isNotNull(rec)) {
  //The following code prints: "Hello", "from", "remote", "jjupin"
  for(string s in rec) {
    print(s);
  }
}

...

Note

For remote calls, you need additional steps (see the configuration manual).

Windows: We recommend you to use forward slashes "/" in paths instead of "\" since it will simplify your life.

 


Resolution of the remote system goes as follows: (following, as you may define the same name for a remote system in multiple places):

  1. Try to see if If the name of the system is empty ('') or the string 'local' . If yes, it will call a local script.
  2. Next, try to find Find the name of the system as defined by REST. If it is defined, it calls the REST remote system.
  3. If it is not defined, fallback on SOAP.
  4. If it is still not defined, error

...

  1. will appear.


Info

Please To configure the Remote systems see the configuration page on how you should configure the Remote systems.

See also

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
cqllabel = "system_routines"
labelssystem_routines