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