(Please add to the PR name the issue/s that this PR would close if merged by using a Github keyword. Example: <feature name>. Closes #999. If your PR is made by a single commit, please add that clause in the commit too. This is all required to automate the closure of related issues.)
Please include a summary of the change and link to the related issue.
Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue).
- New feature (non-breaking change which adds functionality).
- Breaking change (fix or feature that would cause existing functionality to not work as expected).
- I have read and understood the rules about how to Contribute to this project
- The pull request is for the branch
develop - A new plugin (analyzer, connector, visualizer, playbook, pivot or ingestor) was added or changed, in which case:
- I strictly followed the documentation "How to create a Plugin"
- Usage file was updated. A link to the PR to the docs repo has been added as a comment here.
- Advanced-Usage was updated (in case the plugin provides additional optional configuration). A link to the PR to the docs repo has been added as a comment here.
- I have dumped the configuration from Django Admin using the
dumpplugincommand and added it in the project as a data migration. ("How to share a plugin with the community") - If a File analyzer was added and it supports a mimetype which is not already supported, you added a sample of that type inside the archive
test_files.zipand you added the default tests for that mimetype in test_classes.py. - If you created a new analyzer and it is free (does not require any API key), please add it in the
FREE_TO_USE_ANALYZERSplaybook by following this guide. - Check if it could make sense to add that analyzer/connector to other freely available playbooks.
- I have provided the resulting raw JSON of a finished analysis and a screenshot of the results.
- If the plugin interacts with an external service, I have created an attribute called precisely
urlthat contains this information. This is required for Health Checks. - If the plugin requires mocked testing,
_monkeypatch()was used in its class to apply the necessary decorators. - I have added that raw JSON sample to the
MockUpResponseof the_monkeypatch()method. This serves us to provide a valid sample for testing.
- I have inserted the copyright banner at the start of the file:
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl # See the file 'LICENSE' for copying permission. - If external libraries/packages with restrictive licenses were used, they were added in the Legal Notice section.
- Linters (
Black,Flake,Isort) gave 0 errors. If you have correctly installed pre-commit, it does these checks and adjustments on your behalf. - I have added tests for the feature/bug I solved (see
testsfolder). All the tests (new and old ones) gave 0 errors. - If the GUI has been modified:
- I have a provided a screenshot of the result in the PR.
- I have created new frontend tests for the new component or updated existing ones.
- After you had submitted the PR, if
DeepSource,Django Doctorsor other third-party linters have triggered any alerts during the CI checks, I have solved those alerts.
- If you miss to compile the Checklist properly, your PR won't be reviewed by the maintainers.
- Everytime you make changes to the PR and you think the work is done, you should explicitly ask for a review by using GitHub's reviewing system detailed here.