Profile picture for user jordanjt95

Hi !

I have a report GUID but I don't know the name of the report. I need to find this report in order to make changes in the script, so to find the report I would like to write a script that goes through all the reports that I have on  ARIS and print their names and their associated GUID.

Does someone know how can I go through all the reports on ARIS and extract their GUIDs ?

 

 

by Tanguy Petre
Posted on Sun, 05/30/2021 - 12:45

Hello,

We provide a solution (check partner hub - report manager) that allow to create an ARIS database with the list of all your report, the source code, the GUID, and the linked library files.

This was created to solve the issue your are mentionning but also to have an ARIS database with all sources of report and versionning possibilities.

Do not hesitate to contact us if you want to know more.

Kind regards

Tanguy

0
by Kay Fischbach
Posted on Mon, 05/31/2021 - 09:04

Hi,

while the already mentioned solution would certainly help you, I think I've got something that does exactly what you want it to do.

Report-Context: doesn't matter

Output-Format: .xls

var nLocale = Context.getSelectedLanguage();

var oOutput = Context.createExcelWorkbook(Context.getSelectedFile());

var scriptadmincomponent = Context.getComponent("ScriptAdmin");

var scriptComponentInfo = scriptadmincomponent.getScriptComponents();

var reportScriptComponentID = null;

for each(var singleScriptComponentInfo in scriptComponentInfo){
    if(singleScriptComponentInfo.getComponentName() == "Report"){
        reportScriptComponentID = singleScriptComponentInfo.getComponentID();
    }
}

if(reportScriptComponentID != null){
    var reportCategories = scriptadmincomponent.getCategories(reportScriptComponentID, nLocale);
    
    for each(var reportCategory in reportCategories){
        var scriptInfos = scriptadmincomponent.getScriptInfos(reportScriptComponentID, reportCategory.getCategoryID(), nLocale).filter(scriptInfoFilter).sort(sortScriptInfo);
        
        var sheet = oOutput.createSheet(reportCategory.getName());
        
        sheet.cell(0, 0).setCellValue(reportCategory.getName());
        
        var headerRow = sheet.createRow(2);
        
        var columnReportName = 0;
        headerRow.createCell(columnReportName).setCellValue("Report name");
        
        var columnAvailableUsers = columnReportName + 1;
        headerRow.createCell(columnAvailableUsers).setCellValue("Available for client users");
        
        var columnAvailableConnect = columnAvailableUsers + 1;
        headerRow.createCell(columnAvailableConnect).setCellValue("Available for connect users");
        
        var columnDesc = columnAvailableConnect + 1;
        headerRow.createCell(columnDesc).setCellValue("Description");
        
        var columnID = columnDesc + 1;
        headerRow.createCell(columnID).setCellValue("GUID")
        
        var dataRowIndex = 3;
        
        for each(var scriptInfo in scriptInfos){
            var dataRow = sheet.createRow(dataRowIndex);
            
            dataRow.createCell(columnReportName).setCellValue(scriptInfo.getName());
            
            dataRow.createCell(columnAvailableUsers).setCellValue(booleanToWord(scriptInfo.isAvailableForUsers()));
            
            dataRow.createCell(columnAvailableConnect).setCellValue(booleanToWord(scriptInfo.isAllowedInConnect()));   
            
            dataRow.createCell(columnDesc).setCellValue(scriptInfo.getDescription());
            
            dataRow.createCell(columnID).setCellValue(scriptInfo.getID());
            
            dataRowIndex++;
        }
            
    }
    
}

oOutput.write();

function scriptInfoFilter(x){
    return !(x.isSimpleFile());
}

function sortScriptInfo(x, y){
    if(x.getName() > y.getName()){
        return 1;
    } else if (x.getName() < y.getName()){
        return -1;
    } else {
        return 0;
    }
}

function booleanToWord(someBoolean) {
    if(someBoolean) {
        return "Yes"
    } else {
        return "No";
    }
}

This does exactly what you said you wanted to do - go through the existing reports and print their name alongside their GUID. The report puts the information of one report category into one excel sheet and creates however many sheets it needs to cover all your report categories.

The current implementation also outputs the report description, as well as information about the report availability in the client and in connect. You can just ignore that information (that's what I originally wrote this report for - adjusting it to also output the GUID was easy).

0
by Armin Nosbüsch
Posted on Tue, 06/01/2021 - 14:50

There is also a standard report you can use.

Report's name is 'Output overview of reports, macros, and semantic checks' located in report group "Administration"

File attachments
0
by Martin Schröder
Badge for 'Contributor' achievement
Posted on Tue, 06/01/2021 - 19:36

Hello Jordan,

and for good measure in this post you can find attached an extended version of the standard report "Output overview of reports, macros, and semantic checks".

Regards, Martin

0
by Jordan Tangy
Badge for 'Question Solver' achievement
Author
Posted on Wed, 06/02/2021 - 10:56

Thanks to all of you for your help !

0
by Frank GELDOF
Posted on Thu, 07/20/2023 - 14:43

The online help on ScriptInfo also lists the method getContexts() but it doesn't explain how to use the values in the returned Map. Which methods can we use here to retrieve the model types and object types?

0
by Veronika Ellermann
Posted on Fri, 07/21/2023 - 10:08

Hi Frank,

To create more awareness of your question, you should create a new post. 
I would not use a post that dates back to 2021.

Best,

Veronika

0

Featured achievement

Rookie
Say hello to the ARIS Community! Personalize your community experience by following forums or tags, liking a post or uploading a profile picture.
Recent Unlocks

Leaderboard

|
icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock