-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Security Solution] Webhook - Case Management Connector #131762
Conversation
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Page load bundle
Unknown metric groupsAPI count
async chunk count
ESLint disabled in files
ESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Steph, followed the steps and ran it locally, all worked as expected!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work Steph!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work Steph! Thank you for addressing our feedback. Some items can be done in another PR. Could you please open an issue for that:
- The method and the URL are not properly aligned in step 4:
- Docs
- Add more unit tests for React components and utility functions
- Remove real URLs from tests
- By introducing the
isExperimental
flag we show the experimental badge. There are some parts in the framework that do not show the experimental flag even though the flag is set. This is a bug in the framework. For example the edit connector flyout or in the connector add flyout
'{"fields":{"title":{{{case.title}}},"description":{{{case.description}}},"tags":{{{case.tags}}},"project":{"key":"ROC"},"issuetype":{"id":"10024"}}}', | ||
createIncidentMethod: CasesWebhookMethods.POST, | ||
createIncidentResponseKey: 'id', | ||
createIncidentUrl: 'https://siem-kibana.atlassian.net/rest/api/2/issue', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should not commit real URLs in tests.
@@ -85,9 +96,17 @@ const FlyoutHeaderComponent: React.FC<{ | |||
</EuiTitle> | |||
)} | |||
</EuiFlexItem> | |||
{actionTypeName && isExperimental && ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A unit test is missing for this case.
@@ -91,6 +93,7 @@ export const ActionTypeMenu = ({ | |||
const checkEnabledResult = checkActionTypeEnabled(item.actionType); | |||
const card = ( | |||
<EuiCard | |||
betaBadgeProps={item.isExperimental ? betaBadgeProps : undefined} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A unit test is missing for this case
Pinging @elastic/response-ops (Team:ResponseOps) |
Webhook - Case Management Connector
Webhook - Case Management is a new connector that allows user to add any third party case management system and have it work within the Cases app. This connector is available in Cases, Stack Management > Connectors, but is not available in Rule Actions. It requires the user to fill out endpoint and JSON data to send to the third party system. The endpoints covered are create incident, get incident, update incident, and create comment. The only non-required endpoint is create comment.
Create Connector
Connector Validation
Connector Test
Case Flow
Connector Test - No Comments
Case Flow - No Comments
Test credentials
Jira
ServiceNow
Fields
The configuration for each connector requires the following fields (* indicates required):
POST
https://siem-kibana.atlassian.net/rest/api/2/issue
id
https://siem-kibana.atlassian.net/rest/api/2/issue/{{{external.system.id}}}
key
fields.created
fields.updated
https://siem-kibana.atlassian.net/browse/{{{external.system.title}}}
PUT
https://siem-kibana.atlassian.net/rest/api/2/issue/{{{external.system.id}}}
POST
https://siem-kibana.atlassian.net/rest/api/2/issue/{{{external.system.id}}}/comment
Links
RFC: https://docs.google.com/document/d/16qvY3TmjAiokubAABBf_CVZNH9lFAwU9UXYdfW1M7L0/edit?usp=sharing
Epic: #124687
Customer enhancement requests: https://github.com/elastic/enhancements/issues/15899, https://github.com/elastic/enhancements/issues/14938