Reading Plain Text Files
This example shows how to read data out of a CSV file which is controlled by Stages through a configuration management system.
1. Create a Report with a Stages Data Source and a Data Set
2. Create the following Data Set result columns:
Name | Type |
---|---|
Name | String |
Value | String |
3. Copy the Data Set script from the example into your Data Set.
String.prototype.splitCSV = function(sep) { var regex = /(\s*'[^']+'|\s*[^,]+)(?=,|$)/g; return matches = this.match(regex); } var artifacts = stages.getCurrentProcess().getEntities("containsArtifact@SYSTEM"); for each (artifact in artifacts) { if (artifact.getProperty("DisplayName") == "Source Code") { var artifacts_instances = artifact.getEntities("containsInstance@SYSTEM"); for each (artifacts_instance in artifacts_instances) { if (artifacts_instance.getProperty("LogicalName") == "csv_example.csv") { is = artifacts_instance.getProperty("FileStream"); dis = new BufferedReader(new InputStreamReader(is)); while( ( rline=dis.readLine()) != null ) { var results = rline.splitCSV(); dataset.setColumnValue("Name", results[0]); dataset.setColumnValue("Value", results[1]); dataset.storeResultRow(); } } } } }