/// <summary> /// Creates a folder path. All missing folders in the folder path will be created /// </summary> /// <param name="folderPath"></param> /// <returns>TDAPIOLELib.AnalysisItemFolder Object</returns> public TDAPIOLELib.AnalysisItemFolder CreateFolderPath(string folderPath) { TDAPIOLELib.AnalysisItemFolderFactory analysisItemFolderFactory = tDConnection.AnalysisItemFolderFactory; TDAPIOLELib.TDFilter tdFilter; TDAPIOLELib.List list; TDAPIOLELib.AnalysisItemFolder analysisItemFolder = null; foreach (String folder in folderPath.Split('\\')) { tdFilter = analysisItemFolderFactory.Filter; tdFilter["AIF_NAME"] = folder; list = analysisItemFolderFactory.NewList(tdFilter.Text); if (list.Count <= 0) { analysisItemFolder = CreateFolder(analysisItemFolder, folder); } else { analysisItemFolder = list[1]; } analysisItemFolderFactory = analysisItemFolder.AnalysisItemFolderFactory; } return(analysisItemFolder); }
/// <summary> /// Get TDAPIOLELib.AnalysisItemFolder Object from string path /// </summary> /// <param name="folderPath">Path of the folder to be created</param> /// <returns>TDAPIOLELib.AnalysisItemFolder Object</returns> public TDAPIOLELib.AnalysisItemFolder GetFolderObject(String folderPath) { TDAPIOLELib.AnalysisItemFolderFactory analysisItemFolderFactory = tDConnection.AnalysisItemFolderFactory; TDAPIOLELib.TDFilter tdFilter; TDAPIOLELib.List list; TDAPIOLELib.AnalysisItemFolder analysisItemFolder = null; foreach (String folder in folderPath.Split('\\')) { tdFilter = analysisItemFolderFactory.Filter; tdFilter["AIF_NAME"] = folder; list = analysisItemFolderFactory.NewList(tdFilter.Text); if (list.Count <= 0) { throw (new Exception("Analysis Folder Not Found : " + folder)); } else { analysisItemFolder = list[1]; } analysisItemFolderFactory = analysisItemFolder.AnalysisItemFolderFactory; } return(analysisItemFolder); }
/// <summary> /// Returns list of graph and report names under analysis folder /// </summary> /// <param name="folderPath">String path of the folder</param> /// <returns></returns> public List <String> GetChildGraphNames(String folderPath) { List <String> list = new List <String>(); TDAPIOLELib.AnalysisItemFolder analysisItemFolder = GetFolderObject(folderPath); return(GetChildGraphNames(analysisItemFolder)); }
/// <summary> /// Creates a new Analysis Folder /// </summary> /// <param name="parentFolder">AnalysisItemFolder object for parent folder</param> /// <param name="newFolderName">new folder name</param> /// <returns>TDAPIOLELib.AnalysisItemFolder Object</returns> public TDAPIOLELib.AnalysisItemFolder CreateFolder(TDAPIOLELib.AnalysisItemFolder parentFolder, String newFolderName) { TDAPIOLELib.AnalysisItemFolder analysisItemFolder = parentFolder.AnalysisItemFolderFactory.AddItem(System.DBNull.Value); analysisItemFolder.Name = newFolderName; analysisItemFolder.Post(); return(analysisItemFolder); }
/// <summary> /// Creates a Defect Age graph under analysis folder /// </summary> /// <param name="analysisItemFolder">AnalysisItemFolder Object</param> /// <param name="graphName">Name of the graph</param> /// <param name="groupByField">Group by field name</param> /// <param name="sumOfField">Sum of field, if this is emplty then count of will be automatically selected</param> /// <param name="ageGrouping">Age Grouping Enum object.</param> /// <param name="filterString">Filter defects. You can get this using TDFilter Object</param> /// <returns></returns> public TDAPIOLELib.AnalysisItem CreateDefectAgeGraph(TDAPIOLELib.AnalysisItemFolder analysisItemFolder, String graphName, String groupByField, DefectSummaryGraphSumOF sumOfField, DefectAgeGrouping ageGrouping, String filterString) { TDAPIOLELib.AnalysisItemFactory analysisItemFactory = analysisItemFolder.AnalysisItemFactory; TDAPIOLELib.AnalysisItem analysisItem = analysisItemFactory.AddItem(System.DBNull.Value); analysisItem.Name = graphName; analysisItem.Type = "Graph"; String SOF = ""; if (sumOfField.Equals(DefectSummaryGraphSumOF.ActualFixTime)) { SOF = "BG_ACTUAL_FIX_TIME"; } else if (sumOfField.Equals(DefectSummaryGraphSumOF.EstimatedFixTime)) { SOF = "BG_ESTIMATED_FIX_TIME"; } else if (sumOfField.Equals(DefectSummaryGraphSumOF.None)) { SOF = ""; } else { throw (new Exception("Invalid Defect SumOf Fields")); } String AG = ""; if (ageGrouping == DefectAgeGrouping.NoGrouping) { AG = "All"; } else if (ageGrouping == DefectAgeGrouping.OneMonth) { AG = "OneMonth"; } else if (ageGrouping == DefectAgeGrouping.OneWeek) { AG = "OneWeek"; } else if (ageGrouping == DefectAgeGrouping.SixMonths) { AG = "SixMonth"; } else if (ageGrouping == DefectAgeGrouping.OneYear) { AG = "OneYear"; } analysisItem.FilterData = GetDefectAgeGraphFilterData(groupByField, SOF, AG, filterString); analysisItem.SubType = "AgeGraph"; analysisItem.Module = "defect"; analysisItem.Post(); return(analysisItem); }
/// <summary> /// Returns a list of reports or graphs under analysis folder /// </summary> /// <param name="analysisItemFolder">Analysis folder object</param> /// <returns></returns> public TDAPIOLELib.List GetChildGraphs(TDAPIOLELib.AnalysisItemFolder analysisItemFolder) { TDAPIOLELib.List anaFolderNames = new TDAPIOLELib.List(); TDAPIOLELib.AnalysisItemFactory analysisItemFactory = analysisItemFolder.AnalysisItemFactory; foreach (TDAPIOLELib.AnalysisItemFolder aif in analysisItemFactory.NewList("")) { anaFolderNames.Add(aif); } return(anaFolderNames); }
/// <summary> /// Get the Child Folder names for Analysis Folder /// </summary> /// <param name="folderPath">TDAPIOLELib.AnalysisItemFolder Object</param> /// <returns>List of Analysis folder names</returns> public List <String> GetChildFolderNames(TDAPIOLELib.AnalysisItemFolder analysisItemFolder) { List <String> anaFolderNames = new List <string>(); TDAPIOLELib.AnalysisItemFolderFactory analysisItemFolderFactory = analysisItemFolder.AnalysisItemFolderFactory; foreach (TDAPIOLELib.AnalysisItemFolder aif in analysisItemFolderFactory.NewList("")) { anaFolderNames.Add(aif.Name); } return(anaFolderNames); }
private TDAPIOLELib.AnalysisItem CreateSummaryGraph(TDAPIOLELib.AnalysisItemFolder analysisItemFolder, String GraphName, String GroupByField, String SumOfField, String XAxisField, String FilterString, String ReportModule) { TDAPIOLELib.AnalysisItemFactory analysisItemFactory = analysisItemFolder.AnalysisItemFactory; TDAPIOLELib.AnalysisItem analysisItem = analysisItemFactory.AddItem(System.DBNull.Value); analysisItem.Name = GraphName; analysisItem.Type = "Graph"; analysisItem.FilterData = GetDefectSummaryGraphFilterData(GroupByField, SumOfField, XAxisField, FilterString); analysisItem.SubType = "SummaryGraph"; analysisItem.Module = ReportModule; analysisItem.Post(); return(analysisItem); }
/// <summary> /// Creates a new excel report under analysis folder /// </summary> /// <param name="analysisItemFolder">AnalysisItemFolder Object</param> /// <param name="name">Name of the Excel Report</param> /// <param name="query">Query to be added</param> /// <returns></returns> public TDAPIOLELib.AnalysisItem CreateExcelReport(TDAPIOLELib.AnalysisItemFolder analysisItemFolder, String name, String query) { TDAPIOLELib.AnalysisItemFactory analysisItemFactory = analysisItemFolder.AnalysisItemFactory; TDAPIOLELib.AnalysisItem analysisItem = analysisItemFactory.AddItem(System.DBNull.Value); analysisItem.Name = name; analysisItem.Type = "ExcelReport"; analysisItem.FilterData = GetExcelReportFilterData(query); analysisItem.SubType = "ExcelReport"; analysisItem.Module = "UnspecifiedEntity"; analysisItem.Post(); return(analysisItem); }
/// <summary> /// Returns list of graph and report names under analysis folder /// </summary> /// <param name="analysisItemFolder">Analysis folder object</param> /// <returns></returns> public List <String> GetChildGraphNames(TDAPIOLELib.AnalysisItemFolder analysisItemFolder) { List <String> list = new List <String>(); TDAPIOLELib.AnalysisItemFactory analysisItemFactory = analysisItemFolder.AnalysisItemFactory; foreach (TDAPIOLELib.AnalysisItemFolder aif in analysisItemFactory.NewList("")) { list.Add(aif.Name); } return(list); }
/// <summary> /// Get the Child Folders for Analysis Folder /// </summary> /// <param name="folderPath">Path of the folder to search for the release</param> /// <returns>List of Analysis folder names</returns> public TDAPIOLELib.List GetChildFolders(String folderPath) { TDAPIOLELib.List anaFolderNames = new TDAPIOLELib.List(); TDAPIOLELib.AnalysisItemFolder analysisItemFolder = GetFolderObject(folderPath); TDAPIOLELib.AnalysisItemFolderFactory analysisItemFolderFactory = analysisItemFolder.AnalysisItemFolderFactory; foreach (TDAPIOLELib.AnalysisItemFolder aif in analysisItemFolderFactory.NewList("")) { anaFolderNames.Add(aif); } return(anaFolderNames); }
/// <summary> /// Creates a defect summary report /// </summary> /// <param name="analysisItemFolder">Folder under which graph should be added</param> /// <param name="graphName">Name of the Graph</param> /// <param name="groupByField">Group by field</param> /// <param name="sumOfField">Sum of field, If this field is left blank then Count will be automatically selected</param> /// <param name="xAxisField">XAxis field name</param> /// <param name="filterString">filter string </param> /// <returns></returns> public TDAPIOLELib.AnalysisItem CreateDefectSummaryGraph(TDAPIOLELib.AnalysisItemFolder analysisItemFolder, String graphName, String groupByField, DefectSummaryGraphSumOF sumOfField, String xAxisField, String filterString) { if (sumOfField.Equals(DefectSummaryGraphSumOF.ActualFixTime)) { return(CreateSummaryGraph(analysisItemFolder, graphName, groupByField, "BG_ACTUAL_FIX_TIME", xAxisField, filterString, "defect")); } else if (sumOfField.Equals(DefectSummaryGraphSumOF.EstimatedFixTime)) { return(CreateSummaryGraph(analysisItemFolder, graphName, groupByField, "BG_ESTIMATED_FIX_TIME", xAxisField, filterString, "defect")); } else if (sumOfField.Equals(DefectSummaryGraphSumOF.None)) { return(CreateSummaryGraph(analysisItemFolder, graphName, groupByField, "", xAxisField, filterString, "defect")); } else { throw (new Exception("Invalid Defect SumOf Fields")); } }
public void Test_AnalysisAndDashboardScripts() { ////Analysis Scripts TDAPIOLELib.AnalysisItemFolder analysisItemFolder = aLM_CORE.Analysis.FindPrivateFolder(); Console.WriteLine("ID of private folder : " + analysisItemFolder.ID); analysisItemFolder = aLM_CORE.Analysis.FindPublicFolder(); Console.WriteLine("ID of Public folder : " + analysisItemFolder.ID); analysisItemFolder = aLM_CORE.Analysis.CreateFolder("Private", "TestFolder1"); analysisItemFolder = aLM_CORE.Analysis.CreateFolderPath("Private\\TestFolder1\\Dummy2\\Dummy3"); TDAPIOLELib.AnalysisItem analysisItem = aLM_CORE.Analysis.CreateExcelReport(analysisItemFolder, "FindAllBugs", "Select * from Bug"); analysisItem = aLM_CORE.Analysis.CreateDefectSummaryGraph(analysisItemFolder, "DefectFirstGraph", "BG_STATUS", ALM_Wrapper.Analysis.DefectSummaryGraphSumOF.ActualFixTime, "BG_DETECTED_IN_REL", ""); Console.WriteLine(analysisItem.LayoutData.ToString()); TDAPIOLELib.AnalysisItemFileFactory analysisItemFileFactory = analysisItem.AnalysisItemFileFactory; foreach (TDAPIOLELib.AnalysisItemFile aif in analysisItemFileFactory.NewList("")) { aif.SetFilePath("C:\\Temp"); aif.Download(); } //TDAPIOLELib.Gra TDAPIOLELib.AnalysisItem analysisItem1 = aLM_CORE.Analysis.CreateDefectAgeGraph(analysisItemFolder, "Defect First Age Graph", "BG_RESPONSIBLE", ALM_Wrapper.Analysis.DefectSummaryGraphSumOF.None, ALM_Wrapper.Analysis.DefectAgeGrouping.NoGrouping, ""); aLM_CORE.Analysis.RenameFolder(analysisItemFolder, "TestFolder2"); Console.WriteLine("New Folder Name : " + analysisItemFolder.Name); ///Dashboard Scripts TDAPIOLELib.DashboardFolder dashboardFolderParent = aLM_CORE.Dashboard.CreateFolder(aLM_CORE.Dashboard.FindPrivateFolder(), "TestFolder1"); TDAPIOLELib.DashboardFolder dashboardFolder = aLM_CORE.Dashboard.CreateFolderPath("Private\\TestFolder1\\Dummy1\\Dummy2"); TDAPIOLELib.DashboardPage dashboardPage = aLM_CORE.Dashboard.CreatePage(dashboardFolder, "TESTPAGE1"); TDAPIOLELib.DashboardPageItem dashboardPage1 = aLM_CORE.Dashboard.AddAnalysisItemToDashboard(dashboardPage, analysisItem, 0, 0); TDAPIOLELib.DashboardPageItem dashboardPage2 = aLM_CORE.Dashboard.AddAnalysisItemToDashboard(dashboardPage, analysisItem1, 0, 1); foreach (TDAPIOLELib.DashboardFolder dashboardFolder1 in aLM_CORE.Dashboard.FindChildFolders(aLM_CORE.Dashboard.GetFolderObject("Private\\TestFolder1"))) { Console.WriteLine("Folder found under Private\\TestFolder1 : " + dashboardFolder1.Name); } foreach (TDAPIOLELib.DashboardPage dp in aLM_CORE.Dashboard.FindChildPages(dashboardFolder)) { Console.WriteLine("Dashboard page found under " + dashboardFolder.Name + " - " + dp.Name); } aLM_CORE.Dashboard.RenameFolder(dashboardFolder, "TestFolder2"); Console.WriteLine("New Dashboard Folder name is : " + dashboardFolder.Name); aLM_CORE.Dashboard.RenamePage(dashboardPage, "PageName1"); Console.WriteLine("New Dashboard page name is : " + dashboardPage.Name); aLM_CORE.Dashboard.DeletePageItem(dashboardPage1); aLM_CORE.Dashboard.DeletePageItem(dashboardPage2); aLM_CORE.Dashboard.DeletePage(dashboardPage); aLM_CORE.Dashboard.DeleteFolder(dashboardFolder); aLM_CORE.Dashboard.DeleteFolder(dashboardFolderParent); aLM_CORE.Analysis.DeleteFolder(analysisItemFolder); aLM_CORE.Analysis.DeleteFolder(aLM_CORE.Analysis.GetFolderObject("Private\\TestFolder1")); Console.WriteLine("Done"); }
/// <summary> /// Deletes Analysis Folder /// </summary> /// <param name="analysisItemFolder">AnalysisItemFolder Object</param> /// <returns></returns> public Boolean DeleteFolder(TDAPIOLELib.AnalysisItemFolder analysisItemFolder) { TDAPIOLELib.AnalysisItemFolderFactory analysisItemFolderFactory = tDConnection.AnalysisItemFolderFactory; analysisItemFolderFactory.RemoveItem(analysisItemFolder.ID); return(true); }
/// <summary> /// Returns list of reports and graphs under analysis folder /// </summary> /// <param name="folderPath">Analysis folder path</param> /// <returns></returns> public TDAPIOLELib.List GetChildGraphs(String folderPath) { TDAPIOLELib.AnalysisItemFolder analysisItemFolder = GetFolderObject(folderPath); return(GetChildGraphs(analysisItemFolder)); }
/// <summary> /// Renames a folder /// </summary> /// <param name="analysisItemFolder">Analysis Folder Object</param> /// <param name="newFolderName">New folder name</param> /// <returns></returns> public Boolean RenameFolder(TDAPIOLELib.AnalysisItemFolder analysisItemFolder, String newFolderName) { analysisItemFolder.Name = newFolderName; analysisItemFolder.Post(); return(true); }