Inheritance: ICruiseProjectManager
        // This is called once for every project that has been added to the user's CCtray instance
        //  Add each one to an internal property to be used when we get the server manager
        public ICruiseProjectManager RetrieveProjectManager(string projectName)
        {
            var manager = new JenkinsProjectManager(WebRequestFactory, JenkinsApiFactory);

            // Use factory to get reference to singleton ServerManager
            var serverManager = (IJenkinsServerManager)RetrieveServerManager();

            // Add this project to the server manager if it does not exist
            if (!serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName))
            {
                serverManager.ProjectsAndCurrentStatus.Add(projectName, null);
            }

            // If this project does not have a status get it now as we need the WebURL
            if (serverManager.ProjectsAndCurrentStatus[projectName] == null)
            {
                try
                {
                    serverManager.GetCruiseServerSnapshotEx();

                    if (serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName) &&
                        serverManager.ProjectsAndCurrentStatus[projectName] != null &&
                        !String.IsNullOrEmpty(serverManager.ProjectsAndCurrentStatus[projectName].WebURL))
                    {
                        manager.WebURL = new Uri(serverManager.ProjectsAndCurrentStatus[projectName].WebURL);
                    }
                    else
                    {
                        // Really can't support nested jobs without knowning the exact WebURL for the project !!
                    }
                }
                catch (WebException ex)
                {
                    DialogService.Show(ex.Message);
                }
            }

            manager.Initialize(Configuration, projectName, Settings);

            return(manager);
        }
示例#2
0
        // This is called once for every project that has been added to the user's CCtray instance
        //  Add each one to an internal property to be used when we get the server manager
        public ICruiseProjectManager RetrieveProjectManager(string projectName)
        {
            var manager = new JenkinsProjectManager(WebRequestFactory, JenkinsApiFactory);

            // Use factory to get reference to singleton ServerManager
            var serverManager = (IJenkinsServerManager)RetrieveServerManager();

            // Add this project to the server manager if it does not exist
            if (!serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName))
            {
                serverManager.ProjectsAndCurrentStatus.Add(projectName, null);
            }

            // If this project does not have a status get it now as we need the WebURL
            if (serverManager.ProjectsAndCurrentStatus[projectName] == null)
            {
                GetProjectWebUrl(projectName, manager);
            }

            manager.Initialize(Configuration, projectName, Settings);

            return(manager);
        }
示例#3
0
        /// <summary>
        /// Attempt to retrieve the WebUrl of the specified project
        /// </summary>
        /// <param name="projectName"></param>
        /// <param name="manager"></param>
        private void GetProjectWebUrl(string projectName, JenkinsProjectManager manager)
        {
            var serverManager = (IJenkinsServerManager)RetrieveServerManager();

            try
            {
                serverManager.GetCruiseServerSnapshotEx();

                if (serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName) &&
                    serverManager.ProjectsAndCurrentStatus[projectName] != null &&
                    !String.IsNullOrEmpty(serverManager.ProjectsAndCurrentStatus[projectName].WebURL))
                {
                    manager.WebURL = new Uri(serverManager.ProjectsAndCurrentStatus[projectName].WebURL);
                }
                else
                {
                    // Really can't support nested jobs without knowning the exact WebURL for the project !!
                }
            }
            catch (WebException ex)
            {
                DialogService.Show(ex.Message);
            }
        }
        // This is called once for every project that has been added to the user's CCtray instance
        //  Add each one to an internal property to be used when we get the server manager
        public ICruiseProjectManager RetrieveProjectManager(string projectName)
        {
            var manager = new JenkinsProjectManager(WebRequestFactory, JenkinsApiFactory);

            // Use factory to get reference to singleton ServerManager
            var serverManager = (IJenkinsServerManager)RetrieveServerManager();

            // Add this project to the server manager if it does not exist
            if (!serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName))
            {
                serverManager.ProjectsAndCurrentStatus.Add(projectName, null);
            }

            // If this project does not have a status get it now as we need the WebURL
            if (serverManager.ProjectsAndCurrentStatus[projectName] == null)
            {
                try
                {
                    serverManager.GetCruiseServerSnapshotEx();

                    if (serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName) &&
                        serverManager.ProjectsAndCurrentStatus[projectName] != null &&
                        !String.IsNullOrEmpty(serverManager.ProjectsAndCurrentStatus[projectName].WebURL))
                    {
                        manager.WebURL = new Uri(serverManager.ProjectsAndCurrentStatus[projectName].WebURL);
                    }
                    else
                    {
                        // Really can't support nested jobs without knowning the exact WebURL for the project !!
                    }
                }
                catch (WebException ex)
                {
                    DialogService.Show(ex.Message);
                }
            }

            manager.Initialize(Configuration, projectName, Settings);

            return manager;
        }
        /// <summary>
        /// Attempt to retrieve the WebUrl of the specified project
        /// </summary>
        /// <param name="projectName"></param>
        /// <param name="manager"></param>
        private void GetProjectWebUrl(string projectName, JenkinsProjectManager manager)
        {
            var serverManager = (IJenkinsServerManager)RetrieveServerManager();

            try
            {
                serverManager.GetCruiseServerSnapshotEx();

                if (serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName) &&
                    serverManager.ProjectsAndCurrentStatus[projectName] != null &&
                    !String.IsNullOrEmpty(serverManager.ProjectsAndCurrentStatus[projectName].WebURL))
                {
                    manager.WebURL = new Uri(serverManager.ProjectsAndCurrentStatus[projectName].WebURL);
                }
                else
                {
                    // Really can't support nested jobs without knowning the exact WebURL for the project !!
                }
            }
            catch (WebException ex)
            {
                DialogService.Show(ex.Message);
            }
        }
        // This is called once for every project that has been added to the user's CCtray instance
        //  Add each one to an internal property to be used when we get the server manager
        public ICruiseProjectManager RetrieveProjectManager(string projectName)
        {
            var manager = new JenkinsProjectManager(WebRequestFactory, JenkinsApiFactory);

            // Use factory to get reference to singleton ServerManager
            var serverManager = (IJenkinsServerManager)RetrieveServerManager();

            // Add this project to the server manager if it does not exist
            if (!serverManager.ProjectsAndCurrentStatus.ContainsKey(projectName))
            {
                serverManager.ProjectsAndCurrentStatus.Add(projectName, null);
            }

            // If this project does not have a status get it now as we need the WebURL
            if (serverManager.ProjectsAndCurrentStatus[projectName] == null)
            {
                GetProjectWebUrl(projectName, manager);
            }

            manager.Initialize(Configuration, projectName, Settings);

            return manager;
        }