in src/Analyzer.Reports/SarifReportWriter.cs [177:197]
private void ExtractRule(IEvaluation evaluation)
{
if (rulesDictionary.ContainsKey(evaluation.RuleId))
return;
var hasUri = Uri.TryCreate(evaluation.HelpUri, UriKind.RelativeOrAbsolute, out Uri uri);
rulesDictionary.Add(evaluation.RuleId, new ReportingDescriptor
{
Id = evaluation.RuleId,
Name = evaluation.RuleName,
ShortDescription = new MultiformatMessageString { Text = AppendPeriod(evaluation.RuleShortDescription) },
FullDescription = new MultiformatMessageString { Text = AppendPeriod(evaluation.RuleFullDescription) },
Help = new MultiformatMessageString { Text = AppendPeriod(evaluation.Recommendation) },
HelpUri = hasUri ? uri : null,
MessageStrings = new Dictionary<string, MultiformatMessageString>()
{
{ "default", new MultiformatMessageString { Text = AppendPeriod(evaluation.RuleFullDescription) } }
},
DefaultConfiguration = new ReportingConfiguration { Level = GetLevelFromSeverity(evaluation.Severity) }
});
}