Commit 29bccc1f authored by James Lopez's avatar James Lopez

Merge branch '213567-feature-flag-remove-save_issuable_health_status-flag' into 'master'

Remove save_issuable_health_status feature flag

See merge request gitlab-org/gitlab!49743
parents 7b0ab75a 3d63db3f
......@@ -8383,7 +8383,7 @@ type EpicIssue implements CurrentUserTodos & Noteable {
epicIssueId: ID!
"""
Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.
Current health status.
"""
healthStatus: HealthStatus
......@@ -11154,7 +11154,7 @@ type Issue implements CurrentUserTodos & Noteable {
epic: Epic
"""
Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.
Current health status.
"""
healthStatus: HealthStatus
......
......@@ -23462,7 +23462,7 @@
},
{
"name": "healthStatus",
"description": "Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.",
"description": "Current health status.",
"args": [
],
......@@ -30725,7 +30725,7 @@
},
{
"name": "healthStatus",
"description": "Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.",
"description": "Current health status.",
"args": [
],
......@@ -1435,7 +1435,7 @@ Relationship between an epic and an issue.
| `emailsDisabled` | Boolean! | Indicates if a project has email notifications disabled: `true` if email notifications are disabled |
| `epic` | Epic | Epic to which this issue belongs. |
| `epicIssueId` | ID! | ID of the epic-issue relation |
| `healthStatus` | HealthStatus | Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. |
| `healthStatus` | HealthStatus | Current health status. |
| `humanTimeEstimate` | String | Human-readable time estimate of the issue |
| `humanTotalTimeSpent` | String | Human-readable total time reported as spent on the issue |
| `id` | ID | Global ID of the epic-issue relation |
......@@ -1751,7 +1751,7 @@ Represents a recorded measurement (object count) for the Admins.
| `dueDate` | Time | Due date of the issue |
| `emailsDisabled` | Boolean! | Indicates if a project has email notifications disabled: `true` if email notifications are disabled |
| `epic` | Epic | Epic to which this issue belongs. |
| `healthStatus` | HealthStatus | Current health status. Returns null if `save_issuable_health_status` feature flag is disabled. |
| `healthStatus` | HealthStatus | Current health status. |
| `humanTimeEstimate` | String | Human-readable time estimate of the issue |
| `humanTotalTimeSpent` | String | Human-readable total time reported as spent on the issue |
| `id` | ID! | ID of the issue |
......
......@@ -79,14 +79,10 @@ to:
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/199184) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10.
> - The health status of a closed issue [is hidden](https://gitlab.com/gitlab-org/gitlab/-/issues/220867) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.3 or later.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/213567) in GitLab 13.7.
Report or respond to the health of issues and epics by setting a red, amber, or green [health status](../../project/issues/index.md#health-status), which then appears on your Epic tree.
### Disable Issue health status in Epic tree
This feature comes with a feature flag enabled by default. For steps to disable it, see
[Disable issue health status](../../project/issues/index.md#disable-issue-health-status).
## Multi-level child epics **(ULTIMATE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/8333) in GitLab Ultimate 11.7.
......
......@@ -4,7 +4,7 @@ group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
# Issues
# Issues **(CORE)**
Issues are the fundamental medium for collaborating on ideas and planning work in GitLab.
......@@ -191,6 +191,7 @@ requires [GraphQL](../../../api/graphql/index.md) to be enabled.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/36427) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.10.
> - Health status of closed issues [can't be edited](https://gitlab.com/gitlab-org/gitlab/-/issues/220867) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.4 and later.
> - Issue health status visible in issue lists [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45141) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.6.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/213567) in GitLab 13.7.
To help you track the status of your issues, you can assign a status to each issue to flag work
that's progressing as planned or needs attention to keep on schedule:
......@@ -207,16 +208,6 @@ until the issue is reopened.
You can then see issue statuses in the [issue list](#issues-list) and the
[Epic tree](../../group/epics/index.md#issue-health-status-in-epic-tree).
#### Disable issue health status
This feature comes with the `:save_issuable_health_status` feature flag enabled by default. However, in some cases
this feature is incompatible with old configuration. To turn off the feature while configuration is
migrated, ask a GitLab administrator with Rails console access to run the following command:
```ruby
Feature.disable(:save_issuable_health_status)
```
## Other Issue actions
- [Create an issue from a template](../../project/description_templates.md#using-the-templates)
......
......@@ -22,7 +22,7 @@ module EE
description: 'Count of issues blocking this issue.'
field :health_status, ::Types::HealthStatusEnum, null: true,
description: 'Current health status. Returns null if `save_issuable_health_status` feature flag is disabled.'
description: 'Current health status.'
field :status_page_published_incident, GraphQL::BOOLEAN_TYPE, null: true,
description: 'Indicates whether an issue is published to the status page.'
......
......@@ -15,8 +15,7 @@ module HealthStatus
override :supports_health_status?
def supports_health_status?
return false if incident?
return false unless resource_parent&.feature_available?(:issuable_health_status)
::Feature.enabled?(:save_issuable_health_status, resource_parent.try(:group), default_enabled: true)
resource_parent&.feature_available?(:issuable_health_status)
end
end
---
name: save_issuable_health_status
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24202
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/213567
milestone: '12.8'
type: development
group: group::product planning
default_enabled: true
......@@ -116,17 +116,6 @@ RSpec.describe 'Issue Sidebar' do
expect(page).not_to have_selector('.block.health-status')
end
end
context 'when health status feature flag is disabled' do
it 'does not show health status on sidebar' do
stub_licensed_features(issuable_health_status: true)
stub_feature_flags(save_issuable_health_status: false)
visit_issue(project, issue)
expect(page).not_to have_selector('.block.health-status')
end
end
end
context 'Iterations', :js do
......
......@@ -12,22 +12,15 @@ RSpec.describe HealthStatus do
before do
stub_licensed_features(issuable_health_status: issuable_health_status)
stub_feature_flags(save_issuable_health_status: save_issuable_health_status)
end
where(:issuable_type, :issuable_health_status, :save_issuable_health_status, :supports_health_status) do
:issue | true | true | true
:issue | false | false | false
:issue | false | true | false
:issue | true | false | false
:incident | true | true | false
:incident | false | false | false
:incident | false | true | false
:incident | true | false | false
:merge_request | true | true | false
:merge_request | false | false | false
:merge_request | false | true | false
:merge_request | true | false | false
where(:issuable_type, :issuable_health_status, :supports_health_status) do
:issue | true | true
:issue | false | false
:incident | true | false
:incident | false | false
:merge_request | true | false
:merge_request | false | false
end
with_them do
......
......@@ -17,14 +17,6 @@ RSpec.shared_examples 'updating issuable health status' do
stub_licensed_features(issuable_health_status: true, epics: true)
end
context 'when feature flag is disabled' do
it 'does not update issuable' do
stub_feature_flags(save_issuable_health_status: false)
expect { service.execute(issuable) }.not_to change { issuable.health_status }
end
end
context 'when user has reporter permissions' do
before do
issuable.resource_parent.add_reporter(current_user)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment