Das Groovy Skript arbeitet mit der Matcher Instanz, die in der Variablen `matcher` an das Skript übergeben wird. Das Skript muss einen Rückgabewert vom Typ `Optional<edu.hm.hafner.analysis.Issue>` haben. Eine `Issue` Instanz muss mit dem `edu.hm.hafner.analysis.IssueBuilder` erstellt werden, der in der Variablen `builder` an das Skript übergeben wird. Hinweis: der Rückgabewert der Methode ist vom Typ`Optional<Issue>`, d.h. im Falle einer Falschmeldung muss `Optional.empty()` zurückgeliefert werden.

Folgende Variablen stehen außerdem zur Verfügung:

fileName
  der Name der analysierten Report Datei
lineNumber
  die aktuelle Zeilennummer

#### Beispiel

Hier folgt ein Beispiel, das als Ausgangsbasis für das Skript verwendet werden kann. Es erzeugt eine neue Warnung für den regulären Ausdruck `^\s*(.*):(\d+):(.*):\s*(.*)$`.

    import edu.hm.hafner.analysis.Severity

    builder.setFileName(matcher.group(1))
            .setLineStart(Integer.parseInt(matcher.group(2)))
            .setSeverity(Severity.WARNING_NORMAL)
            .setCategory(matcher.group(3))
            .setMessage(matcher.group(4))

    return builder.buildOptional();