Commit 87139d33 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab master

parents 9316a060 a034790d
...@@ -10,7 +10,8 @@ module IssueAvailableFeatures ...@@ -10,7 +10,8 @@ module IssueAvailableFeatures
# EE only features are listed on EE::IssueAvailableFeatures # EE only features are listed on EE::IssueAvailableFeatures
def available_features_for_issue_types def available_features_for_issue_types
{ {
assignee: %w(issue incident) assignee: %w(issue incident),
confidentiality: %(issue incident)
}.with_indifferent_access }.with_indifferent_access
end end
end end
......
---
title: Drop temporary index on ci_builds
merge_request: 50961
author:
type: other
# frozen_string_literal: true
class DropTemporaryIndexOnCiBuilds < ActiveRecord::Migration[6.0]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
disable_ddl_transaction!
INDEX = 'tmp_build_stage_position_index'.freeze
def up
remove_concurrent_index_by_name :ci_builds, INDEX
end
def down
add_concurrent_index :ci_builds, [:stage_id, :stage_idx], where: 'stage_idx IS NOT NULL', name: INDEX
end
end
d15dc3e57f050f037dd6b6b2b1efdafee49bf411580e35a7b4dbe14868c41e13
\ No newline at end of file
...@@ -23105,8 +23105,6 @@ CREATE INDEX temporary_index_vulnerabilities_on_id ON vulnerabilities USING btre ...@@ -23105,8 +23105,6 @@ CREATE INDEX temporary_index_vulnerabilities_on_id ON vulnerabilities USING btre
CREATE UNIQUE INDEX term_agreements_unique_index ON term_agreements USING btree (user_id, term_id); CREATE UNIQUE INDEX term_agreements_unique_index ON term_agreements USING btree (user_id, term_id);
CREATE INDEX tmp_build_stage_position_index ON ci_builds USING btree (stage_id, stage_idx) WHERE (stage_idx IS NOT NULL);
CREATE INDEX tmp_index_for_email_unconfirmation_migration ON emails USING btree (id) WHERE (confirmed_at IS NOT NULL); CREATE INDEX tmp_index_for_email_unconfirmation_migration ON emails USING btree (id) WHERE (confirmed_at IS NOT NULL);
CREATE INDEX tmp_index_oauth_applications_on_id_where_trusted ON oauth_applications USING btree (id) WHERE (trusted = true); CREATE INDEX tmp_index_oauth_applications_on_id_where_trusted ON oauth_applications USING btree (id) WHERE (trusted = true);
......
...@@ -121,9 +121,9 @@ DRIs: ...@@ -121,9 +121,9 @@ DRIs:
| Role | Who | Role | Who
|------------------------------|------------------------| |------------------------------|------------------------|
| Product | Jackie Porter | | Product | Orit Golowinski |
| Leadership | Daniel Croft | | Leadership | Daniel Croft |
| Engineering | Kamil Trzciński | | Engineering | Vladimir Shushlin |
Domain Experts: Domain Experts:
......
...@@ -53,10 +53,10 @@ Otherwise, you can: ...@@ -53,10 +53,10 @@ Otherwise, you can:
![Upload license](img/license_upload_v13_8.png) ![Upload license](img/license_upload_v13_8.png)
- *If you've received your license as plain text:* - *If you've received your license as plain text:*
1. Select **Enter license key**. 1. Select **Enter license key**.
1. Copy the license and paste it into the **License key** field. 1. Copy the license and paste it into the **License key** field.
1. Check the **Subscription Agreement** checkbox. 1. Check the **Subscription Agreement** checkbox.
1. Select **Upload License**. 1. Select **Upload License**.
## Add your license at install time ## Add your license at install time
......
...@@ -72,10 +72,10 @@ To manually configure a GitLab Terraform Report artifact requires the following ...@@ -72,10 +72,10 @@ To manually configure a GitLab Terraform Report artifact requires the following
terraform: $PLAN_JSON terraform: $PLAN_JSON
``` ```
For a full example using the pre-built image, see [Example `.gitlab-ci.yaml` For a full example using the pre-built image, see [Example `.gitlab-ci.yml`
file](#example-gitlab-ciyaml-file). file](#example-gitlab-ciyml-file).
For an example displaying multiple reports, see [`.gitlab-ci.yaml` multiple reports file](#multiple-terraform-plan-reports). For an example displaying multiple reports, see [`.gitlab-ci.yml` multiple reports file](#multiple-terraform-plan-reports).
1. Running the pipeline displays the widget in the merge request, like this: 1. Running the pipeline displays the widget in the merge request, like this:
...@@ -86,7 +86,7 @@ To manually configure a GitLab Terraform Report artifact requires the following ...@@ -86,7 +86,7 @@ To manually configure a GitLab Terraform Report artifact requires the following
![Terraform plan logs](img/terraform_plan_log_v13_0.png) ![Terraform plan logs](img/terraform_plan_log_v13_0.png)
### Example `.gitlab-ci.yaml` file ### Example `.gitlab-ci.yml` file
```yaml ```yaml
default: default:
......
...@@ -200,7 +200,7 @@ If the job that's executing is within a freeze period, GitLab CI/CD creates an e ...@@ -200,7 +200,7 @@ If the job that's executing is within a freeze period, GitLab CI/CD creates an e
variable named `$CI_DEPLOY_FREEZE`. variable named `$CI_DEPLOY_FREEZE`.
To prevent the deployment job from executing, create a `rules` entry in your To prevent the deployment job from executing, create a `rules` entry in your
`gitlab-ci.yaml`, for example: `gitlab-ci.yml`, for example:
```yaml ```yaml
deploy_to_production: deploy_to_production:
......
---
title: Block confidential quick action for test cases
merge_request: 50460
author:
type: other
...@@ -989,6 +989,18 @@ RSpec.describe QuickActions::InterpretService do ...@@ -989,6 +989,18 @@ RSpec.describe QuickActions::InterpretService do
let(:issuable) { build(:merge_request, source_project: project) } let(:issuable) { build(:merge_request, source_project: project) }
end end
end end
context 'confidential command' do
context 'for test cases' do
it 'does not mark to update confidential attribute' do
issuable = create(:quality_test_case, project: project)
_, updates, _ = service.execute('/confidential', issuable)
expect(updates[:confidential]).to eq(nil)
end
end
end
end end
describe '#explain' do describe '#explain' do
......
...@@ -170,7 +170,8 @@ module Gitlab ...@@ -170,7 +170,8 @@ module Gitlab
end end
types Issue types Issue
condition do condition do
!quick_action_target.confidential? && quick_action_target.issue_type_supports?(:confidentiality) &&
!quick_action_target.confidential? &&
current_user.can?(:"admin_#{quick_action_target.to_ability_name}", quick_action_target) current_user.can?(:"admin_#{quick_action_target.to_ability_name}", quick_action_target)
end end
command :confidential do command :confidential do
......
...@@ -1142,6 +1142,11 @@ RSpec.describe QuickActions::InterpretService do ...@@ -1142,6 +1142,11 @@ RSpec.describe QuickActions::InterpretService do
let(:issuable) { issue } let(:issuable) { issue }
end end
it_behaves_like 'confidential command' do
let(:content) { '/confidential' }
let(:issuable) { create(:incident, project: project) }
end
it_behaves_like 'lock command' do it_behaves_like 'lock command' do
let(:content) { '/lock' } let(:content) { '/lock' }
let(:issuable) { issue } let(:issuable) { issue }
......
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