Decide what to do when an issue/MR has several team labels
In https://gitlab.com/gitlab-org/quality/triage-ops/issues/201, we added stage/group labels based on the team labels of an issue/MR. We only did that when the issue/MR had a single team label. We should decide what we want to do in the case an issue/MR has more than one team label: - Choose the first team label applied? - Choose the last team label applied? - Ask the author to pick one? - Use the "intelligent" inference (using category/feature labels to deduce the stage/group labels)? - Something else? ## Plan For ~"Create [DEPRECATED]", ~"Plan [DEPRECATED]", ~"Manage [DEPRECATED]" (843) * [x] Apply a devops:: label if there is only one of these legacy team label present (63) * [ ] Can category labels be used without Legacy team labels to apply a stage/group label? * [ ] Solicit feedback from Product Managers on arbitrary plan. * [ ] Apply rules for combinations of remaining labels - https://docs.google.com/spreadsheets/d/1ezTC9SsC0PH8ski6BxpufVCpWeynvih6n7XsAzJEUhQ/edit#gid=0 * [ ] ~"Manage [DEPRECATED]" + ~"Create [DEPRECATED]" = ~"devops::create" (636 Issues) * [ ] ~"Manage [DEPRECATED]" + ~"Plan [DEPRECATED]" = ~"devops::plan" (10 Issues) * [ ] ~"Create [DEPRECATED]" + ~"Plan [DEPRECATED]" = ~"devops::create" (119 issues) * [x] ~"Create [DEPRECATED]" + ~"Plan [DEPRECATED]" + ~"Manage [DEPRECATED]" = ~"devops::create" (15 issues) - completed with https://gitlab.com/gitlab-org/quality/triage-ops/issues/399#note_293850753 * [ ] Record which issues were labelled with the new devops:: labels based on rules * [ ] Delete ~"Create [DEPRECATED]" ~"Plan [DEPRECATED]" ~"Manage [DEPRECATED]" labels ## Data from @markglenfletcher ### Affected issues and MRs #### Multiple legacy labels present Number of issues and MRs for CE in the state with multiple legacy label with no stage label present: | Legacy Label | Number open issues | Number merged MRs | Number open MRs | | ------ | ------ | ------ | ------ | | ~Create | 1111 | 35 | 4 | | ~Plan | 344 | 23 | 4 | | ~Secure | 1 | 5 | 0 | | ~Configure | 8 | 8 | 0 | | ~Verify | 11 | 13 | 2 | | ~Release | 7 | 10 | 1 | | ~Monitor | 1 | 6 | 1 | | ~Manage | 896 | 17 | 0 | | ~Package | 2 | 1 | 0 | > Items are counted once for each legacy label they have. For example, an issue with ~Create and ~Plan will be counted in both ~Create and ~Plan tally This appears to be a much bigger problem for issues where multiple legacy labels are applied. I think we will need to check these resources to determine the correct stage label to apply, unless we can infer based on other data present such as: - author (for MRs) - category labels (for issues) However, many of these merged MRs are old (we are considering all merged MRs) and the author may have moved to another group since. ## Data from @rymai as of 2019-08-08 I've pushed a dedicated branch to gather the numbers: - open issues and MRs: https://gitlab.com/gitlab-org/quality/triage-ops/-/jobs/269023463 - merged MRs: https://gitlab.com/gitlab-org/quality/triage-ops/-/jobs/269249834 ### Affected issues and MRs #### Multiple legacy labels present Number of issues and MRs for CE in the state with multiple legacy label with no stage label present: | Legacy Label | Number open issues | Number merged MRs | Number open MRs | | ------ | ------ | ------ | ------ | | ~Manage | 687 | 19 | 0 | | ~Plan | 155 | 27 | 3 | | ~Create | 786 | 36 | 3 | | ~Verify | 4 | 11 | 2 | | ~Package | 0 | 1 | 0 | | ~Release | 1 | 8 | 1 | | ~Configure | 3 | 13 | 0 | | ~Serverless | 0 | 6 | 0 | | ~Monitor | 1 | 7 | 0 | | ~Secure | 0 | 3 | 0 | | ~Defend | 0 | 0 | 0 | | ~Growth | 2 | 6 | 0 | | ~Gitaly | 6 | 41 | 1 | | ~Gitter | 3 | 0 | 0 | | ~Distribution | 3 | 6 | 0 | | ~Geo | 2 | 18 | 0 | | ~Memory | 1 | 1 | 1 | | ~Ecosystem | 0 | 0 | 0 | Note: 1. Since ~"group::gitaly" is under ~"devops::create" (https://about.gitlab.com/handbook/product/categories/#gitaly-group), the issues/MRs that have ~Gitaly and ~Create can be assigned ~"group::gitaly" and ~"devops::create" safely. 1. Since ~"group::serverless and paas" is under ~"devops::configure" (https://about.gitlab.com/handbook/product/categories/#serverless--paas-group), the issues/MRs that have ~Serverless and ~Configure can be assigned ~"group::serverless and paas" and ~"devops::configure" safely. 1. Some MRs have ~"Category::Continuous Integration", ~"Verify" and another team label. In those cases I think it's safe to assign ~"devops::verify" and ~"group::continuous integration". 1. Some MRs have ~"Cloud Native", ~"Distribution" and another team label ~"Release". In those cases I think it's safe to assign ~"devops::enablement" and ~"group::distribution" . ## Data from @rymai as of 2019-08-19 I've pushed a dedicated branch to gather the numbers: https://gitlab.com/gitlab-org/quality/triage-ops/-/jobs/275261491 ### Affected issues and MRs #### Multiple legacy labels present Number of issues and MRs for CE in the state with multiple legacy label with no stage label present: | Legacy Label | Number open issues | Number merged MRs | Number open MRs | | ------ | ------ | ------ | ------ | | ~"Manage [DEPRECATED]" | 690 | 1 | 0 | | ~"Plan [DEPRECATED]" | 143 | 1 | 3 | | ~"Create [DEPRECATED]" | 788 | 4 | 3 | | ~"Verify [DEPRECATED]" | 3 | 11 | 2 | | ~"Package [DEPRECATED]" | 0 | 1 | 0 | | ~"Release [DEPRECATED]" | 1 | 8 | 1 | | ~"Configure [DEPRECATED]" | 3 | 13 | 0 | | ~"Serverless [DEPRECATED]" | 0 | 6 | 0 | | ~"Monitor [DEPRECATED]" | 0 | 5 | 1 | | ~"Secure [DEPRECATED]" | 0 | 2 | 0 | | ~"Defend [DEPRECATED]" | 0 | 0 | 0 | | ~"Growth [DEPRECATED]" | 1 | 6 | 0 | | ~"Gitaly [DEPRECATED]" | 0 | 1 | 1 | | ~"Gitter [DEPRECATED]" | 0 | 0 | 0 | | ~"Distribution [DEPRECATED]" | 2 | 3 | 0 | | ~"Geo [DEPRECATED]" | 1 | 4 | 0 | | ~"Memory [DEPRECATED]" | 0 | 1 | 1 | | ~"Ecosystem [DEPRECATED]" | 0 | 0 | 0 | Note: Most of the open issues are: 1. ~"Create [DEPRECATED]" 1. ~"Manage [DEPRECATED]" 1. ~"Plan [DEPRECATED]" Breadown is as follows: - 903 ~"Create [DEPRECATED]" + ~"Manage [DEPRECATED]" - 322 ~"Create [DEPRECATED]" + ~"Plan [DEPRECATED]" - 108 ~"Manage [DEPRECATED]" + ~"Plan [DEPRECATED]" ## Data from @rymai as of 2020-02-18 I've pushed a dedicated MR (https://gitlab.com/gitlab-org/quality/triage-ops/-/merge_requests/417) to gather the numbers: https://gitlab.com/gitlab-org/quality/triage-ops/-/jobs/441360121 ### Affected issues and MRs #### Multiple legacy labels present Number of issues and MRs for `gitlab-org/gitlab` in the state with multiple legacy label with no stage label present: | Legacy Label | Number open issues | Number merged MRs | Number open MRs | | ---------------------------- | --- | -- | - | | ~"Manage [DEPRECATED]" | 656 | 20 | 0 | | ~"Plan [DEPRECATED]" | 141 | 13 | 0 | | ~"Create [DEPRECATED]" | 763 | 10 | 0 | | ~"Verify [DEPRECATED]" | 1 | 6 | 0 | | ~"Package [DEPRECATED]" | 0 | 1 | 0 | | ~"Release [DEPRECATED]" | 0 | 1 | 0 | | ~"Configure [DEPRECATED]" | 1 | 8 | 0 | | ~"Serverless [DEPRECATED]" | 0 | 1 | 0 | | ~"Monitor [DEPRECATED]" | 0 | 7 | 0 | | ~"Secure [DEPRECATED]" | 0 | 4 | 0 | | ~"Defend [DEPRECATED]" | 0 | 0 | 0 | | ~"Growth [DEPRECATED]" | 0 | 19 | 0 | | ~"Gitaly [DEPRECATED]" | 0 | 2 | 0 | | ~"Gitter [DEPRECATED]" | 0 | 0 | 0 | | ~"Distribution [DEPRECATED]" | 1 | 1 | 0 | | ~"Geo [DEPRECATED]" | Label has been deleted already. | N/A | N/A | | ~"Memory [DEPRECATED]" | 0 | 0 | 0 | | ~"Ecosystem [DEPRECATED]" | Label has been deleted already. | N/A | N/A | Note: Most of the open issues are: 1. ~"Create [DEPRECATED]" 1. ~"Manage [DEPRECATED]" 1. ~"Plan [DEPRECATED]" Breakdown of the top label pairs is as follows for open issues: - 1266 ~"Create [DEPRECATED]" + ~"Manage [DEPRECATED]" - 266 ~"Create [DEPRECATED]" + ~"Plan [DEPRECATED]" - 59 ~"Manage [DEPRECATED]" + ~"Plan [DEPRECATED]" ## Data from @rymai as of 2021-01-19 I've pushed a dedicated MR (https://gitlab.com/gitlab-org/quality/triage-ops/-/merge_requests/417) to gather the numbers: https://gitlab.com/gitlab-org/quality/triage-ops/-/jobs/972608141 ### Affected issues and MRs #### Multiple legacy labels present Number of issues and MRs for `gitlab-org/gitlab` in the state with multiple legacy label with no stage label present: | Legacy Label | Number open issues | | ---------------------------- | --- | | ~"Manage [DEPRECATED]" | 523 | | ~"Plan [DEPRECATED]" | 108 | | ~"Create [DEPRECATED]" | 613 | ## Data from @rymai as of 2024-07-25 I've pushed a dedicated MR (https://gitlab.com/gitlab-org/quality/triage-ops/-/merge_requests/2956) to gather the numbers: https://gitlab.com/gitlab-org/quality/triage-ops/-/jobs/7428520784 ### Affected issues and MRs #### Multiple legacy labels present Number of issues and MRs for `gitlab-org/gitlab` in the state with multiple legacy label with no stage label present: | Legacy Label | Number open issues | | ---------------------------- | --- | | ~"Manage [DEPRECATED]" | 267 | | ~"Plan [DEPRECATED]" | 64 | | ~"Create [DEPRECATED]" | 327 |
issue