コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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));
        }
コード例 #4
0
 /// <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);
 }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
 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);
 }
コード例 #9
0
 /// <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);
 }
コード例 #10
0
        /// <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);
        }
コード例 #11
0
        /// <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);
        }
コード例 #12
0
 /// <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"));
     }
 }
コード例 #13
0
        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");
        }
コード例 #14
0
 /// <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);
 }
コード例 #15
0
 /// <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));
 }
コード例 #16
0
 /// <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);
 }