Пример #1
0
        public bool ForceBuild(ForceFilterClientInfo[] clientInfo)
        {
            IIntegrationResult result = result = resultManager.StartNewIntegration();

            if (this.Project.ForceFilters != null && this.Project.ForceFilters.Length != 0)
            {
                foreach (IForceFilter Filter in this.Project.ForceFilters)
                {
                    Boolean ToForce = Filter.ShouldRunIntegration(clientInfo, result);
                    if (!ToForce)
                    {
                        return(false);
                    }
                }
            }
            Log.Info("Force Build for project: " + _project.Name);
            this.ShouldForceBuild  = true;
            this.IntegrationResult = result;
            this.Start();
            return(true);
        }
Пример #2
0
        public bool ForceBuild(Dictionary <string, string> webParams, ForceFilterClientInfo[] clientInfo)
        {
            IIntegrationResult result = null;

            try
            {
                result = resultManager.StartNewIntegration();
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(false);
            }
            if (webParams != null)
            {
                foreach (KeyValuePair <string, string> webParam in webParams)
                {
                    result.AddIntegrationProperty(webParam.Key, webParam.Value);
                }
            }

            if (this.Project.ForceFilters != null && this.Project.ForceFilters.Length != 0)
            {
                foreach (IForceFilter Filter in this.Project.ForceFilters)
                {
                    Boolean ToForce = Filter.ShouldRunIntegration(clientInfo, result);
                    if (!ToForce)
                    {
                        return(false);
                    }
                }
            }
            Log.Info("Force Build for project: " + _project.Name);
            this.ShouldForceBuild  = true;
            this.IntegrationResult = result;
            this.Start();
            return(true);
        }
        /// <summary>
        /// Starts a new integration result.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        /// The new <see cref="IIntegrationResult"/>.
        /// </returns>
        public IIntegrationResult StartNewIntegration(IntegrationRequest request)
        {
            var result = resultManager.StartNewIntegration(request);

            // Copy any parameters to the result
            if ((request.BuildValues != null) && (request.BuildValues.Count > 0))
            {
                result.Parameters.AddRange(
                    NameValuePair.FromDictionary(request.BuildValues));
            }

            result.MarkStartTime();
            this.GenerateSystemParameterValues(result);
            return(result);
        }