Skip to content

Commit

Permalink
Case custom fields GA (#4084)
Browse files Browse the repository at this point in the history
* Move custom fields to settings page

* Replace tech-preview with added callouts

* Edit custom fields content

* Add custom field details in Serverless docs

* Add links to case settings page

* Change callout to badge

(cherry picked from commit 3fe0031)

# Conflicts:
#	docs/en/serverless/cases/create-manage-cases.mdx
#	docs/en/serverless/cases/manage-cases-settings.mdx
#	docs/en/serverless/images/observability-cases-settings.png
  • Loading branch information
lcawl authored and mergify[bot] committed Aug 6, 2024
1 parent 8c4c64d commit baa90d9
Show file tree
Hide file tree
Showing 8 changed files with 269 additions and 42 deletions.
Binary file not shown.
Binary file modified docs/en/observability/images/cases-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions docs/en/observability/manage-cases-settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,28 @@ To update an existing connector:
. Click *Update <connector name>*.
. Update the connector fields as required.

[float]
[[case-custom-fields]]
== Custom fields

You can add optional and required fields for customized case collaboration. added:[8.15.0]

. In the *Custom fields* section, click *Add field*.
+
--
[role="screenshot"]
image::images/cases-add-custom-field.png[Add a custom field in case settings]
//NOTE: This is an autogenerated screenshot. Do not edit it directly.
--

. You must provide a field label and type (text or toggle).
You can optionally designate it as a required field and provide a default value.

When you create a custom field, it's added to all new and existing cases.
In existing cases, new custom text fields initially have null values.

You can subsequently remove or edit custom fields on the *Settings* page.

[discrete]
[[observability-case-templates]]
== Templates
Expand Down
44 changes: 2 additions & 42 deletions docs/en/observability/manage-cases.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,60 +10,20 @@ To perform these tasks, you must have <<grant-cases-access,full access>> to the
Open a new case to keep track of issues and share the details with colleagues.

. Go to *Cases* -> *Create new case*.
. preview:[] If you defined <<observability-case-templates,templates>>, optionally select one to use its default field values.
. If you defined <<observability-case-templates,templates>>, optionally select one to use its default field values. preview:[]
. Give the case a name, severity, and description.
+
TIP: In the `Description` area, you can use
https://www.markdownguide.org/cheat-sheet[Markdown] syntax to create formatted text.

. Optionally, add a category, assignees, and tags.
You can add users only if they meet the necessary <<grant-cases-access,prerequisites>>.
. preview:[] If you defined <<case-custom-fields,custom fields>>, they appear in the *Additional fields* section.
. If you defined <<case-custom-fields,custom fields>>, they appear in the *Additional fields* section. added:[8.15.0]
. Under External incident management system, select a <<cases-external-connectors,connector>>. If
you've previously added one, that connector displays as the default selection. Otherwise, the
default setting is `No connector selected`.
. After you've completed all of the required fields, click *Create case*.

[float]
[[case-custom-fields]]
== Add custom fields

preview::[]

You can add optional and required fields for customized case collaboration.

. Go to *Cases* -> *Settings*.
+
--
[role="screenshot"]
image::images/cases-custom-field-settings.png[View custom fields in case settings]
// NOTE: This is an autogenerated screenshot. Do not edit it directly.
--

. In the *Custom fields* section, click *Add field*.
+
--
[role="screenshot"]
image::images/cases-add-custom-field.png[Add a custom field in case settings]
//NOTE: This is an autogenerated screenshot. Do not edit it directly.
--

. Enter a field label.

. Choose a field type: text or toggle.

. If you want the text field to be mandatory in all cases, select *Make this field required*.

. Optionally add a default value.

. Click *Save field*.

You can subsequently remove or edit custom fields on the *Settings* page.

After you create custom fields, they're added to all new and existing cases.

Existing cases have null values for the new text fields until you set them in each case.

[float]
[[add-case-notifications]]
== Add email notifications
Expand Down
117 changes: 117 additions & 0 deletions docs/en/serverless/cases/create-manage-cases.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
slug: /serverless/observability/create-a-new-case
title: Create and manage cases
description: Learn how to create a case, add files, and manage the case over time.
tags: [ 'serverless', 'observability', 'how-to' ]
---

<p><DocBadge template="technical preview" /></p>

import Roles from '../partials/roles.mdx'

<Roles role="Editor" goal="create and manage cases" />

Open a new case to keep track of issues and share the details with colleagues.
To create a case in your Observability project:

1. In your ((observability)) project, go to **Cases**.
1. Click **Create case**.
1. (Optional) If you defined <DocLink slug="/serverless/observability/case-settings" section="templates">templates</DocLink>, select one to use its default field values. <DocBadge template="technical preview" />
1. Give the case a name, severity, and description.

<DocCallOut title="Tip">
In the `Description` area, you can use
[Markdown](https://www.markdownguide.org/cheat-sheet) syntax to create formatted text.
</DocCallOut>

1. (Optional) Add a category, assignees, and tags.
{/* To do: Need to verify that a viewer cannot be assigned to a case
(all I know is that they can _view_ the case) */}
You can add users who are assigned the Editor user role (or a more permissive role) for the project.

1. If you defined <DocLink slug="/serverless/observability/case-settings" section="custom-fields">custom fields</DocLink>, they appear in the **Additional fields** section.

1. (Optional) Under External incident management system, you can select a connector to send cases to an external system.
If you've created any connectors previously, they will be listed here.
If there are no connectors listed, you can <DocLink slug="/serverless/observability/case-settings">create one</DocLink>.

1. After you've completed all of the required fields, click **Create case**.

<DocCallOut title="Tip">
You can also create a case from an alert or add an alert to an existing case. From the **Alerts** page, click the **More options** <DocIcon type="boxesHorizontal" title="More actions" /> icon and choose either **Add to existing case** or **Create new case**, and select or complete the details as required.
</DocCallOut>

## Add files

After you create a case, you can upload and manage files on the **Files** tab:

![A list of files attached to a case](../images/cases-files-tab.png)
{/* NOTE: This is an autogenerated screenshot. Do not edit it directly. */}

To download or delete the file or copy the file hash to your clipboard, open the action menu (…).
The available hash functions are MD5, SHA-1, and SHA-256.

When you upload a file, a comment is added to the case activity log.
To view an image, click its name in the activity or file list.

<DocCallOut title="Note">
Uploaded files are also accessible under **Project settings****Management****Files**.
When you export cases as [saved objects](((kibana-ref))/managing-saved-objects.html), the case files are not exported.
</DocCallOut>

You can add images and text, CSV, JSON, PDF, or ZIP files.
For the complete list, check [`mime_types.ts`](https://github.com/elastic/kibana/blob/main/x-pack/plugins/cases/common/constants/mime_types.ts).

<DocCallOut title="File size limits">
There is a 10 MiB size limit for images. For all other MIME types, the limit is 100 MiB.
</DocCallOut>

{/*
NOTE: Email notifications are not available in Observability projects yet.
## Add email notifications
You can configure email notifications that occur when users are assigned to
cases.
To do this, add the email addresses to the monitoring email allowlist.
Follow the steps in [Send alerts by email](((cloud))/ec-watcher.html#ec-watcher-allowlist).
You do not need to configure an email connector or update
user settings, since the preconfigured Elastic-Cloud-SMTP connector is
used by default.
When you subsequently add assignees to cases, they receive an email.
*/}

## Send cases to external incident management systems

To send a case to an external system, click the <DocIcon type="importAction" title="push" /> button in the *External incident management system* section of the individual case page.
This information is not sent automatically.
If you make further changes to the shared case fields, you should push the case again.

For more information about configuring connections to external incident management systems, refer to <DocLink slug="/serverless/observability/case-settings" />.

## Manage existing cases

You can search existing cases and filter them by attributes such as assignees,
categories, severity, status, and tags. You can also select multiple cases and use bulk
actions to delete cases or change their attributes.

To view a case, click on its name. You can then:

* Add a new comment.
* Edit existing comments and the description.
* Add or remove assignees.
* Add a connector (if you did not select one while creating the case).
* Send updates to external systems (if external connections are configured).
* Edit the category and tags.
* Change the status.
* Change the severity.
* Remove an alert.
* Refresh the case to retrieve the latest updates.
* Close the case.
* Reopen a closed case.

128 changes: 128 additions & 0 deletions docs/en/serverless/cases/manage-cases-settings.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
slug: /serverless/observability/case-settings
title: Configure case settings
description: Change the default behavior of ((observability)) cases by adding connectors, custom fields, templates, and closure options.
tags: [ 'serverless', 'observability', 'how-to' ]
---

<p><DocBadge template="technical preview" /></p>

import Roles from '../partials/roles.mdx'

<Roles role="Editor" goal="create and edit connectors" />

To access case settings in an ((observability)) project, go to **Cases****Settings**.

![View case settings](../images/observability-cases-settings.png)
{/* NOTE: This is an autogenerated screenshot. Do not edit it directly. */}

## Case closures

If you close cases in your external incident management system, the cases will remain open in Elastic Observability until you close them manually (the information is only sent in one direction).

To close cases when they are sent to an external system, select **Automatically close cases when pushing new incident to external system**.

## External incident management systems

If you are using an external incident management system, you can integrate Elastic Observability
cases with this system using connectors. These third-party systems are supported:

* ((ibm-r))
* ((jira)) (including ((jira)) Service Desk)
* ((sn-itsm))
* ((sn-sir))
* ((swimlane))
* ((webhook-cm))

You need to create a connector to send cases, which stores the information required to interact
with an external system. For each case, you can send the title, description, and comment when
you choose to push the case — for the **Webhook - Case Management** connector, you can also
send the status and severity fields.

<DocCallOut title="Important" color="warning">
{/* TODO: Verify user roles needed to create connectors... */}
To add, modify, or delete a connector, you must have the Admin user role for the project
(or a more permissive role).
</DocCallOut>

After creating a connector, you can set your cases to
automatically close when they are sent to an external system.

### Create a connector

1. From the **Incident management system** list, select **Add new connector**.
1. Select the system to send cases to: **((sn))**, **((jira))**, **((ibm-r))**, **((swimlane))**,
or **((webhook-cm))**.

![Add a connector to send cases to an external source](../images/observability-cases-add-connector.png)
{/* NOTE: This is an autogenerated screenshot. Do not edit it directly. */}

1. Enter your required settings. For connector configuration details, refer to:
- [((ibm-r)) connector](((kibana-ref))/resilient-action-type.html)
- [((jira)) connector](((kibana-ref))/jira-action-type.html)
- [((sn-itsm)) connector](((kibana-ref))/servicenow-action-type.html)
- [((sn-sir)) connector](((kibana-ref))/servicenow-sir-action-type.html)
- [((swimlane)) connector](((kibana-ref))/swimlane-action-type.html)
- [((webhook-cm)) connector](((kibana-ref))/cases-webhook-action-type.html)

{/* Should we be linking out to kibana docs for this info? */}

1. Click **Save**.

### Edit a connector

You can create additional connectors, update existing connectors, and change the connector used to send cases to external systems.

<DocCallOut title="Tip">
You can also configure which connector is used for each case individually. Refer to <DocLink slug="/serverless/observability/create-a-new-case"/>.
</DocCallOut>

To change the default connector used to send cases to external systems:

1. Select the required connector from the **Incident management system** list.

To update an existing connector:

1. Click **Update \<connector name>**.
1. Update the connector fields as required.

## Custom fields

You can add optional and required fields for customized case collaboration.

To create a custom field:

1. In the **Custom fields** section, click **Add field**.

![Add a custom field](../images/observability-cases-custom-fields.png)
{/* NOTE: This is an autogenerated screenshot. Do not edit it directly. */}

1. You must provide a field label and type (text or toggle).
You can optionally designate it as a required field and provide a default value.

When you create a custom field, it's added to all new and existing cases.
In existing cases, new custom text fields initially have null values.

You can subsequently remove or edit custom fields on the **Settings** page.

## Templates

<DocCallOut template="technical_preview" />

You can make the case creation process faster and more consistent by adding templates.
A template defines values for one or all of the case fields (such as severity, tags, description, and title) as well as any custom fields.

To create a template:

1. In the **Templates** section, click **Add template**.

![Add a case template](../images/observability-cases-templates.png)
{/* NOTE: This is an autogenerated screenshot. Do not edit it directly. */}

1. You must provide a template name and case severity. You can optionally add template tags and a description, values for each case field, and a case connector.

When users create cases, they can optionally select a template and use its field values or override them.

<DocCallOut>
If you update or delete templates, existing cases are unaffected.
</DocCallOut>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit baa90d9

Please sign in to comment.