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