/// <summary> /// Returns a list of CxSAST projects available to the current user. This is used primarily for display purposes. However, you /// can use this list to get projectIDs which will be used later on. /// </summary> /// <returns>CxSDKWebService.ProjectDisplayData[]</returns> public CxSDKWebService.ProjectDisplayData[] GetProjectsToDisplay() { if (_sessionId == null) { throw new AuthenticationException(); } CxSDKWebService.ProjectDisplayData[] projects = new CxSDKWebService.ProjectDisplayData[0]; try { CxSDKWebService.CxWSResponseProjectsDisplayData response = CallCheckmarxApi(() => SoapClient.GetProjectsDisplayData(_sessionId)); return(response.projectList); } catch (ResponseException e) { log.Error(String.Format("Unable to get projects to display: {0} {1}", e.GetType().Name, e.Message), e); } catch (CommunicationException e) { log.Error(String.Format("Unable to communicate to SOAP API at endpoint {0}: {1} {2}", _endpoint.DnsSafeHost, e.GetType().Name, e.Message), e); } return(projects); }
public resultClass makeProjectScanCsv_1() { _token.status = -1; csvHelper cvsHelper = new csvHelper(); if ((_token.start_time == null)) { Console.Error.WriteLine("Start time must be provided."); return(_token); } if (LogAdminIn()) { CxSDKWebService.CxSDKWebServiceSoapClient cxSDKProxy = new CxSDKWebService.CxSDKWebServiceSoapClient(CxSDKWebService.CxSDKWebServiceSoapClient.EndpointConfiguration.CxSDKWebServiceSoap12); Dictionary <long, string> presets = GetPresetConfiguration(cxSDKProxy); Dictionary <long, CxSDKWebService.ProjectDisplayData> projects = GetAllProjects(cxSDKProxy); List <csvScanOutput_1> csvOutput = new List <csvScanOutput_1>(); List <CxSDKWebService.ProjectScannedDisplayData> scannedDisplayDatasList = GetProjectScannedList(cxSDKProxy); foreach (CxSDKWebService.ProjectScannedDisplayData scans in scannedDisplayDatasList) { CxSDKWebService.ProjectDisplayData proj = projects[scans.ProjectID]; CxSDKWebService.CxDateTime scanDate = proj.LastScanDate; DateTime lastScanDate = DateTime.Parse(String.Format("{0}/{1}/{2} {3}:{4}:{5}", scanDate.Month, scanDate.Day, scanDate.Year, scanDate.Hour, scanDate.Minute, scanDate.Second)); if (lastScanDate > _token.start_time) { if ((_token.end_time == null) || (lastScanDate < _token.end_time)) { if ((_token.project_name == null) || (scans.ProjectName.Contains(_token.project_name))) { csvScanOutput_1 csv = new csvScanOutput_1() { Project_Name = scans.ProjectName, Owner = proj.Owner, Team = scans.TeamName, Preset = proj.Preset, Last_Scan = lastScanDate, Total_Vulerabilities = scans.TotalVulnerabilities, High = scans.HighVulnerabilities, Medium = scans.MediumVulnerabilities, Low = scans.LowVulnerabilities, Info = scans.InfoVulnerabilities }; csvOutput.Add(csv); if ((_token.pipe) || (_token.debug)) { Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8}", csv.Project_Name, csv.Owner, csv.Team, csv.Preset, csv.Last_Scan, csv.Total_Vulerabilities, csv.High, csv.Medium, csv.Low, csv.Info); } } } } } if (!_token.pipe) { _token.status = cvsHelper.writeCVSFile(csvOutput, _token); } } return(_token); }