Commit 046f6c4f authored by Jan Provaznik's avatar Jan Provaznik

Merge branch 'bvl-update-feature-categories' into 'master'

Update feature categories

See merge request gitlab-org/gitlab!73059
parents 772e44a3 543e66c6
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
class Admin::LabelsController < Admin::ApplicationController class Admin::LabelsController < Admin::ApplicationController
before_action :set_label, only: [:show, :edit, :update, :destroy] before_action :set_label, only: [:show, :edit, :update, :destroy]
feature_category :issue_tracking feature_category :team_planning
def index def index
@labels = Label.templates.page(params[:page]) @labels = Label.templates.page(params[:page])
......
...@@ -5,7 +5,7 @@ class AutocompleteController < ApplicationController ...@@ -5,7 +5,7 @@ class AutocompleteController < ApplicationController
feature_category :users, [:users, :user] feature_category :users, [:users, :user]
feature_category :projects, [:projects] feature_category :projects, [:projects]
feature_category :issue_tracking, [:award_emojis] feature_category :team_planning, [:award_emojis]
feature_category :code_review, [:merge_request_target_branches] feature_category :code_review, [:merge_request_target_branches]
feature_category :continuous_delivery, [:deploy_keys_with_owners] feature_category :continuous_delivery, [:deploy_keys_with_owners]
......
...@@ -21,7 +21,7 @@ module Boards ...@@ -21,7 +21,7 @@ module Boards
before_action :validate_id_list, only: [:bulk_move] before_action :validate_id_list, only: [:bulk_move]
before_action :can_move_issues?, only: [:bulk_move] before_action :can_move_issues?, only: [:bulk_move]
feature_category :boards feature_category :team_planning
def index def index
list_service = Boards::Issues::ListService.new(board_parent, current_user, filter_params) list_service = Boards::Issues::ListService.new(board_parent, current_user, filter_params)
......
...@@ -8,7 +8,7 @@ module Boards ...@@ -8,7 +8,7 @@ module Boards
before_action :authorize_read_list, only: [:index] before_action :authorize_read_list, only: [:index]
skip_before_action :authenticate_user!, only: [:index] skip_before_action :authenticate_user!, only: [:index]
feature_category :boards feature_category :team_planning
def index def index
lists = Boards::Lists::ListService.new(board.resource_parent, current_user).execute(board) lists = Boards::Lists::ListService.new(board.resource_parent, current_user).execute(board)
......
# frozen_string_literal: true # frozen_string_literal: true
class Dashboard::LabelsController < Dashboard::ApplicationController class Dashboard::LabelsController < Dashboard::ApplicationController
feature_category :issue_tracking feature_category :team_planning
def index def index
respond_to do |format| respond_to do |format|
......
...@@ -4,7 +4,7 @@ class Dashboard::MilestonesController < Dashboard::ApplicationController ...@@ -4,7 +4,7 @@ class Dashboard::MilestonesController < Dashboard::ApplicationController
before_action :projects before_action :projects
before_action :groups, only: :index before_action :groups, only: :index
feature_category :issue_tracking feature_category :team_planning
def index def index
respond_to do |format| respond_to do |format|
......
...@@ -8,7 +8,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController ...@@ -8,7 +8,7 @@ class Dashboard::TodosController < Dashboard::ApplicationController
before_action :authorize_read_group!, only: :index before_action :authorize_read_group!, only: :index
before_action :find_todos, only: [:index, :destroy_all] before_action :find_todos, only: [:index, :destroy_all]
feature_category :issue_tracking feature_category :team_planning
def index def index
@sort = params[:sort] @sort = params[:sort]
......
...@@ -15,7 +15,7 @@ class DashboardController < Dashboard::ApplicationController ...@@ -15,7 +15,7 @@ class DashboardController < Dashboard::ApplicationController
respond_to :html respond_to :html
feature_category :users, [:activity] feature_category :users, [:activity]
feature_category :issue_tracking, [:issues, :issues_calendar] feature_category :team_planning, [:issues, :issues_calendar]
feature_category :code_review, [:merge_requests] feature_category :code_review, [:merge_requests]
def activity def activity
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
class Groups::AutocompleteSourcesController < Groups::ApplicationController class Groups::AutocompleteSourcesController < Groups::ApplicationController
feature_category :subgroups, [:members] feature_category :subgroups, [:members]
feature_category :issue_tracking, [:issues, :labels, :milestones, :commands] feature_category :team_planning, [:issues, :labels, :milestones, :commands]
feature_category :code_review, [:merge_requests] feature_category :code_review, [:merge_requests]
def members def members
......
...@@ -14,7 +14,7 @@ class Groups::BoardsController < Groups::ApplicationController ...@@ -14,7 +14,7 @@ class Groups::BoardsController < Groups::ApplicationController
push_frontend_feature_flag(:labels_widget, group, default_enabled: :yaml) push_frontend_feature_flag(:labels_widget, group, default_enabled: :yaml)
end end
feature_category :boards feature_category :team_planning
private private
......
...@@ -9,7 +9,7 @@ class Groups::LabelsController < Groups::ApplicationController ...@@ -9,7 +9,7 @@ class Groups::LabelsController < Groups::ApplicationController
respond_to :html respond_to :html
feature_category :issue_tracking feature_category :team_planning
def index def index
respond_to do |format| respond_to do |format|
......
...@@ -6,7 +6,7 @@ class Groups::MilestonesController < Groups::ApplicationController ...@@ -6,7 +6,7 @@ class Groups::MilestonesController < Groups::ApplicationController
before_action :milestone, only: [:edit, :show, :update, :issues, :merge_requests, :participants, :labels, :destroy] before_action :milestone, only: [:edit, :show, :update, :issues, :merge_requests, :participants, :labels, :destroy]
before_action :authorize_admin_milestones!, only: [:edit, :new, :create, :update, :destroy] before_action :authorize_admin_milestones!, only: [:edit, :new, :create, :update, :destroy]
feature_category :issue_tracking feature_category :team_planning
def index def index
respond_to do |format| respond_to do |format|
......
...@@ -54,7 +54,7 @@ class GroupsController < Groups::ApplicationController ...@@ -54,7 +54,7 @@ class GroupsController < Groups::ApplicationController
:destroy, :details, :transfer, :activity :destroy, :details, :transfer, :activity
] ]
feature_category :issue_tracking, [:issues, :issues_calendar, :preview_markdown] feature_category :team_planning, [:issues, :issues_calendar, :preview_markdown]
feature_category :code_review, [:merge_requests, :unfoldered_environment_names] feature_category :code_review, [:merge_requests, :unfoldered_environment_names]
feature_category :projects, [:projects] feature_category :projects, [:projects]
feature_category :importers, [:export, :download_export] feature_category :importers, [:export, :download_export]
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
class Projects::AutocompleteSourcesController < Projects::ApplicationController class Projects::AutocompleteSourcesController < Projects::ApplicationController
before_action :authorize_read_milestone!, only: :milestones before_action :authorize_read_milestone!, only: :milestones
feature_category :issue_tracking, [:issues, :labels, :milestones, :commands] feature_category :team_planning, [:issues, :labels, :milestones, :commands]
feature_category :code_review, [:merge_requests] feature_category :code_review, [:merge_requests]
feature_category :users, [:members] feature_category :users, [:members]
feature_category :snippets, [:snippets] feature_category :snippets, [:snippets]
......
...@@ -14,7 +14,7 @@ class Projects::BoardsController < Projects::ApplicationController ...@@ -14,7 +14,7 @@ class Projects::BoardsController < Projects::ApplicationController
push_frontend_feature_flag(:labels_widget, project, default_enabled: :yaml) push_frontend_feature_flag(:labels_widget, project, default_enabled: :yaml)
end end
feature_category :boards feature_category :team_planning
private private
......
...@@ -9,7 +9,7 @@ class Projects::DiscussionsController < Projects::ApplicationController ...@@ -9,7 +9,7 @@ class Projects::DiscussionsController < Projects::ApplicationController
before_action :discussion, only: [:resolve, :unresolve] before_action :discussion, only: [:resolve, :unresolve]
before_action :authorize_resolve_discussion!, only: [:resolve, :unresolve] before_action :authorize_resolve_discussion!, only: [:resolve, :unresolve]
feature_category :issue_tracking feature_category :team_planning
def resolve def resolve
Discussions::ResolveService.new(project, current_user, one_or_more_discussions: discussion).execute Discussions::ResolveService.new(project, current_user, one_or_more_discussions: discussion).execute
......
...@@ -7,7 +7,7 @@ module Projects ...@@ -7,7 +7,7 @@ module Projects
before_action :authorize_admin_issue_link!, only: [:create, :destroy] before_action :authorize_admin_issue_link!, only: [:create, :destroy]
before_action :authorize_issue_link_association!, only: :destroy before_action :authorize_issue_link_association!, only: :destroy
feature_category :issue_tracking feature_category :team_planning
private private
......
...@@ -69,7 +69,7 @@ class Projects::IssuesController < Projects::ApplicationController ...@@ -69,7 +69,7 @@ class Projects::IssuesController < Projects::ApplicationController
alias_method :designs, :show alias_method :designs, :show
feature_category :issue_tracking, [ feature_category :team_planning, [
:index, :calendar, :show, :new, :create, :edit, :update, :index, :calendar, :show, :new, :create, :edit, :update,
:destroy, :move, :reorder, :designs, :toggle_subscription, :destroy, :move, :reorder, :designs, :toggle_subscription,
:discussions, :bulk_update, :realtime_changes, :discussions, :bulk_update, :realtime_changes,
......
...@@ -14,7 +14,7 @@ class Projects::LabelsController < Projects::ApplicationController ...@@ -14,7 +14,7 @@ class Projects::LabelsController < Projects::ApplicationController
respond_to :js, :html respond_to :js, :html
feature_category :issue_tracking feature_category :team_planning
def index def index
respond_to do |format| respond_to do |format|
......
...@@ -18,7 +18,7 @@ class Projects::MilestonesController < Projects::ApplicationController ...@@ -18,7 +18,7 @@ class Projects::MilestonesController < Projects::ApplicationController
respond_to :html respond_to :html
feature_category :issue_tracking feature_category :team_planning
def index def index
@sort = params[:sort] || 'due_date_asc' @sort = params[:sort] || 'due_date_asc'
......
...@@ -11,7 +11,7 @@ class Projects::NotesController < Projects::ApplicationController ...@@ -11,7 +11,7 @@ class Projects::NotesController < Projects::ApplicationController
before_action :authorize_create_note!, only: [:create] before_action :authorize_create_note!, only: [:create]
before_action :authorize_resolve_note!, only: [:resolve, :unresolve] before_action :authorize_resolve_note!, only: [:resolve, :unresolve]
feature_category :issue_tracking feature_category :team_planning
def delete_attachment def delete_attachment
note.remove_attachment! note.remove_attachment!
......
...@@ -6,7 +6,7 @@ class Projects::TodosController < Projects::ApplicationController ...@@ -6,7 +6,7 @@ class Projects::TodosController < Projects::ApplicationController
before_action :authenticate_user!, only: [:create] before_action :authenticate_user!, only: [:create]
feature_category :issue_tracking feature_category :team_planning
private private
......
...@@ -49,7 +49,7 @@ class ProjectsController < Projects::ApplicationController ...@@ -49,7 +49,7 @@ class ProjectsController < Projects::ApplicationController
] ]
feature_category :source_code_management, [:remove_fork, :housekeeping, :refs] feature_category :source_code_management, [:remove_fork, :housekeeping, :refs]
feature_category :issue_tracking, [:preview_markdown, :new_issuable_address] feature_category :team_planning, [:preview_markdown, :new_issuable_address]
feature_category :importers, [:export, :remove_export, :generate_new_export, :download_export] feature_category :importers, [:export, :remove_export, :generate_new_export, :download_export]
feature_category :code_review, [:unfoldered_environment_names] feature_category :code_review, [:unfoldered_environment_names]
......
...@@ -347,7 +347,7 @@ ...@@ -347,7 +347,7 @@
:tags: [] :tags: []
- :name: cronjob:issue_due_scheduler - :name: cronjob:issue_due_scheduler
:worker_name: IssueDueSchedulerWorker :worker_name: IssueDueSchedulerWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1260,7 +1260,7 @@ ...@@ -1260,7 +1260,7 @@
:tags: [] :tags: []
- :name: mail_scheduler:mail_scheduler_issue_due - :name: mail_scheduler:mail_scheduler_issue_due
:worker_name: MailScheduler::IssueDueWorker :worker_name: MailScheduler::IssueDueWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1269,7 +1269,7 @@ ...@@ -1269,7 +1269,7 @@
:tags: [] :tags: []
- :name: mail_scheduler:mail_scheduler_notification_service - :name: mail_scheduler:mail_scheduler_notification_service
:worker_name: MailScheduler::NotificationServiceWorker :worker_name: MailScheduler::NotificationServiceWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -1746,7 +1746,7 @@ ...@@ -1746,7 +1746,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_confidential_issue - :name: todos_destroyer:todos_destroyer_confidential_issue
:worker_name: TodosDestroyer::ConfidentialIssueWorker :worker_name: TodosDestroyer::ConfidentialIssueWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1755,7 +1755,7 @@ ...@@ -1755,7 +1755,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_destroyed_designs - :name: todos_destroyer:todos_destroyer_destroyed_designs
:worker_name: TodosDestroyer::DestroyedDesignsWorker :worker_name: TodosDestroyer::DestroyedDesignsWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1764,7 +1764,7 @@ ...@@ -1764,7 +1764,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_destroyed_issuable - :name: todos_destroyer:todos_destroyer_destroyed_issuable
:worker_name: TodosDestroyer::DestroyedIssuableWorker :worker_name: TodosDestroyer::DestroyedIssuableWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1773,7 +1773,7 @@ ...@@ -1773,7 +1773,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_entity_leave - :name: todos_destroyer:todos_destroyer_entity_leave
:worker_name: TodosDestroyer::EntityLeaveWorker :worker_name: TodosDestroyer::EntityLeaveWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1782,7 +1782,7 @@ ...@@ -1782,7 +1782,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_group_private - :name: todos_destroyer:todos_destroyer_group_private
:worker_name: TodosDestroyer::GroupPrivateWorker :worker_name: TodosDestroyer::GroupPrivateWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1791,7 +1791,7 @@ ...@@ -1791,7 +1791,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_private_features - :name: todos_destroyer:todos_destroyer_private_features
:worker_name: TodosDestroyer::PrivateFeaturesWorker :worker_name: TodosDestroyer::PrivateFeaturesWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1800,7 +1800,7 @@ ...@@ -1800,7 +1800,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_project_private - :name: todos_destroyer:todos_destroyer_project_private
:worker_name: TodosDestroyer::ProjectPrivateWorker :worker_name: TodosDestroyer::ProjectPrivateWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -2061,7 +2061,7 @@ ...@@ -2061,7 +2061,7 @@
:tags: [] :tags: []
- :name: email_receiver - :name: email_receiver
:worker_name: EmailReceiverWorker :worker_name: EmailReceiverWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :high :urgency: :high
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -2125,7 +2125,7 @@ ...@@ -2125,7 +2125,7 @@
:tags: [] :tags: []
- :name: export_csv - :name: export_csv
:worker_name: ExportCsvWorker :worker_name: ExportCsvWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -2215,7 +2215,7 @@ ...@@ -2215,7 +2215,7 @@
:tags: [] :tags: []
- :name: import_issues_csv - :name: import_issues_csv
:worker_name: ImportIssuesCsvWorker :worker_name: ImportIssuesCsvWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -2242,7 +2242,7 @@ ...@@ -2242,7 +2242,7 @@
:tags: [] :tags: []
- :name: issuable_export_csv - :name: issuable_export_csv
:worker_name: IssuableExportCsvWorker :worker_name: IssuableExportCsvWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -2251,7 +2251,7 @@ ...@@ -2251,7 +2251,7 @@
:tags: [] :tags: []
- :name: issuable_label_links_destroy - :name: issuable_label_links_destroy
:worker_name: Issuable::LabelLinksDestroyWorker :worker_name: Issuable::LabelLinksDestroyWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -2260,7 +2260,7 @@ ...@@ -2260,7 +2260,7 @@
:tags: [] :tags: []
- :name: issuables_clear_groups_issue_counter - :name: issuables_clear_groups_issue_counter
:worker_name: Issuables::ClearGroupsIssueCounterWorker :worker_name: Issuables::ClearGroupsIssueCounterWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -2269,7 +2269,7 @@ ...@@ -2269,7 +2269,7 @@
:tags: [] :tags: []
- :name: issue_placement - :name: issue_placement
:worker_name: IssuePlacementWorker :worker_name: IssuePlacementWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :high :urgency: :high
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -2278,7 +2278,7 @@ ...@@ -2278,7 +2278,7 @@
:tags: [] :tags: []
- :name: issue_rebalancing - :name: issue_rebalancing
:worker_name: IssueRebalancingWorker :worker_name: IssueRebalancingWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -2287,7 +2287,7 @@ ...@@ -2287,7 +2287,7 @@
:tags: [] :tags: []
- :name: issues_placement - :name: issues_placement
:worker_name: Issues::PlacementWorker :worker_name: Issues::PlacementWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :high :urgency: :high
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -2296,7 +2296,7 @@ ...@@ -2296,7 +2296,7 @@
:tags: [] :tags: []
- :name: issues_rebalancing - :name: issues_rebalancing
:worker_name: Issues::RebalancingWorker :worker_name: Issues::RebalancingWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -2440,7 +2440,7 @@ ...@@ -2440,7 +2440,7 @@
:tags: [] :tags: []
- :name: new_issue - :name: new_issue
:worker_name: NewIssueWorker :worker_name: NewIssueWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :high :urgency: :high
:resource_boundary: :cpu :resource_boundary: :cpu
...@@ -2458,7 +2458,7 @@ ...@@ -2458,7 +2458,7 @@
:tags: [] :tags: []
- :name: new_note - :name: new_note
:worker_name: NewNoteWorker :worker_name: NewNoteWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :high :urgency: :high
:resource_boundary: :cpu :resource_boundary: :cpu
......
...@@ -8,6 +8,6 @@ module TodosDestroyerQueue ...@@ -8,6 +8,6 @@ module TodosDestroyerQueue
included do included do
queue_namespace :todos_destroyer queue_namespace :todos_destroyer
feature_category :issue_tracking feature_category :team_planning
end end
end end
...@@ -7,7 +7,7 @@ class EmailReceiverWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -7,7 +7,7 @@ class EmailReceiverWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
feature_category :issue_tracking feature_category :team_planning
urgency :high urgency :high
weight 2 weight 2
......
...@@ -7,7 +7,7 @@ class ExportCsvWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -7,7 +7,7 @@ class ExportCsvWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
feature_category :issue_tracking feature_category :team_planning
worker_resource_boundary :cpu worker_resource_boundary :cpu
loggable_arguments 2 loggable_arguments 2
......
...@@ -8,7 +8,7 @@ class ImportIssuesCsvWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -8,7 +8,7 @@ class ImportIssuesCsvWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
idempotent! idempotent!
feature_category :issue_tracking feature_category :team_planning
worker_resource_boundary :cpu worker_resource_boundary :cpu
weight 2 weight 2
......
...@@ -7,7 +7,7 @@ module Issuable ...@@ -7,7 +7,7 @@ module Issuable
data_consistency :always data_consistency :always
idempotent! idempotent!
feature_category :issue_tracking feature_category :team_planning
def perform(target_id, target_type) def perform(target_id, target_type)
::Issuable::DestroyLabelLinksService.new(target_id, target_type).execute ::Issuable::DestroyLabelLinksService.new(target_id, target_type).execute
......
...@@ -7,7 +7,7 @@ class IssuableExportCsvWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -7,7 +7,7 @@ class IssuableExportCsvWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
feature_category :issue_tracking feature_category :team_planning
worker_resource_boundary :cpu worker_resource_boundary :cpu
loggable_arguments 2 loggable_arguments 2
......
...@@ -8,7 +8,7 @@ module Issuables ...@@ -8,7 +8,7 @@ module Issuables
idempotent! idempotent!
urgency :low urgency :low
feature_category :issue_tracking feature_category :team_planning
def perform(group_ids = []) def perform(group_ids = [])
return if group_ids.empty? return if group_ids.empty?
......
...@@ -7,7 +7,7 @@ class IssueDueSchedulerWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -7,7 +7,7 @@ class IssueDueSchedulerWorker # rubocop:disable Scalability/IdempotentWorker
include CronjobQueue # rubocop:disable Scalability/CronWorkerContext include CronjobQueue # rubocop:disable Scalability/CronWorkerContext
feature_category :issue_tracking feature_category :team_planning
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
def perform def perform
......
...@@ -12,7 +12,7 @@ class IssuePlacementWorker ...@@ -12,7 +12,7 @@ class IssuePlacementWorker
idempotent! idempotent!
deduplicate :until_executed, including_scheduled: true deduplicate :until_executed, including_scheduled: true
feature_category :issue_tracking feature_category :team_planning
urgency :high urgency :high
worker_resource_boundary :cpu worker_resource_boundary :cpu
weight 2 weight 2
......
...@@ -12,7 +12,7 @@ class IssueRebalancingWorker ...@@ -12,7 +12,7 @@ class IssueRebalancingWorker
idempotent! idempotent!
urgency :low urgency :low
feature_category :issue_tracking feature_category :team_planning
deduplicate :until_executed, including_scheduled: true deduplicate :until_executed, including_scheduled: true
def perform(ignore = nil, project_id = nil, root_namespace_id = nil) def perform(ignore = nil, project_id = nil, root_namespace_id = nil)
......
...@@ -10,7 +10,7 @@ module Issues ...@@ -10,7 +10,7 @@ module Issues
idempotent! idempotent!
deduplicate :until_executed, including_scheduled: true deduplicate :until_executed, including_scheduled: true
feature_category :issue_tracking feature_category :team_planning
urgency :high urgency :high
worker_resource_boundary :cpu worker_resource_boundary :cpu
weight 2 weight 2
......
...@@ -10,7 +10,7 @@ module Issues ...@@ -10,7 +10,7 @@ module Issues
idempotent! idempotent!
urgency :low urgency :low
feature_category :issue_tracking feature_category :team_planning
deduplicate :until_executed, including_scheduled: true deduplicate :until_executed, including_scheduled: true
def perform(ignore = nil, project_id = nil, root_namespace_id = nil) def perform(ignore = nil, project_id = nil, root_namespace_id = nil)
......
...@@ -9,7 +9,7 @@ module MailScheduler ...@@ -9,7 +9,7 @@ module MailScheduler
sidekiq_options retry: 3 sidekiq_options retry: 3
include MailSchedulerQueue include MailSchedulerQueue
feature_category :issue_tracking feature_category :team_planning
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
def perform(project_id) def perform(project_id)
......
...@@ -11,7 +11,7 @@ module MailScheduler ...@@ -11,7 +11,7 @@ module MailScheduler
sidekiq_options retry: 3 sidekiq_options retry: 3
include MailSchedulerQueue include MailSchedulerQueue
feature_category :issue_tracking feature_category :team_planning
worker_resource_boundary :cpu worker_resource_boundary :cpu
loggable_arguments 0 loggable_arguments 0
......
...@@ -8,7 +8,7 @@ class NewIssueWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -8,7 +8,7 @@ class NewIssueWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
include NewIssuable include NewIssuable
feature_category :issue_tracking feature_category :team_planning
urgency :high urgency :high
worker_resource_boundary :cpu worker_resource_boundary :cpu
weight 2 weight 2
......
...@@ -7,7 +7,7 @@ class NewNoteWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -7,7 +7,7 @@ class NewNoteWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
feature_category :issue_tracking feature_category :team_planning
urgency :high urgency :high
worker_resource_boundary :cpu worker_resource_boundary :cpu
weight 2 weight 2
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
- authentication_and_authorization - authentication_and_authorization
- auto_devops - auto_devops
- backup_restore - backup_restore
- boards
- build_artifacts - build_artifacts
- chatops - chatops
- cloud_native_installation - cloud_native_installation
...@@ -44,7 +43,6 @@ ...@@ -44,7 +43,6 @@
- dynamic_application_security_testing - dynamic_application_security_testing
- editor_extension - editor_extension
- environment_management - environment_management
- epics
- error_tracking - error_tracking
- experimentation_activation - experimentation_activation
- experimentation_adoption - experimentation_adoption
...@@ -69,7 +67,6 @@ ...@@ -69,7 +67,6 @@
- intel_code_security - intel_code_security
- interactive_application_security_testing - interactive_application_security_testing
- internationalization - internationalization
- issue_tracking
- jenkins_importer - jenkins_importer
- kubernetes_management - kubernetes_management
- license - license
...@@ -91,16 +88,17 @@ ...@@ -91,16 +88,17 @@
- pipeline_abuse_prevention - pipeline_abuse_prevention
- pipeline_authoring - pipeline_authoring
- planning_analytics - planning_analytics
- portfolio_management
- privacy_control_center - privacy_control_center
- product_analytics - product_analytics
- projects - projects
- purchase - purchase
- quality_management - quality_management
- redis
- release_evidence - release_evidence
- release_orchestration - release_orchestration
- requirements_management - requirements_management
- review_apps - review_apps
- roadmaps
- runbooks - runbooks
- runner - runner
- scalability - scalability
...@@ -118,7 +116,7 @@ ...@@ -118,7 +116,7 @@
- static_site_editor - static_site_editor
- subgroups - subgroups
- synthetic_monitoring - synthetic_monitoring
- time_tracking - team_planning
- tracing - tracing
- usability_testing - usability_testing
- usage_ping - usage_ping
......
...@@ -35,7 +35,7 @@ DELETE /admin/sidekiq/queues/:queue_name ...@@ -35,7 +35,7 @@ DELETE /admin/sidekiq/queues/:queue_name
| `root_namespace` | string | no | The root namespace of the project | | `root_namespace` | string | no | The root namespace of the project |
| `subscription_plan` | string | no | The subscription plan of the root namespace (GitLab.com only) | | `subscription_plan` | string | no | The subscription plan of the root namespace (GitLab.com only) |
| `caller_id` | string | no | The endpoint or background job that schedule the job (for example: `ProjectsController#create`, `/api/:version/projects/:id`, `PostReceive`) | | `caller_id` | string | no | The endpoint or background job that schedule the job (for example: `ProjectsController#create`, `/api/:version/projects/:id`, `PostReceive`) |
| `feature_category` | string | no | The feature category of the background job (for example: `issue_tracking` or `code_review`) | | `feature_category` | string | no | The feature category of the background job (for example: `team_planning` or `code_review`) |
| `worker_class` | string | no | The class of the background job worker (for example: `PostReceive` or `MergeWorker`) | | `worker_class` | string | no | The class of the background job worker (for example: `PostReceive` or `MergeWorker`) |
At least one attribute, other than `queue_name`, is required. At least one attribute, other than `queue_name`, is required.
......
...@@ -43,7 +43,7 @@ example: ...@@ -43,7 +43,7 @@ example:
```ruby ```ruby
Gitlab::Metrics::Sli.initialize_sli(:received_email, [ Gitlab::Metrics::Sli.initialize_sli(:received_email, [
{ {
feature_category: :issue_tracking, feature_category: :team_planning,
email_type: :create_issue email_type: :create_issue
}, },
{ {
......
...@@ -96,7 +96,7 @@ second argument: ...@@ -96,7 +96,7 @@ second argument:
```ruby ```ruby
class DashboardController < ApplicationController class DashboardController < ApplicationController
feature_category :issue_tracking, [:issues, :issues_calendar] feature_category :team_planning, [:issues, :issues_calendar]
feature_category :code_review, [:merge_requests] feature_category :code_review, [:merge_requests]
end end
``` ```
...@@ -137,7 +137,7 @@ Grape API endpoints can use the `feature_category` class method, like ...@@ -137,7 +137,7 @@ Grape API endpoints can use the `feature_category` class method, like
```ruby ```ruby
module API module API
class Issues < ::API::Base class Issues < ::API::Base
feature_category :issue_tracking feature_category :team_planning
end end
end end
``` ```
......
...@@ -5,7 +5,7 @@ module Boards ...@@ -5,7 +5,7 @@ module Boards
include BoardsResponses include BoardsResponses
before_action :authorize_read_milestone, only: [:index] before_action :authorize_read_milestone, only: [:index]
feature_category :boards feature_category :team_planning
def index def index
milestones_finder = Boards::MilestonesFinder.new(board, current_user) milestones_finder = Boards::MilestonesFinder.new(board, current_user)
......
...@@ -11,7 +11,7 @@ module Boards ...@@ -11,7 +11,7 @@ module Boards
include BoardsResponses include BoardsResponses
before_action :authorize_read_parent, only: [:index] before_action :authorize_read_parent, only: [:index]
feature_category :boards feature_category :team_planning
def index def index
user_ids = user_finder.execute.select(:user_id) user_ids = user_finder.execute.select(:user_id)
......
...@@ -7,7 +7,7 @@ module IterationCadencesActions ...@@ -7,7 +7,7 @@ module IterationCadencesActions
before_action :check_cadences_available! before_action :check_cadences_available!
before_action :authorize_show_cadence!, only: [:index] before_action :authorize_show_cadence!, only: [:index]
feature_category :issue_tracking feature_category :team_planning
end end
def index; end def index; end
......
...@@ -6,7 +6,7 @@ module EE ...@@ -6,7 +6,7 @@ module EE
extend ActiveSupport::Concern extend ActiveSupport::Concern
prepended do prepended do
feature_category :epics, [:epics] feature_category :portfolio_management, [:epics]
feature_category :vulnerability_management, [:vulnerabilities] feature_category :vulnerability_management, [:vulnerabilities]
end end
......
...@@ -6,7 +6,7 @@ module EE ...@@ -6,7 +6,7 @@ module EE
extend ActiveSupport::Concern extend ActiveSupport::Concern
prepended do prepended do
feature_category :epics, [:epics] feature_category :portfolio_management, [:epics]
feature_category :vulnerability_management, [:vulnerabilities] feature_category :vulnerability_management, [:vulnerabilities]
end end
......
...@@ -16,7 +16,7 @@ module EE ...@@ -16,7 +16,7 @@ module EE
before_action :redirect_if_test_case, only: [:show] before_action :redirect_if_test_case, only: [:show]
feature_category :issue_tracking, [:delete_description_version, :description_diff] feature_category :team_planning, [:delete_description_version, :description_diff]
end end
private private
......
...@@ -11,7 +11,7 @@ class Groups::EpicBoardsController < Groups::ApplicationController ...@@ -11,7 +11,7 @@ class Groups::EpicBoardsController < Groups::ApplicationController
track_redis_hll_event :index, :show, name: 'g_project_management_users_viewing_epic_boards' track_redis_hll_event :index, :show, name: 'g_project_management_users_viewing_epic_boards'
feature_category :epics feature_category :portfolio_management
private private
......
...@@ -6,7 +6,7 @@ class Groups::EpicIssuesController < Groups::ApplicationController ...@@ -6,7 +6,7 @@ class Groups::EpicIssuesController < Groups::ApplicationController
before_action :check_epics_available! before_action :check_epics_available!
before_action :authorize_issue_link_association!, only: [:destroy, :update] before_action :authorize_issue_link_association!, only: [:destroy, :update]
feature_category :epics feature_category :portfolio_management
def update def update
result = EpicIssues::UpdateService.new(link, current_user, params[:epic]).execute result = EpicIssues::UpdateService.new(link, current_user, params[:epic]).execute
......
...@@ -6,7 +6,7 @@ class Groups::EpicLinksController < Groups::ApplicationController ...@@ -6,7 +6,7 @@ class Groups::EpicLinksController < Groups::ApplicationController
before_action :check_epics_available!, only: [:index, :destroy] before_action :check_epics_available!, only: [:index, :destroy]
before_action :check_subepics_available!, only: [:create, :update] before_action :check_subepics_available!, only: [:create, :update]
feature_category :epics feature_category :portfolio_management
def update def update
result = EpicLinks::UpdateService.new(child_epic, current_user, params[:epic]).execute result = EpicLinks::UpdateService.new(child_epic, current_user, params[:epic]).execute
......
...@@ -10,7 +10,7 @@ class Groups::Epics::NotesController < Groups::ApplicationController ...@@ -10,7 +10,7 @@ class Groups::Epics::NotesController < Groups::ApplicationController
before_action :epic before_action :epic
before_action :authorize_create_note!, only: [:create] before_action :authorize_create_note!, only: [:create]
feature_category :epics feature_category :portfolio_management
private private
......
...@@ -26,7 +26,7 @@ class Groups::EpicsController < Groups::ApplicationController ...@@ -26,7 +26,7 @@ class Groups::EpicsController < Groups::ApplicationController
push_frontend_feature_flag(:labels_widget, @group, default_enabled: :yaml) push_frontend_feature_flag(:labels_widget, @group, default_enabled: :yaml)
end end
feature_category :epics feature_category :portfolio_management
def new def new
@noteable = Epic.new @noteable = Epic.new
......
# frozen_string_literal: true # frozen_string_literal: true
class Groups::IssuesController < Groups::BulkUpdateController class Groups::IssuesController < Groups::BulkUpdateController
feature_category :issue_tracking feature_category :team_planning
end end
...@@ -5,7 +5,7 @@ class Groups::IterationsController < Groups::ApplicationController ...@@ -5,7 +5,7 @@ class Groups::IterationsController < Groups::ApplicationController
before_action :authorize_show_iteration!, only: [:index, :show] before_action :authorize_show_iteration!, only: [:index, :show]
before_action :authorize_create_iteration!, only: [:new, :edit] before_action :authorize_create_iteration!, only: [:new, :edit]
feature_category :issue_tracking feature_category :team_planning
def index; end def index; end
......
...@@ -8,7 +8,7 @@ module Groups ...@@ -8,7 +8,7 @@ module Groups
before_action :check_epics_available! before_action :check_epics_available!
before_action :persist_roadmap_layout, only: [:show] before_action :persist_roadmap_layout, only: [:show]
feature_category :roadmaps feature_category :portfolio_management
# show roadmap for a group # show roadmap for a group
def show def show
......
...@@ -6,7 +6,7 @@ class Groups::TodosController < Groups::ApplicationController ...@@ -6,7 +6,7 @@ class Groups::TodosController < Groups::ApplicationController
before_action :authenticate_user!, only: [:create] before_action :authenticate_user!, only: [:create]
feature_category :epics feature_category :portfolio_management
private private
......
...@@ -4,7 +4,7 @@ class Projects::IterationsController < Projects::ApplicationController ...@@ -4,7 +4,7 @@ class Projects::IterationsController < Projects::ApplicationController
before_action :check_iterations_available! before_action :check_iterations_available!
before_action :authorize_show_iteration! before_action :authorize_show_iteration!
feature_category :issue_tracking feature_category :team_planning
def index; end def index; end
......
...@@ -7,7 +7,7 @@ class AdminEmailsWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -7,7 +7,7 @@ class AdminEmailsWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
feature_category :issue_tracking feature_category :team_planning
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
def perform(recipient_id, subject, body) def perform(recipient_id, subject, body)
......
...@@ -311,7 +311,7 @@ ...@@ -311,7 +311,7 @@
:tags: [] :tags: []
- :name: cronjob:iterations_cadences_create_iterations - :name: cronjob:iterations_cadences_create_iterations
:worker_name: Iterations::Cadences::CreateIterationsWorker :worker_name: Iterations::Cadences::CreateIterationsWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -320,7 +320,7 @@ ...@@ -320,7 +320,7 @@
:tags: [] :tags: []
- :name: cronjob:iterations_cadences_schedule_create_iterations - :name: cronjob:iterations_cadences_schedule_create_iterations
:worker_name: Iterations::Cadences::ScheduleCreateIterationsWorker :worker_name: Iterations::Cadences::ScheduleCreateIterationsWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -329,7 +329,7 @@ ...@@ -329,7 +329,7 @@
:tags: [] :tags: []
- :name: cronjob:iterations_update_status - :name: cronjob:iterations_update_status
:worker_name: IterationsUpdateStatusWorker :worker_name: IterationsUpdateStatusWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -455,7 +455,7 @@ ...@@ -455,7 +455,7 @@
:tags: [] :tags: []
- :name: epics:epics_update_epics_dates - :name: epics:epics_update_epics_dates
:worker_name: Epics::UpdateEpicsDatesWorker :worker_name: Epics::UpdateEpicsDatesWorker
:feature_category: :epics :feature_category: :portfolio_management
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -725,7 +725,7 @@ ...@@ -725,7 +725,7 @@
:tags: [] :tags: []
- :name: iterations:iterations_roll_over_issues - :name: iterations:iterations_roll_over_issues
:worker_name: Iterations::RollOverIssuesWorker :worker_name: Iterations::RollOverIssuesWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -815,7 +815,7 @@ ...@@ -815,7 +815,7 @@
:tags: [] :tags: []
- :name: todos_destroyer:todos_destroyer_confidential_epic - :name: todos_destroyer:todos_destroyer_confidential_epic
:worker_name: TodosDestroyer::ConfidentialEpicWorker :worker_name: TodosDestroyer::ConfidentialEpicWorker
:feature_category: :epics :feature_category: :portfolio_management
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -833,7 +833,7 @@ ...@@ -833,7 +833,7 @@
:tags: [] :tags: []
- :name: admin_emails - :name: admin_emails
:worker_name: AdminEmailsWorker :worker_name: AdminEmailsWorker
:feature_category: :issue_tracking :feature_category: :team_planning
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -968,7 +968,7 @@ ...@@ -968,7 +968,7 @@
:tags: [] :tags: []
- :name: epics_new_epic_issue - :name: epics_new_epic_issue
:worker_name: Epics::NewEpicIssueWorker :worker_name: Epics::NewEpicIssueWorker
:feature_category: :epics :feature_category: :portfolio_management
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :unknown :resource_boundary: :unknown
...@@ -1112,7 +1112,7 @@ ...@@ -1112,7 +1112,7 @@
:tags: [] :tags: []
- :name: new_epic - :name: new_epic
:worker_name: NewEpicWorker :worker_name: NewEpicWorker
:feature_category: :epics :feature_category: :portfolio_management
:has_external_dependencies: :has_external_dependencies:
:urgency: :low :urgency: :low
:resource_boundary: :cpu :resource_boundary: :cpu
......
...@@ -6,7 +6,7 @@ module Epics ...@@ -6,7 +6,7 @@ module Epics
data_consistency :always data_consistency :always
feature_category :epics feature_category :portfolio_management
def perform(params) def perform(params)
@params = params @params = params
......
...@@ -9,7 +9,7 @@ module Epics ...@@ -9,7 +9,7 @@ module Epics
sidekiq_options retry: 3 sidekiq_options retry: 3
queue_namespace :epics queue_namespace :epics
feature_category :epics feature_category :portfolio_management
def perform(epic_ids) def perform(epic_ids)
return if epic_ids.blank? return if epic_ids.blank?
......
...@@ -11,7 +11,7 @@ module Iterations ...@@ -11,7 +11,7 @@ module Iterations
deduplicate :until_executed, including_scheduled: true deduplicate :until_executed, including_scheduled: true
queue_namespace :cronjob queue_namespace :cronjob
feature_category :issue_tracking feature_category :team_planning
def perform(cadence_id) def perform(cadence_id)
cadence = ::Iterations::Cadence.find_by_id(cadence_id) cadence = ::Iterations::Cadence.find_by_id(cadence_id)
......
...@@ -13,7 +13,7 @@ module Iterations ...@@ -13,7 +13,7 @@ module Iterations
deduplicate :until_executed, including_scheduled: true deduplicate :until_executed, including_scheduled: true
queue_namespace :cronjob queue_namespace :cronjob
feature_category :issue_tracking feature_category :team_planning
def perform def perform
Iterations::Cadence.for_automated_iterations.each_batch(of: BATCH_SIZE) do |cadences| Iterations::Cadence.for_automated_iterations.each_batch(of: BATCH_SIZE) do |cadences|
......
...@@ -11,7 +11,7 @@ module Iterations ...@@ -11,7 +11,7 @@ module Iterations
idempotent! idempotent!
queue_namespace :iterations queue_namespace :iterations
feature_category :issue_tracking feature_category :team_planning
def perform(iteration_ids) def perform(iteration_ids)
Iteration.closed.id_in(iteration_ids).each_batch(of: BATCH_SIZE) do |iterations_batch| Iteration.closed.id_in(iteration_ids).each_batch(of: BATCH_SIZE) do |iterations_batch|
......
...@@ -11,7 +11,7 @@ class IterationsUpdateStatusWorker ...@@ -11,7 +11,7 @@ class IterationsUpdateStatusWorker
idempotent! idempotent!
queue_namespace :cronjob queue_namespace :cronjob
feature_category :issue_tracking feature_category :team_planning
def perform def perform
set_current_iterations set_current_iterations
......
...@@ -8,7 +8,7 @@ class NewEpicWorker # rubocop:disable Scalability/IdempotentWorker ...@@ -8,7 +8,7 @@ class NewEpicWorker # rubocop:disable Scalability/IdempotentWorker
sidekiq_options retry: 3 sidekiq_options retry: 3
include NewIssuable include NewIssuable
feature_category :epics feature_category :portfolio_management
worker_resource_boundary :cpu worker_resource_boundary :cpu
weight 2 weight 2
......
...@@ -9,7 +9,7 @@ module TodosDestroyer ...@@ -9,7 +9,7 @@ module TodosDestroyer
sidekiq_options retry: 3 sidekiq_options retry: 3
queue_namespace :todos_destroyer queue_namespace :todos_destroyer
feature_category :epics feature_category :portfolio_management
def perform(epic_id) def perform(epic_id)
return unless epic_id return unless epic_id
......
...@@ -4,7 +4,7 @@ module API ...@@ -4,7 +4,7 @@ module API
class EpicIssues < ::API::Base class EpicIssues < ::API::Base
include PaginationParams include PaginationParams
feature_category :epics feature_category :portfolio_management
before do before do
authenticate! authenticate!
......
...@@ -4,7 +4,7 @@ module API ...@@ -4,7 +4,7 @@ module API
class EpicLinks < ::API::Base class EpicLinks < ::API::Base
include ::Gitlab::Utils::StrongMemoize include ::Gitlab::Utils::StrongMemoize
feature_category :epics feature_category :portfolio_management
before do before do
authenticate! authenticate!
......
...@@ -4,7 +4,7 @@ module API ...@@ -4,7 +4,7 @@ module API
class Epics < ::API::Base class Epics < ::API::Base
include PaginationParams include PaginationParams
feature_category :epics feature_category :portfolio_management
before do before do
authenticate_non_get! authenticate_non_get!
......
...@@ -4,7 +4,7 @@ module API ...@@ -4,7 +4,7 @@ module API
class Iterations < ::API::Base class Iterations < ::API::Base
include PaginationParams include PaginationParams
feature_category :issue_tracking feature_category :team_planning
helpers do helpers do
params :list_params do params :list_params do
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate! } before { authenticate! }
{ Issue => :issue_tracking }.each do |eventable_type, feature_category| { Issue => :team_planning }.each do |eventable_type, feature_category|
parent_type = eventable_type.parent_class.to_s.underscore parent_type = eventable_type.parent_class.to_s.underscore
eventables_str = eventable_type.to_s.underscore.pluralize eventables_str = eventable_type.to_s.underscore.pluralize
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
params do params do
requires :id, type: String, desc: "The ID of a project" requires :id, type: String, desc: "The ID of a project"
......
...@@ -8,7 +8,7 @@ module EE ...@@ -8,7 +8,7 @@ module EE
prepend EE::API::BoardsResponses # rubocop: disable Cop/InjectEnterpriseEditionModule prepend EE::API::BoardsResponses # rubocop: disable Cop/InjectEnterpriseEditionModule
feature_category :boards feature_category :team_planning
before do before do
authenticate! authenticate!
......
...@@ -13,7 +13,7 @@ module EE ...@@ -13,7 +13,7 @@ module EE
override :awardables override :awardables
def awardables def awardables
super.concat([ super.concat([
{ type: 'epic', resource: :groups, find_by: :iid, feature_category: :epics } { type: 'epic', resource: :groups, find_by: :iid, feature_category: :portfolio_management }
]) ])
end end
......
...@@ -11,7 +11,7 @@ module EE ...@@ -11,7 +11,7 @@ module EE
override :feature_category_per_noteable_type override :feature_category_per_noteable_type
def feature_category_per_noteable_type def feature_category_per_noteable_type
super.merge!(::Epic => :issue_tracking) super.merge!(::Epic => :team_planning)
end end
end end
end end
......
...@@ -12,7 +12,7 @@ module EE ...@@ -12,7 +12,7 @@ module EE
override :feature_category_per_noteable_type override :feature_category_per_noteable_type
def feature_category_per_noteable_type def feature_category_per_noteable_type
super.merge!( super.merge!(
::Epic => :issue_tracking, ::Epic => :portfolio_management,
::Vulnerability => :vulnerability_management ::Vulnerability => :vulnerability_management
) )
end end
......
...@@ -12,7 +12,7 @@ module EE ...@@ -12,7 +12,7 @@ module EE
override :feature_category_per_eventable_type override :feature_category_per_eventable_type
def feature_category_per_eventable_type def feature_category_per_eventable_type
super.merge!( super.merge!(
::Epic => :issue_tracking ::Epic => :portfolio_management
) )
end end
end end
......
...@@ -11,7 +11,7 @@ module EE ...@@ -11,7 +11,7 @@ module EE
[ [
%r(^/groups/#{::Gitlab::PathRegex.full_namespace_route_regex}/-/epics/\d+/notes\z), %r(^/groups/#{::Gitlab::PathRegex.full_namespace_route_regex}/-/epics/\d+/notes\z),
'epic_notes', 'epic_notes',
'epics' 'portfolio_management'
] ]
].freeze ].freeze
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
prepend_mod_with('API::BoardsResponses') # rubocop: disable Cop/InjectEnterpriseEditionModule prepend_mod_with('API::BoardsResponses') # rubocop: disable Cop/InjectEnterpriseEditionModule
feature_category :boards feature_category :team_planning
before { authenticate! } before { authenticate! }
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
prepend_mod_with('API::BoardsResponses') # rubocop: disable Cop/InjectEnterpriseEditionModule prepend_mod_with('API::BoardsResponses') # rubocop: disable Cop/InjectEnterpriseEditionModule
feature_category :boards feature_category :team_planning
before { authenticate! } before { authenticate! }
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
params do params do
requires :id, type: String, desc: 'The ID of a group' requires :id, type: String, desc: 'The ID of a group'
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
params do params do
requires :id, type: String, desc: 'The ID of a group' requires :id, type: String, desc: 'The ID of a group'
......
...@@ -5,7 +5,7 @@ module API ...@@ -5,7 +5,7 @@ module API
module AwardEmoji module AwardEmoji
def self.awardables def self.awardables
[ [
{ type: 'issue', resource: :projects, find_by: :iid, feature_category: :issue_tracking }, { type: 'issue', resource: :projects, find_by: :iid, feature_category: :team_planning },
{ type: 'merge_request', resource: :projects, find_by: :iid, feature_category: :code_review }, { type: 'merge_request', resource: :projects, find_by: :iid, feature_category: :code_review },
{ type: 'snippet', resource: :projects, find_by: :id, feature_category: :snippets } { type: 'snippet', resource: :projects, find_by: :id, feature_category: :snippets }
] ]
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
# This is a method instead of a constant, allowing EE to more easily # This is a method instead of a constant, allowing EE to more easily
# extend it. # extend it.
{ {
Issue => :issue_tracking, Issue => :team_planning,
Snippet => :snippets, Snippet => :snippets,
MergeRequest => :code_review, MergeRequest => :code_review,
Commit => :code_review Commit => :code_review
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
def self.feature_category_per_noteable_type def self.feature_category_per_noteable_type
{ {
Issue => :issue_tracking, Issue => :team_planning,
MergeRequest => :code_review, MergeRequest => :code_review,
Snippet => :snippets Snippet => :snippets
} }
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
# This is a method instead of a constant, allowing EE to more easily # This is a method instead of a constant, allowing EE to more easily
# extend it. # extend it.
{ {
Issue => :issue_tracking, Issue => :team_planning,
MergeRequest => :code_review MergeRequest => :code_review
} }
end end
......
...@@ -6,7 +6,7 @@ module API ...@@ -6,7 +6,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
params do params do
requires :id, type: String, desc: 'The ID of a project' requires :id, type: String, desc: 'The ID of a project'
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate_non_get! } before { authenticate_non_get! }
feature_category :issue_tracking feature_category :team_planning
helpers do helpers do
params :negatable_issue_filter_params do params :negatable_issue_filter_params do
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
LABEL_ENDPOINT_REQUIREMENTS = API::NAMESPACE_OR_PROJECT_REQUIREMENTS.merge( LABEL_ENDPOINT_REQUIREMENTS = API::NAMESPACE_OR_PROJECT_REQUIREMENTS.merge(
name: API::NO_SLASH_URL_PART_REGEX, name: API::NO_SLASH_URL_PART_REGEX,
......
...@@ -7,7 +7,7 @@ module API ...@@ -7,7 +7,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
params do params do
requires :id, type: String, desc: 'The ID of a project' requires :id, type: String, desc: 'The ID of a project'
......
...@@ -8,7 +8,7 @@ module API ...@@ -8,7 +8,7 @@ module API
before { authenticate! } before { authenticate! }
{ {
Issue => :issue_tracking, Issue => :team_planning,
MergeRequest => :code_review MergeRequest => :code_review
}.each do |eventable_type, feature_category| }.each do |eventable_type, feature_category|
parent_type = eventable_type.parent_class.to_s.underscore parent_type = eventable_type.parent_class.to_s.underscore
......
...@@ -8,7 +8,7 @@ module API ...@@ -8,7 +8,7 @@ module API
before { authenticate! } before { authenticate! }
{ {
Issue => :issue_tracking, Issue => :team_planning,
MergeRequest => :code_review MergeRequest => :code_review
}.each do |eventable_class, feature_category| }.each do |eventable_class, feature_category|
eventable_name = eventable_class.to_s.underscore eventable_name = eventable_class.to_s.underscore
......
...@@ -22,21 +22,21 @@ module API ...@@ -22,21 +22,21 @@ module API
entity: Entities::Issue, entity: Entities::Issue,
source: Project, source: Project,
finder: ->(id) { find_project_issue(id) }, finder: ->(id) { find_project_issue(id) },
feature_category: :issue_tracking feature_category: :team_planning
}, },
{ {
type: 'labels', type: 'labels',
entity: Entities::ProjectLabel, entity: Entities::ProjectLabel,
source: Project, source: Project,
finder: ->(id) { find_label(user_project, id) }, finder: ->(id) { find_label(user_project, id) },
feature_category: :issue_tracking feature_category: :team_planning
}, },
{ {
type: 'labels', type: 'labels',
entity: Entities::GroupLabel, entity: Entities::GroupLabel,
source: Group, source: Group,
finder: ->(id) { find_label(user_group, id) }, finder: ->(id) { find_label(user_group, id) },
feature_category: :issue_tracking feature_category: :team_planning
} }
] ]
......
...@@ -6,7 +6,7 @@ module API ...@@ -6,7 +6,7 @@ module API
before { authenticate! } before { authenticate! }
feature_category :issue_tracking feature_category :team_planning
ISSUABLE_TYPES = { ISSUABLE_TYPES = {
'merge_requests' => ->(iid) { find_merge_request_with_access(iid) }, 'merge_requests' => ->(iid) { find_merge_request_with_access(iid) },
......
...@@ -23,7 +23,7 @@ module Gitlab ...@@ -23,7 +23,7 @@ module Gitlab
[ [
%r(#{RESERVED_WORDS_PREFIX}/noteable/issue/\d+/notes\z), %r(#{RESERVED_WORDS_PREFIX}/noteable/issue/\d+/notes\z),
'issue_notes', 'issue_notes',
'issue_tracking' 'team_planning'
], ],
[ [
%r(#{RESERVED_WORDS_PREFIX}/noteable/merge_request/\d+/notes\z), %r(#{RESERVED_WORDS_PREFIX}/noteable/merge_request/\d+/notes\z),
...@@ -33,7 +33,7 @@ module Gitlab ...@@ -33,7 +33,7 @@ module Gitlab
[ [
%r(#{RESERVED_WORDS_PREFIX}/issues/\d+/realtime_changes\z), %r(#{RESERVED_WORDS_PREFIX}/issues/\d+/realtime_changes\z),
'issue_title', 'issue_title',
'issue_tracking' 'team_planning'
], ],
[ [
%r(#{RESERVED_WORDS_PREFIX}/commit/\S+/pipelines\.json\z), %r(#{RESERVED_WORDS_PREFIX}/commit/\S+/pipelines\.json\z),
......
...@@ -923,7 +923,7 @@ RSpec.describe ApplicationController do ...@@ -923,7 +923,7 @@ RSpec.describe ApplicationController do
describe '#set_current_context' do describe '#set_current_context' do
controller(described_class) do controller(described_class) do
feature_category :issue_tracking feature_category :team_planning
def index def index
Gitlab::ApplicationContext.with_raw_context do |context| Gitlab::ApplicationContext.with_raw_context do |context|
...@@ -977,7 +977,7 @@ RSpec.describe ApplicationController do ...@@ -977,7 +977,7 @@ RSpec.describe ApplicationController do
it 'sets the feature_category as defined in the controller' do it 'sets the feature_category as defined in the controller' do
get :index, format: :json get :index, format: :json
expect(json_response['meta.feature_category']).to eq('issue_tracking') expect(json_response['meta.feature_category']).to eq('team_planning')
end end
it 'assigns the context to a variable for logging' do it 'assigns the context to a variable for logging' do
......
...@@ -174,7 +174,7 @@ RSpec.describe Gitlab::EtagCaching::Middleware, :clean_gitlab_redis_shared_state ...@@ -174,7 +174,7 @@ RSpec.describe Gitlab::EtagCaching::Middleware, :clean_gitlab_redis_shared_state
it "pushes route's feature category to the context" do it "pushes route's feature category to the context" do
expect(Gitlab::ApplicationContext).to receive(:push).with( expect(Gitlab::ApplicationContext).to receive(:push).with(
feature_category: 'issue_tracking' feature_category: 'team_planning'
) )
_, _, _ = middleware.call(build_request(path, if_none_match)) _, _, _ = middleware.call(build_request(path, if_none_match))
......
...@@ -116,14 +116,14 @@ RSpec.describe Gitlab::Metrics::RequestsRackMiddleware, :aggregate_failures do ...@@ -116,14 +116,14 @@ RSpec.describe Gitlab::Metrics::RequestsRackMiddleware, :aggregate_failures do
context 'application context' do context 'application context' do
context 'when a context is present' do context 'when a context is present' do
before do before do
::Gitlab::ApplicationContext.push(feature_category: 'issue_tracking', caller_id: 'IssuesController#show') ::Gitlab::ApplicationContext.push(feature_category: 'team_planning', caller_id: 'IssuesController#show')
end end
it 'adds the feature category to the labels for required metrics' do it 'adds the feature category to the labels for required metrics' do
expect(described_class).to receive_message_chain(:http_requests_total, :increment).with(method: 'get', status: '200', feature_category: 'issue_tracking') expect(described_class).to receive_message_chain(:http_requests_total, :increment).with(method: 'get', status: '200', feature_category: 'team_planning')
expect(described_class).not_to receive(:http_health_requests_total) expect(described_class).not_to receive(:http_health_requests_total)
expect(Gitlab::Metrics::RailsSlis.request_apdex) expect(Gitlab::Metrics::RailsSlis.request_apdex)
.to receive(:increment).with(labels: { feature_category: 'issue_tracking', endpoint_id: 'IssuesController#show', request_urgency: :default }, success: true) .to receive(:increment).with(labels: { feature_category: 'team_planning', endpoint_id: 'IssuesController#show', request_urgency: :default }, success: true)
subject.call(env) subject.call(env)
end end
...@@ -141,12 +141,12 @@ RSpec.describe Gitlab::Metrics::RequestsRackMiddleware, :aggregate_failures do ...@@ -141,12 +141,12 @@ RSpec.describe Gitlab::Metrics::RequestsRackMiddleware, :aggregate_failures do
context 'when application raises an exception when the feature category context is present' do context 'when application raises an exception when the feature category context is present' do
before do before do
::Gitlab::ApplicationContext.push(feature_category: 'issue_tracking') ::Gitlab::ApplicationContext.push(feature_category: 'team_planning')
allow(app).to receive(:call).and_raise(StandardError) allow(app).to receive(:call).and_raise(StandardError)
end end
it 'adds the feature category to the labels for http_requests_total' do it 'adds the feature category to the labels for http_requests_total' do
expect(described_class).to receive_message_chain(:http_requests_total, :increment).with(method: 'get', status: 'undefined', feature_category: 'issue_tracking') expect(described_class).to receive_message_chain(:http_requests_total, :increment).with(method: 'get', status: 'undefined', feature_category: 'team_planning')
expect(Gitlab::Metrics::RailsSlis).not_to receive(:request_apdex) expect(Gitlab::Metrics::RailsSlis).not_to receive(:request_apdex)
expect { subject.call(env) }.to raise_error(StandardError) expect { subject.call(env) }.to raise_error(StandardError)
......
...@@ -11,7 +11,7 @@ RSpec.describe Gitlab::SidekiqMiddleware::WorkerContext::Client do ...@@ -11,7 +11,7 @@ RSpec.describe Gitlab::SidekiqMiddleware::WorkerContext::Client do
include ApplicationWorker include ApplicationWorker
feature_category :issue_tracking feature_category :team_planning
def self.job_for_args(args) def self.job_for_args(args)
jobs.find { |job| job['args'] == args } jobs.find { |job| job['args'] == args }
...@@ -78,8 +78,8 @@ RSpec.describe Gitlab::SidekiqMiddleware::WorkerContext::Client do ...@@ -78,8 +78,8 @@ RSpec.describe Gitlab::SidekiqMiddleware::WorkerContext::Client do
job1 = TestWithContextWorker.job_for_args(['job1', 1, 2, 3]) job1 = TestWithContextWorker.job_for_args(['job1', 1, 2, 3])
job2 = TestWithContextWorker.job_for_args(['job2', 1, 2, 3]) job2 = TestWithContextWorker.job_for_args(['job2', 1, 2, 3])
expect(job1['meta.feature_category']).to eq('issue_tracking') expect(job1['meta.feature_category']).to eq('team_planning')
expect(job2['meta.feature_category']).to eq('issue_tracking') expect(job2['meta.feature_category']).to eq('team_planning')
end end
it 'takes the feature category from the caller if the worker is not owned' do it 'takes the feature category from the caller if the worker is not owned' do
...@@ -116,8 +116,8 @@ RSpec.describe Gitlab::SidekiqMiddleware::WorkerContext::Client do ...@@ -116,8 +116,8 @@ RSpec.describe Gitlab::SidekiqMiddleware::WorkerContext::Client do
job1 = TestWithContextWorker.job_for_args(['job1', 1, 2, 3]) job1 = TestWithContextWorker.job_for_args(['job1', 1, 2, 3])
job2 = TestWithContextWorker.job_for_args(['job2', 1, 2, 3]) job2 = TestWithContextWorker.job_for_args(['job2', 1, 2, 3])
expect(job1['meta.feature_category']).to eq('issue_tracking') expect(job1['meta.feature_category']).to eq('team_planning')
expect(job2['meta.feature_category']).to eq('issue_tracking') expect(job2['meta.feature_category']).to eq('team_planning')
end end
it 'takes the feature category from the caller if the worker is not owned' do it 'takes the feature category from the caller if the worker is not owned' do
......
...@@ -116,7 +116,7 @@ RSpec.describe API::API do ...@@ -116,7 +116,7 @@ RSpec.describe API::API do
'meta.root_namespace' => project.namespace.full_path, 'meta.root_namespace' => project.namespace.full_path,
'meta.user' => user.username, 'meta.user' => user.username,
'meta.client_id' => a_string_matching(%r{\Auser/.+}), 'meta.client_id' => a_string_matching(%r{\Auser/.+}),
'meta.feature_category' => 'issue_tracking', 'meta.feature_category' => 'team_planning',
'route' => '/api/:version/projects/:id/issues') 'route' => '/api/:version/projects/:id/issues')
end end
......
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