Skip to content

Automation Tracking Issue 3.10

Created by: mrnugget

RFC 42: Find and replace code across multiple repositories using Comby

Link to RFC 42

Frontend & Backend

Backend

Frontend

  • Add snapshot tests
  • Render campaign description as markdown (in client) @eseliger
  • Add dropdown and Monaco editor to CampaignDetails form for the CampaignPlanSpecification
  • Add "Preview" button that triggers a preview, show the planned changesets
    • ChangesetList made to work for ExternalChangeset | ChangesetPreview
  • Cancel the previous preview with switchMap
  • Show preview progress with a loading spinner
  • Show errors
  • Add diff preview using diff components as a tab next to "Changesets"

Internal User Testing

  • Test the user flow with a colleague at Sourcegraph

Leftover from 3.9

  • Only "update" a changeset when it actually changed.
  • Support Bitbucket Server changeset events
    • Add ChangesetEvents for Bitbucket Server (requires fetching /activities for Bitbucket Server changesets) @tsenart
    • Update CHANGELOG to mention additional requests done by repo-updater to sync A8N data and to warn about its current limits of scalability / potential impact on code host when used beyond a certain scale.
    • Incorporate Bitbucket Server ChangesetEvents into burndown chart API
  • Bitbucket Server webhooks (RFC)
  • Making "adding changesets" work if changesets have been created before. See comment and this issue

Stretch-Goals

  • Rename campaign.{name,description} to campaign.{title,body}
  • Shows status of all changesets in the campaign and allow querying/filtering by the following fields
    • Show "open/merged/closed"
    • Show "review status"
    • Show "commit statuses"
    • Show "labels"
    • Filtering fields via GraphQL API
      • Filter by "open/merged/closed"
      • Filter by "commit statuses"
      • Filter by "review status"
      • Filter by "labels"
  • Show the combined event timeline from all changesets
    • GraphQL schema
    • Show comments
    • Show approvals
  • Show the set of participants involved in the campaign
    • GraphQL schema