Skip to content

Start Work operation in Home view #3621

@justinrobots

Description

@justinrobots

Figma Flow Diagram

Add a "Start work" button to the Home view that opens a quick pick to initiate different flows for starting work (creating a branch).

Users should be able to create a branch, create a branch on a worktree (pro), and do either of those from an issue on a connected service (e.g, create a branch from a Jira issue).

New branches associated with issues will follow whatever naming conventions the service (e.g, Jira) requires to associate them.

  • if users have specific autolinks setup to make these associations, we may want to consider those when creating branches for issues.

Roadmap

  • ✅ collect GitHub issues

  • ✅ if we don't have an issue integration, suggest user to connect it. (can we have many issue providers? I believe, yes).

  • ✅ build compatible branch name based on issue title and id

  • ✅ Remove "read more about start work" section from "connect integrations" step:

  • ✅ when user selects a GitHub issue, highlight the corresponding repository on the "select repo" step

  • feature gate:

  • ✅ let user create a branch without selecting an issue (just send them to "create-branch" flow)

  • ✅ Jira issues

  • ❌ (not valid anymore because that step has been removed, correct?) Once you select an issue, in the next step, the description line at the top sometimes doesn't look great because it renders much of the HTML stuff as plain text. However, the HTML is rendered very well on hover, which we would like to preserve. Eric suggested, to keep both, that we put a generic line like "Created by x days ago" at the top of the description, then pad with a blank line, then can put the rest of the description. That should give us a better-looking and consistent description line in that step but also keep the HTML for the hover tooltip.

  • ✅ filter Jira on free account

  • ✅ Remove "create-branch" icon

  • ✅ Make "Start Work" button open the "Start Work" quickpick

  • ✅ fix wording

  • ✅ filter issues to the current repo

  • ✅ If I don't have integrations connected, when using the command, it immediately shows the "connect integration" step. This step should only show after I choose one of the "from an issue" options in the initial step.

Follow-ups

Developer's testing

Connection Flow

Pre. steps:

  • disconnect Jira on GK-dev
  • disconnect GitHub integration in GitLens

Flow when user connects something:

  • Open Start Work. Select "create from issue"
  • Click "Connect". Pass through the flow on the website.
  • Get back to GitLens
  • Expected result: You continue with issues.

Flow when user doesn't connect anything:

  • Open Start Work. Select "create from issue"
  • Click "Connect". Pass through the flow on the website.
  • Right before getting back to GitLens open the GK-dev settings in another browser tab
  • Disconnect GitHub there.
  • Get back to the "connect flow" browser tab and from there get back to GitLens
  • Expected result:
    • the quickpick stays on the "Connect" step
    • the loader of the step stops until you click the item again.

Loading issues responsiveness

  • Open Start Flow
  • Select "create from an issue"

Expected result:

  • It switches the quickpick step immediately and starts loading issues

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions