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

Feature request: Load new labels if label set changes #8695

Open
FWDekker opened this issue Oct 26, 2019 · 2 comments
Open

Feature request: Load new labels if label set changes #8695

FWDekker opened this issue Oct 26, 2019 · 2 comments
Labels
issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented type/feature Completely new functionality. Can only be merged if feature freeze is not active.

Comments

@FWDekker
Copy link
Contributor

After having loaded a predefined label set into a repo, I would like to be able to "sync" changes with this or other label sets if the predefined label set changes.

Motivation

I have a few use cases in mind that I have encountered multiple times myself.

  1. If I discover that my predefined label set is missing a useful label, then all repositories that used this predefined label set will be missing this label as well. I want to be able to add this label to the predefined label set, and then press a few buttons in each affected repository to import the new label from the updated predefined label set.
    • A related scenario is if I create a whole new predefined label set. Imagine that I currently have labels such as "bug", "feature", "on-hold", and so on, and now I create a new label set with labels such as "QA/Windows", "QA/Ubuntu", "QA/macOS" and so on. It would be great if I could import all labels from this new label set with the press of a button.
  2. If I discover that a label description is too vague, I will have to copy-paste an updated description to all repos that used this label set. This is bothersome. Instead, I want to be able to update the description in my predefined label set and then press a few buttons in the affected repositories to automatically update the description of this label.

Implementation

While it might be possible to implement a full-fledged synchronisation system that detects label renaming and allows label set merging and so on, I think this is overkill for most use cases. I would imagine the system to work something like this:

  1. On the "labels" page of a repository, I can click a button "Import Labels", located next to the "New Label" button.
  2. I get a dropdown box with a list of all predefined label sets, similar to what a user would see if they go to the "labels" page of a repository that does not have labels yet.
  3. After selecting a label set, a list of all labels in the predefined label set appears. The user can select any number of labels from this list and can then press the "Import" button at the bottom.
  4. Selected labels that do not yet exist in the repo are added to the repository. Selected labels that already exist in the repo have their colour and description updated to the version in the predefined label set.

For a good UX I can imagine that the following would also be useful:

  1. In the list of labels from step 3:
    • labels that are the same in the repo and the label set are greyed out and a message is displayed saying "this label already exists in the repo",
    • labels that already exist but have a different colour or description have extra information that shows what the current description and colour are and what they would become if this label were added,
    • and labels that do not exist yet have a message saying "this label does not exist in the repo".
  2. A confirmation message appears in between step 3 and 4 detailing exactly what will change if the user confirms their decision: Which labels will be added and which labels will be updated?

Thank you for reading! Critique and questions are much appreciated.

@stale
Copy link

stale bot commented Dec 25, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

@stale stale bot added the issue/stale label Dec 25, 2019
@zeripath zeripath added the type/feature Completely new functionality. Can only be merged if feature freeze is not active. label Dec 25, 2019
@stale stale bot removed the issue/stale label Dec 25, 2019
@zeripath zeripath added issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented issue/stale labels Dec 25, 2019
@stale stale bot removed the issue/stale label Dec 25, 2019
@genti
Copy link

genti commented Mar 8, 2023

any update on this feature?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue/confirmed Issue has been reviewed and confirmed to be present or accepted to be implemented type/feature Completely new functionality. Can only be merged if feature freeze is not active.
Projects
None yet
Development

No branches or pull requests

3 participants