コード例 #1
0
        public ComponentMeasureResponse Component(SonarComponentArgs SonarComponentArgs, NameValueCollection configuration)
        {
            if (String.IsNullOrEmpty(SonarComponentArgs.ComponentKey))
            {
                throw new ArgumentException("ComponentKey must be set.");
            }

            string url = string.Format("{0}api/measures/component{1}", SonarApiClient.BaseAddress, (SonarComponentArgs == null) ? String.Empty : SonarComponentArgs.ToString());

            return(SonarApiClient.QueryObject <ComponentMeasureResponse>(url, configuration));
        }
コード例 #2
0
ファイル: TreatExport.cs プロジェクト: Cyrinehl/Portail
        // Fill the attributes of metrics of each build of the list builds
        public static void FillBuildsMetrics(SonarApiClient SonarClient, IConfigurationRoot configuration)
        {
            SonarComponentArgs SonarComponentArgs = new SonarComponentArgs();

            SonarComponentArgs.MetricKeys = new List <MetricKeys>()
            {
                MetricKeys.bugs,
                MetricKeys.comment_lines_density,
                MetricKeys.code_smells,
                MetricKeys.complexity,
                MetricKeys.coverage,
                MetricKeys.duplicated_lines_density,
                MetricKeys.ncloc,
                MetricKeys.reliability_rating,
                MetricKeys.security_rating,
                MetricKeys.sqale_rating,
                MetricKeys.vulnerabilities
            };


            foreach (Build b in builds)
            {
                SonarComponentArgs.ComponentKey = b.buildKey;
                ComponentMeasureResponse ComponentMeasureResponse = SonarClient.Measures.Component(SonarComponentArgs, configuration);
                List <ComponentMeasure>  measures = ComponentMeasureResponse.SonarComponentMeasures.Measures;
                int count = measures.Count;

                for (int i = 0; i < count; i++)
                {
                    string metric = measures[i].Metric;
                    switch (metric)
                    {
                    case "ncloc":
                        b.size = measures[i].Value;
                        break;

                    case "coverage":
                        b.coverage = measures[i].Value.Replace(".", ",") + "%";
                        break;

                    case "duplicated_lines_density":
                        b.duplication = measures[i].Value.Replace(".", ",") + "%";
                        break;

                    case "complexity":
                        b.complexity = measures[i].Value;
                        break;

                    case "comment_lines_density":
                        b.commentLinesDensity = measures[i].Value.Replace(".", ",") + "%";
                        break;

                    case "bugs":
                        b.numberBug = measures[i].Value;
                        break;

                    case "code_smells":
                        b.numberCodeSmells = measures[i].Value;
                        break;

                    case "vulnerabilities":
                        b.numberVulnerabilities = measures[i].Value;
                        break;


                    case "security_rating":
                        b.securityRating = measures[i].Value;
                        break;

                    case "reliability_rating":
                        b.reliabilityRating = measures[i].Value;
                        break;

                    case "sqale_rating":
                        b.sqaleRating = measures[i].Value;
                        break;
                    }
                }
            }


            foreach (Build b in builds)
            {
                if (b.coverage == null)
                {
                    b.coverage = "0" + "%";
                }
            }
        }