Incident Timelines
### Release notes ### Problem Incident timelines are an important part of record keeping for incidents. They give a high-level overview, to executives and external viewers, of what happened during the incident, and the steps that were taken for it to be resolved. The current process for creating incident timelines (adding a list of what happened/when in the incident description, often after the incident ends) is a manual and time-consuming process. ### Intended users <!-- Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later. Personas are described at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/ * [Cameron (Compliance Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#cameron-compliance-manager) * [Parker (Product Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#parker-product-manager) * [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead) * [Presley (Product Designer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#presley-product-designer) * [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) * [Devon (DevOps Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#devon-devops-engineer) * [Sidney (Systems Administrator)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator) * [Sam (Security Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sam-security-analyst) * [Rachel (Release Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#rachel-release-manager) * [Alex (Security Operations Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#alex-security-operations-engineer) * [Simone (Software Engineer in Test)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#simone-software-engineer-in-test) * [Allison (Application Ops)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#allison-application-ops) * [Priyanka (Platform Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#priyanka-platform-engineer) * [Dana (Data Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#dana-data-analyst) * [Eddie (Content Editor)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#eddie-content-editor) --> * [Sidney (Systems Administrator)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator) ### Metrics <!-- How are you going to track uage of this feature? Think about user behavior and their interaction with the product. What indicates someone is getting value from it? Create tracking issue using the Snowplow event tracking template. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Snowplow%20event%20tracking.md --> [Metrics & Instrumentation for Incident Timelines](https://gitlab.com/gitlab-org/gitlab/-/issues/345187) ### Original vision designs Goal: Allow people to easily create an editable timeline on incidents. | Add timeline tab + way to easily add comment items to timeline | Timeline view | Allow for adding/sorting of timeline view | Timeline actions (starring, editing, deleting) | Timeline editing close-up | | ------ | ------ | ------ | ------ | ------ | | ![Incident](/uploads/a644a46626b1d600b60f9efe3c7a3ed6/Incident.png)| ![Timeline_tab](/uploads/e6573b659c5a98f752088e436b754cc2/Timeline_tab.png)| ![Possible_timeline_viewing_options](/uploads/ccccc25fca9844839a6a4742c38a52af/Possible_timeline_viewing_options.png) |![Highlight_button_group](/uploads/950c13c94edab72c3c7ae36f156f6607/Highlight_button_group.png)|![Save_changes](/uploads/3a909c5a1227a2de27834f8234b5fe86/Save_changes.png) | Original [vision design figma file](https://www.figma.com/file/tWk48ndpYzMOgs4jH5t4zj/Monitor-vision-Monitor-and-41?node-id=559%3A5185) ### Validated High Fidelity Mock-Ups | Add timeline tab + way to easily add comment items to timeline | Tooltip | Toast | Timeline view | Timeline menu items | In-line editing | Add new item to timeline | New item added to timeline | Slash command | | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | ![Incident](/uploads/5cb185580b2eb63bdfa4748917cf3897/Incident.png)| ![Tooltip](/uploads/d8a5ea61bb1044cf1758f1e4abc1bb3e/Tooltip.png)| ![Toast](/uploads/657838dbfcd12a56b11f98122ac17107/Toast.png) | ![Timeline_tab_-_v3](/uploads/8bf34d67909b254a85479b27cba13c3c/Timeline_tab_-_v3.png) | ![Timeline_tab_-_actions](/uploads/3adfa9548b114d2cda6c75aeb087f15e/Timeline_tab_-_actions.png)|![Timeline_tab_-_inline_edit](/uploads/e29081865053439f2d41ec9985bde599/Timeline_tab_-_inline_edit.png) | ![New_timeline_item](/uploads/d1dcdae57a988b7a3116f57616a8eca9/New_timeline_item.png)| ![Additional_timeline_item_added](/uploads/45b1b4cc101bf7406e5ee8de98d86245/Additional_timeline_item_added.png) | ![Slash_command](/uploads/e2156453ad4a19ceeeb35c9cf37c49ae/Slash_command.png) | | Mobile | Mobile actions menu | Edit | | ------ | ------ | ------ | | ![Mobile](/uploads/f1abf2b744159c10df9bca6aa5bdda29/Mobile.png) | ![Dropdown](/uploads/01566266eaa2fc6fa9278b0f44b5cf57/Dropdown.png)|![Edit](/uploads/c5eeb76ed72e66b3268d78a8c58ae104/Edit.png) | Figma file for [timelines](https://www.figma.com/file/01efUzilO8y3FZndx4Kt14/Incident-timelines-gitlab-com-and-330901?node-id=63%3A342) **Additional details** - Timeline items will automatically be ordered by time/date. Dates are currently shown in UTC, as that's what our SRE team requires. But, many co-located teams will likely just want their timelines displayed in their local times. So, in future, we'll need to figure out how to make the timezone customizable (or to change the display to a local time, if/as needed). - We'll need to carefully consider permissions for timelines. Probably only higher permission levels (Developer and up) should have the option to edit or delete the timeline. For everyone else, it should be view-only. - When the timeline is edited, we'll need a record of what was changed, by whom. We can use the normal system notes on the issue summary tab to support this: ![Screen_Shot_2021-07-16_at_8.20.52_AM](/uploads/84a106f949b5e682c33ca03bbfb637e6/Screen_Shot_2021-07-16_at_8.20.52_AM.png) - We'll likely want to have new timeline items trigger notifications, just as new comments do on issues. - The design specifies that we will automatically add some system notes to the timeline. But, we may need some additional discussion to clarify _which_ system notes will be included, and which excluded. - Longer-term, we'll want people to be able to add/edit simultaneously. We'll likely need additional technical investigation to see if this will be possible for the MVC, or if we need to have a less complicated version of this functionality for a first pass. - Since we're introducing a second "edit" functionality on incidents, we should ensure the existing "edit" button (which only impacts the summary tab) is hidden when people switch to any other tabs. - The [slash command](https://gitlab.com/groups/gitlab-org/-/uploads/e2156453ad4a19ceeeb35c9cf37c49ae/Slash_command.png) is a nice-to-have addition, but not required for the MVC. - When we build this, we'll need to reconsider the naming of our older "timeline view" functionality. We should, at the very least, update the "timeline view" tooltip when this new timeline is introduced: ![Old_timeliine_featire](/uploads/6178e53c48a6ee3add057b7316a2ec47/Old_timeliine_featire.png) ### Release Notes To be filled
epic