Guide through adding a new reporter named $ARGUMENTS to MegaLinter.
Steps:
- Create the class in
megalinter/reporters/<Name>Reporter.pyextendingmegalinter.Reporter - Implement required methods:
manage_activation()— check env var like<NAME>_REPORTER=trueto enable/disableproduce_report()— generate the report output- Optionally:
initialize(),add_report_item()
- Register the reporter — check how existing reporters are discovered and loaded in
megalinter/MegaLinter.py - Reference patterns from existing reporters:
- Simple output:
ConsoleReporter.py,TapReporter.py - CI integration:
GithubCommentReporter.py,GitlabCommentReporter.py - File output:
JsonReporter.py,SarifReporter.py - External service:
ApiReporter.py,EmailReporter.py
- Simple output:
- Update documentation — add a docs page describing configuration
- Update
CHANGELOG.mdin the repository root (not docs/) — add one line under Reporters in the beta section:- Add <ReporterName>: <what CI system or output format it supports, one sentence> - Branch naming: use
user/add-<reporter-name>-reporter