Automation Tracking Issue 3.9: Going from RFC 28 to RFC 20
Created by: mrnugget
RFCs for context
-
RFC 28
: https://docs.google.com/document/d/1J9uGV4v6Y2SHC2iPWDMCzppSLqZtNTEWQLV8qxzNgzs/edit# -
RFC 20
: https://docs.google.com/document/d/1UY9B_kLlwRtYj-fuv7XZS1-Mu99Czx9Ojm7sgEmoQIA/edit -
RFC 20 Appendix
: https://docs.google.com/document/d/1fbO0SdqL50aotmVCkUvOmtsgn2aUV-RphINwLcT9vuY/edit# -
RFC 20 API
: https://docs.google.com/document/d/1bf4jfFczn7Vi2m0ecy-8P8Mzv2UX5AAA4OAvg6wNMQU/edit
Deferred to 3.10
Note: These items are not prioritized yet
-
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) -
Incorporate Bitbucket Server ChangesetEvents
into burndown chart API -
Bitbucket Server webhooks (RFC)
-
-
Show the combined diff of all changesets in a campaign (nice to have: with diff/commit comments shown inline) - See schema defined in #5850
-
Making "adding changesets" work if changesets have been created before. See comment and this issue -
Rename campaign.{name,description}
tocampaign.{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 -
Show comments -
Show approvals
-
-
Show the set of participants involved in the campaign
Planned Work
Improve syncing after RFC 20 implementation
-
Create an enterprise version of repo-updater
where changesets are synced. (https://github.com/sourcegraph/sourcegraph/pull/5755) -
"Solve" rate limiting/polling/multiple resources (not just single pull request) etc. for syncing -
GitHub webhooks #5913
-
Support another codehost
The idea is to "go wide" to validate the assumptions we made while adding support for GitHub and GitHub pull requests. See this Slack message for context.
-
Add Bitbucket Server Support (PR: https://github.com/sourcegraph/sourcegraph/pull/5768)
Extend Campaign/Changeset management
-
Allow editing of the campaign title and description (https://github.com/sourcegraph/sourcegraph/pull/5698 -
A campaign can be deleted from the UI -
Frontend: Pagination campaigns (#5925) / changesets (@felixfbecker) -
Show a burndown chart over time of the count of changesets in the campaign that are closed, merged, open, open+unmerged+ready -
Think of GraphQL schema @felixfbecker #5847 -
Add ChangesetEvents
for GitHub #5834 -
Add burndown chart GraphQL API #5895 -
Add frontend component to make use of burndown chart API
-
Questions
- Question for Quinn: what problem does the event timeline solve?
- What things can already be worked on in the frontend, while backend implements APIs? For example: extension API
- Deletion of external services:
- Do we need to care about thisyet?
- What should happen to changesets when an external service is deleted?
- Changeset deletion: when do we delete changesets that are not connected a campaign?