Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync milestones <> cycles #42

Merged
merged 25 commits into from Jan 13, 2023
Merged

Sync milestones <> cycles #42

merged 25 commits into from Jan 13, 2023

Conversation

tedspare
Copy link
Collaborator

@tedspare tedspare commented Dec 9, 2022

Summary

  • 1:1 sync of Linear cycles and GitHub milestones

Test Plan

  • Create Linear cycle in synced team. Ensure milestone is created with same title, description, open state (unless past endsAt), and link in footer.
  • Edit Linear cycle title, description, and state. Ensure milestone is synced.
  • Create GH milestone in synced repo. Ensure Linear cycle is created with same title, description, and end date.
  • Edit milestone title and description. Ensure cycle reflects changes.
  • Mark milestone as completed. Ensure cycle endsAt date is set to today.

TODO:

  • Auto-update webhooks to include milestone/project events
  • Synced ticket added to synced cycle <> synced milestone assigned to synced issue

Related Issues

Closes #5

@tedspare tedspare added the enhancement New feature or request label Dec 9, 2022
@tedspare tedspare self-assigned this Dec 9, 2022
@PeerRich
Copy link
Member

PeerRich commented Dec 9, 2022

lets goo

@scopsy
Copy link
Contributor

scopsy commented Dec 11, 2022

A small question here, why not syncing linear milestones to linear milestone?

I know this is maybe how we work, but we have milestones for version releases that work as follow:
For example a v0.9.0 milestone is a milestone on both Linear and GitHub, we then have multiple projects associated to each milestones.

GitHub doesn't really have a similar of "Epics" or "Projects" Today we just create another Issue for those marked as "Tracking" or "Epic".

Syncing projects to milestones won't work for us, so having a way to disable it would be great

@scopsy
Copy link
Contributor

scopsy commented Dec 11, 2022

Sorry, they are called Roadmaps in Linear now (they renamed it recently)
CleanShot 2022-12-11 at 20 03 29@2x

CleanShot 2022-12-11 at 20 07 12@2x

@tedspare
Copy link
Collaborator Author

tedspare commented Dec 16, 2022

Hey @scopsy - valid concern, @PeerRich and I have been looking for a solution.

How hard would it be for your team to switch to using Linear Projects for releases? What about mapping Cycles <> Milestones?

@scopsy
Copy link
Contributor

scopsy commented Dec 18, 2022

Hi @tedspare seems like you need to enable roadmaps in settings.
Projects are not quite feasible for us since we usually have a few big projects running, and we organize them with owners and etc...

Cycles might work for us, but only because we work in the shapeup method with quite a large cycle. I believe most teams working in classical sprints.

CleanShot 2022-12-18 at 14 56 42@2x

@PeerRich
Copy link
Member

PeerRich commented Dec 18, 2022

lets merge this for "cycles" and we can later add a dropdown select where github milestones should sync to

@scopsy
Copy link
Contributor

scopsy commented Dec 18, 2022

Sounds good, but would be great if this could be somehow disabled even with an env variable, because it will auto sync for us things in a not expected way 🙏

@PeerRich
Copy link
Member

whats missing for this to go live?

@tedspare tedspare changed the title Sync milestones Sync milestones <> cycles Jan 11, 2023
@tedspare tedspare marked this pull request as ready for review January 12, 2023 17:45
@tedspare
Copy link
Collaborator Author

Hey @scopsy would you be open to reviewing this? It's opt-in to sync cycles <> milestones.

@scopsy
Copy link
Contributor

scopsy commented Jan 13, 2023

Looks fantastic @tedspare!

@PeerRich
Copy link
Member

@scopsy can you review the code and approve?

Copy link
Collaborator Author

@tedspare tedspare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed:

  • Removed some unused code
  • Prevented an infinite loop of milestone/cycle assignment

@tedspare tedspare merged commit 571665a into main Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

sync milestones
3 participants