Versions Compared

Key

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

The table report is a simple way to display your data in a table format using the  Simple Issue Language™ (SIL) . SIL provides out of the box predefined structures and routines that comes in help for generating such a report. 

Table of Contents

Configuring SIL Reporting Gadget

...

To configure the gadget you have to select the sil script file and add the default values for the parameters used in the selected script. 

 Image Removed

Image Added

The parameters will be passed into the program using the argv variable. The values will be available using a construct like argv["parameter_name"] or argv[position]. For the above example, the project can be retrieved using argv["projects"] or argv[0]

First the gadget will run with the default values for the parameters, if the values for those parameters were specified in the gadget configuration. 

Once you save the gadget configuration, the report will be displayed. 


Note

The script that you are using to generate the report needs to return the table structure that you are building otherwise the report will throw an error.

If you want to return information about another projects without having to configure the gadget, all you have to do is add a field for the projects using one of the routines for creating fields from gadget routines. After that you will be able to set parameter in the parameter section and run the report with the new value.


Examples

Opened vs Resolved Issues Report 

...

Code Block
string [] projects = "TEST|FIBR|STEI|GRBI|HGES|RGIS"argv[0];
string [] resolvedIssues;
string [] openedIssues;
for(string p in projects) {
    resolvedIssues[p] += countIssues("project = " + p  + " AND status in (Done, Closed, Resolved)");
    openedIssues[p] += countIssues("project = " + p  + " AND status not in (Done, Closed, Resolved)");
}

SILReportingHeader [] headers; // the hearders of the table

SILReportingHeader h1;
h1.name = "Opened Issues";
h1.sortable = "sortable";
h1.color = "white";
h1.bgColor = "#79aadb";
headers += h1;
    
SILReportingHeader h2;
h2.name = "Resolved Issues";
h2.sortable = "sortable";
h2.color = "white";
h2.bgColor = "#79aadb";
headers += h2;

string [][] rows; // populating the rows
for(string p in projects){
    rows += {openedIssues[p], resolvedIssues[p]};
}

SILReportingTable table;
table.headers = headers;
table.rows = rows;

return table;

...

Code Block
string [] projects = "TEST|FIBR|STEI|GRBI|HGES|RGIS"argv[0];
string [] resolvedIssues;
string [] openedIssues;
for(string p in projects) {
    resolvedIssues[p] += countIssues("project = " + p  + " AND status in (Done, Closed, Resolved)");
    openedIssues[p] += countIssues("project = " + p  + " AND status not in (Done, Closed, Resolved)");
}
    
SILReportingHeader [] headers;

SILReportingHeader h1;
h1.name = "Opened Issues";
h1.sortable = "sortable";
h1.color = "white";
h1.bgColor = "#79aadb";
headers += h1;
    
SILReportingHeader h2;
h2.name = "Resolved Issues";
h2.sortable = "sortable";
h2.color = "white";
h2.bgColor = "#79aadb";
headers += h2;

string [][] rows;
for(string p in projects){
    rows += {openedIssues[p], resolvedIssues[p]};
}

SILReportingTable table;
table.headers = headers;
table.rows = rows;

SILReportingHeader [] transposedHeaders; // the headers of the transposed table(if it has any business meaning otherwise it can be left empty)
for(string p in projects){
    SILReportingHeader h;
    h.name = p;
    h.sortable = "sortable";
    h.color = "white";
    h.bgColor="#79aadb";
    transposedHeaders += h;
}
table = silreporting_transposeTable(table, transposedHeaders); //transposing the table

return table;



Now you can see all the projects and the issues that are in Opened status and Resolved status but as a transposed table. 

Opened vs Resolved Issues Report  Average and Sum

...