-
Notifications
You must be signed in to change notification settings - Fork 52
Added/Updated PR templates #3673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| ## 🧩 Type of Change | ||
| <!-- Choose the type of change --> | ||
| - [ ] Feature | ||
| - [ ] Bug fix | ||
| - [ ] Other | ||
|
|
||
| ## 🧠 Background & Motivation | ||
| <!-- Why is this change needed? What problem or context led to this PR? --> | ||
| <!-- Provide a short explanation of the motivation and the problem being solved. --> | ||
| <!-- Examples: | ||
| - "Users reported X error when doing Y" | ||
| - "New feature X was requested" | ||
| --> | ||
|
|
||
| ## ✨ What Changed | ||
| <!-- What was done? Summarize the key changes in this PR. --> | ||
| <!-- Describe the core implementation and high-level impact. --> | ||
| <!-- Examples: | ||
| - "Added new action 'X' to plugin Y" | ||
| - "Refactored X to improve performance" | ||
| --> | ||
|
|
||
| ## 🧪 Testing | ||
| <!-- Describe how you verified the changes work as intended --> | ||
| <!-- Include details of your testing process, such as: | ||
| - Unit tests | ||
| - Manual testing steps | ||
| - Any relevant screenshots or logs | ||
| --> | ||
|
|
||
| ### ✅ Checklist | ||
| - [ ] Unit tests added/updated ([generation guide](https://docs.rapid7.com/insightconnect/unit-test-generation) | [writing guide](https://docs.rapid7.com/insightconnect/unit-test-primer)) | ||
| - [ ] Manually tested in InsightConnect (if applicable) | ||
|
|
||
| ### 🔍 Plugin Validation | ||
|
|
||
| Please run the following commands and provide the output. **For action/trigger tests and runs, include outputs for all actions/triggers that were created or modified in this PR.** | ||
|
|
||
| <details> | ||
| <summary>Plugin Validation Output (<code>insight-plugin validate</code>)</summary> | ||
|
|
||
| ``` | ||
| # Paste output here | ||
| ``` | ||
|
|
||
| </details> | ||
|
|
||
| <details> | ||
| <summary>Connection Test Results (<code>insight-plugin run -T tests/example.json --debug --jq</code>)</summary> | ||
|
|
||
| ``` | ||
| # Paste output here for the connection test of the plugin | ||
| # It doesn't matter which action/trigger you use, as long as -T flag is specified | ||
| ``` | ||
|
|
||
| </details> | ||
|
|
||
| <details> | ||
| <summary>Action/Trigger Test Results (<code>insight-plugin run -R tests/example.json --debug --jq</code>)</summary> | ||
|
|
||
| ``` | ||
| # Paste output here for all created/modified actions/triggers | ||
| ``` | ||
|
|
||
| </details> | ||
|
|
||
| ### 🖼️ In-Product Verification (if applicable) | ||
|
|
||
| If you have access to an InsightConnect instance, please provide: | ||
| - [ ] Screenshot of job output with the plugin changes | ||
| - [ ] Screenshot of the changed connection, actions, or triggers input within the InsightConnect workflow builder | ||
|
|
||
| ## ✅ Code Quality Checklist | ||
|
|
||
| Please review our [style guide](https://docs.rapid7.com/insightconnect/style-guide/) and check all that apply: | ||
| - [ ] Dependencies pinned in `Dockerfile` ([OS packages](https://docs.rapid7.com/insightconnect/style-guide/#dockerfile)) and `requirements.txt` ([Python packages](https://docs.rapid7.com/insightconnect/style-guide/#requirements.txt)) | ||
| - [ ] `USER nobody` set in `Dockerfile` for least privileged account | ||
| - [ ] Uses [slim SDK images](https://docs.rapid7.com/insightconnect/sdk-guide/#sdk-guide) when possible (e.g., `rapid7/insightconnect-python-3-slim-plugin:{sdk-version-num}`) | ||
| - [ ] Uses [PluginException](https://docs.rapid7.com/insightconnect/error-handling-in-integrations/#plugin-exceptions) / [ConnectionTestException](https://docs.rapid7.com/insightconnect/error-handling-in-integrations#connection-exceptions) for errors | ||
| - [ ] Uses `self.logger` for [logging](https://docs.rapid7.com/insightconnect/sdk-guide/#logging) | ||
| - [ ] Changelog updated ([style guide](https://docs.rapid7.com/insightconnect/style-guide/#changelog)) | ||
| - [ ] Work fully completed and functional | ||
|
|
||
| ## 💬 Additional Notes | ||
| <!-- Screenshots, breaking changes, migration notes, or anything else reviewers should know --> | ||
|
|
||
| --- | ||
|
|
||
| **Thanks for contributing! 🎉** | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,60 +1,34 @@ | ||
| ## Proposed Changes | ||
|
|
||
| ### Description | ||
|
|
||
| Describe the proposed changes: | ||
|
|
||
| - | ||
|
|
||
| ## PR Requirements | ||
|
|
||
| Developers, verify you have completed the following items by checking them off: | ||
|
|
||
| ### Testing | ||
|
|
||
| #### Unit Tests | ||
|
|
||
| Review our documentation on [generating](https://docs.rapid7.com/insightconnect/unit-test-generation) and [writing](https://docs.rapid7.com/insightconnect/unit-test-primer) plugin unit tests | ||
|
|
||
| - [ ] Unit tests written for any new or updated code | ||
|
|
||
| #### In-Product Tests | ||
|
|
||
| If you are an InsightConnect customer or have access to an InsightConnect instance, the following in-product tests should be done: | ||
|
|
||
| - [ ] Screenshot of job output with the plugin changes | ||
| - [ ] Screenshot of the changed connection, actions, or triggers input within the InsightConnect workflow builder | ||
|
|
||
| ### Style | ||
|
|
||
| Review the [style guide](https://docs.rapid7.com/insightconnect/style-guide/) | ||
|
|
||
| - [ ] For dependencies, pin [OS package](https://docs.rapid7.com/insightconnect/style-guide/#dockerfile) and [Python package](https://docs.rapid7.com/insightconnect/style-guide/#requirements.txt) versions | ||
| - [ ] For security, set least privileged account with ``USER nobody`` in the ``Dockerfile`` when possible | ||
| - [ ] For size, use the [slim SDK images](https://docs.rapid7.com/insightconnect/sdk-guide/#sdk-guide) when possible: ``rapid7/insightconnect-python-3-38-slim-plugin:{sdk-version-num}`` and ``rapid7/insightconnect-python-3-38-plugin:{sdk-version-num}`` | ||
| - [ ] For error handling, use of [PluginException](https://docs.rapid7.com/insightconnect/error-handling-in-integrations/#plugin-exceptions) and [ConnectionTestException](https://docs.rapid7.com/insightconnect/error-handling-in-integrations#connection-exceptions) | ||
| - [ ] For logging, use [self.logger](https://docs.rapid7.com/insightconnect/sdk-guide/#logging) | ||
| - [ ] For docs, use [changelog style](https://docs.rapid7.com/insightconnect/style-guide/#changelog) | ||
| - [ ] For docs, validate markdown with ``insight-plugin validate`` which calls ``icon_validate`` to lint ``help.md`` | ||
|
|
||
| ### Functional Checklist | ||
| - [ ] Work fully completed | ||
| - [ ] Functional | ||
| - [ ] Any new actions/triggers include JSON [test files](https://docs.rapid7.com/insightconnect/style-guide/#tests) in the `tests/` directory created with `insight-plugin samples` | ||
| - [ ] Tests should all pass unless it's a negative test. Negative tests have a naming convention of `tests/$action_bad.json` | ||
| - [ ] Unsuccessful tests should fail by raising an exception causing the plugin to die and an object should be returned on successful test | ||
| - [ ] Add functioning test results to PR, sanitize any output if necessary | ||
| * Single action/trigger `insight-plugin run -T tests/example.json --debug --jq` | ||
| * All actions/triggers shortcut `insight-plugin run -T all --debug --jq` (use PR format at end) | ||
| - [ ] Add functioning run results to PR, sanitize any output if necessary | ||
| * Single action/trigger `insight-plugin run -R tests/example.json --debug --jq` | ||
| * All actions/triggers shortcut `insight-plugin run --debug --jq` (use PR format at end) | ||
|
|
||
| ### Assessment | ||
|
|
||
| You must validate your work to reviewers: | ||
|
|
||
| 1. Run `insight-plugin validate` and make sure everything passes | ||
| 2. Run the assessment tool: `insight-plugin run -A`. For single action validation: `insight-plugin run tests/{file}.json -A` | ||
| 3. Copy (`insight-plugin ... | pbcopy`) and paste the output in **a new post** on this PR | ||
| 4. Add required screenshots from the In-Product Tests section | ||
| ## 🎫 Ticket | ||
| <!-- Link to the related Jira ticket (if applicable, typically for features and bug fixes) --> | ||
| <!-- If no ticket exists, you can remove this section or write "N/A" --> | ||
| <!-- Ticket: [<insert ticket title>](<insert ticket link>) --> | ||
|
|
||
| ## 🧩 Type of Change | ||
| <!-- Choose the type of change --> | ||
| - [ ] Feature | ||
| - [ ] Bug fix | ||
| - [ ] Other | ||
|
|
||
| ## 🧠 Background & Motivation | ||
| <!-- Why is this change needed? What problem or context led to this PR? --> | ||
| <!-- Provide a short explanation of the motivation and the problem being solved. --> | ||
| <!-- Examples: | ||
| - "Users reported X error when doing Y" | ||
| - "New feature X was requested" | ||
| --> | ||
|
|
||
| ## ✨ What Changed | ||
| <!-- What was done? Summarize the key changes in this PR. --> | ||
| <!-- Describe the core implementation and high-level impact. --> | ||
| <!-- Examples: | ||
| - "Added new action 'X' to plugin Y" | ||
| - "Refactored X to improve performance" | ||
| --> | ||
|
|
||
| ## 🧪 Testing | ||
| <!-- Describe how you verified the changes work as intended --> | ||
| <!-- Include details of your testing process, such as: | ||
| - Unit tests | ||
| - Manual testing steps | ||
| - Any relevant screenshots or logs | ||
| --> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.