Skip to content
GitLab Next
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 43,816
    • Issues 43,816
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,446
    • Merge requests 1,446
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #334812
Closed
Open
Created Jun 29, 2021 by Christen Dybenko@cdybenkoDeveloper13 of 16 tasks completed13/16 tasks

Create a new Task w/ Title

Problem to solve

Customer Value

  • because they are missing "Task" type issues, they are currently modelling user stories as epics and use issues only for Tasks
  • consequence is that they can't use milestones and burn-down charts or iterations for user stories, which isn't ideal
  • this also is an issue in Value Stream Analytics, because it works with issues, not epics
  • tried using Epics for OKRs as well, but that does not work well for cross-cutting (cross group) initiative

Goal: Improve the user task success and satisfaction scores for the process of creating children of user stories by a minimum of 40%.

Note: Because we do not have parent/child relationships on issues yet, Task will have a link type of related for this MVC.

Internal Value

  • Incrementally iterate on new, single FE Vue App as part of the longer-term strategy to pay down product and technical debt on the exiting issue view.
  • Incrementally, iteratively work towards the goals of the Work Items Initiative

Proposal

Convert a markdown taskable to issue of type Task with link type of related from within the existing issue detail view. Prevent tasks from being created through the current issue creation flow.

UX Screens

View recording of prototype here:
Screen_Recording_2022-01-18_at_11.26.53_AM

Steps noted:

  • User hovers (desktop) or taps (mobile) on the MD list item and seen an option to "Convert to work item"
  • Selecting this option launches a modal with an editable version of the title and type. Also shown here is Weight and Assignee (are these MVC?)
  • Saving as-is makes the task convert to a work item with a badge showing the type
  • Work item is added as a Related item

QUESTION: Have we designed any error states / toasts / user feedback when an error happens for the new work item UI? We'll need that for this issue if there is an error when creating the issue.

Acceptance Criteria

  • Clicking on a button next to a markdown taskable opens the new work item modal/sidebar (create mode).
  • The title is prefilled with the text string from the markdown taskable.
  • The title can be changed from within the modal before clicking create.
  • Successfully creating the task closes the modal and replaces the markdown taskable plain text with a GFM reference to the issue of type Task.
  • Clicking cancel or clicking out of the modal cancels the creation process and closes the modal/sidebar.
  • If there is an error when creating, the Task detail view provides context to the user.
  • Styled appropriately for Mobile and Desktop.
  • Snowplow tracking implemented

Permissions and Security

  • Same permissions as existing issue permissions.

Documentation

  • Yes

Testing

  • E2E test for converting markdown taskable to issue of type Task

What does success look like, and how can we measure that?

  • Count of Task created weekly/monthly
  • Count of MAU creating Task weekly/monthly

FE Event Trackers

Structured event taxonomy: https://docs.gitlab.com/ee/development/snowplow/#structured-event-taxonomy

When the "convert to task" button is clicked:

category: workItems:show
label: work_item_create
action: click_markdown_taskable_create_button
property: [type_{{insert issue type}}]

Note: [type_{{insert issue type}}] is intended to future proof this tracker a bit as we will likely allow the selection of type prior to the modal/sidebar at some point in the future. We can hard code this for now if we remember to update it when/if this happens later 😄

When the work item is successfully created. Do not fire event until success from server:

category: workItems:new
label: work_item_create
action: create_work_item_success
property: [work_item_type_{{insert issue type}}]

When the work item creation process is cancelled (clicking cancel OR mousing out):

category: workItems:new
label: work_item_create
action: create_work_item_cancelled
property: [work_item_type_{{insert issue type}}]

Implementation Steps

MR 1, UI:

  • Add button to Convert to Task
  • Make button open modal/sidebar with new work item detail view (create mode)
  • Prefill title with text from markdown taskable and auto-focus keyboard/cursor on the title input
  • Clicking out of the modal/sidebar before creation cancels the process
  • Click cancel in the modal/sidebar cancels the process

This part will require a bit of refactoring on the router logic on create view. Instead of redirecting to the previous route, we'll need to close the "sidebar modal"

MR 2, working with API:

  • Click create uses the createWorkItem mutation
  • After creation, replace the markdown taskable text in the description with a GFM issue reference to the newly created Task.
  • Provide a way for the user to understand any errors if they happen when clicking create.

Currently, the Create view already utilizes gl-alert component to show an error on createWorkItem mutation.

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited Feb 22, 2022 by Natalia Tepluhina
Assignee
Assign to
Time tracking