From 193051e3b4c6b4aec893455c840d74ef4dce437b Mon Sep 17 00:00:00 2001 From: "andrzej.janczak" Date: Mon, 1 Jun 2026 21:18:51 +0200 Subject: [PATCH] feat: add extraFields to Result.Issue (OD-41) Carry tool-specific structured metadata (e.g. Trivy dependency chains) as a raw JSON string. Kept as Option[String] to preserve this module's dependency-free, Scala-Native-friendly design; JSON (de)serialization of the embedded value is handled by the codecs in codacy-plugins. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../scala/com/codacy/plugins/api/results/Result.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/codacy-plugins-api/src/main/scala/com/codacy/plugins/api/results/Result.scala b/codacy-plugins-api/src/main/scala/com/codacy/plugins/api/results/Result.scala index b4b7495..19f95dd 100644 --- a/codacy-plugins-api/src/main/scala/com/codacy/plugins/api/results/Result.scala +++ b/codacy-plugins-api/src/main/scala/com/codacy/plugins/api/results/Result.scala @@ -22,12 +22,18 @@ object Result { override def toString: String = value } + /** @param extraFields + * Tool-specific structured metadata as a raw JSON string (e.g. Trivy dependency chains). + * Kept as a String to preserve this module's dependency-free, Scala-Native-friendly design; + * JSON (de)serialization of the embedded value is handled by the codecs in codacy-plugins. + */ case class Issue(filename: Source.File, message: Result.Message, patternId: Pattern.Id, line: Source.Line, suggestion: Option[Suggestion], - sourceId: Option[String]) + sourceId: Option[String], + extraFields: Option[String] = None) extends Result case class FileError(filename: Source.File, message: Option[ErrorMessage]) extends Result