SIL Datasource: How can I make reference to the "project" value when creating an Issue?

Begoña Bonet January 19, 2016

I've defined a Kepler pro customfield with SIL script as datatource. This customfield belongs to several projects and for each project these values have to be differents.

Thus, when I'm creating an issue, I need to know the projet in the datasource SIL script to populate the kepler pro:

string query = "SELECT servicio";
query += " FROM table";
query += " WHERE proy_key='"+project+"'";

string[] resultado = sql("XXXDB",query);
return resultado;

The result in log is:

/proyectos_soporte/busqueda_serviciocatalogo/datasource_serviciocatalogo.sil<<
com.keplerrominfo.sil.lang.SILInfoException: [SIL Error on line: 1, column: 17] Script is not running in the context of an issue.Cannot get value for field project

How can I solve this problem?

 

Thanks in advance

 

1 answer

1 accepted

2 votes
Answer accepted
Alexandra Topoloaga
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 19, 2016

Hi,

First of all, you will need to add the project to Dependent Fields (from the kcf pro configuration).

Secondly, in the query, we will use project for edit screen and argv["project"] for create screen. However, this will return you the project name, so you will need to extract the project key from it.

The final script should be this one:

string x = isNull(argv["project"]) ? project : 	getProjectKeyByName(argv["project"]);
 
string query = "SELECT servicio";
query += " FROM table";
query += " WHERE proy_key='"+x+"'";
 
string[] resultado = sql("XXXDB",query);
return resultado;


Hope this helps,
Alexandra 

Begoña Bonet January 19, 2016

Thanks Alexandra! 

Suggest an answer

Log in or Sign up to answer