Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-02-02 09:09:24 +00:00
parent bcd0f3a2f6
commit 0c178b535c
16 changed files with 101 additions and 10 deletions

View File

@ -1 +1 @@
827531393ddfbafcdd89c09f1798772f6f087ba8
9c2da9436f6a41a244a30deef6f48798f877e909

View File

@ -1,6 +1,6 @@
import { sortBy } from 'lodash';
import { ListType, NOT_FILTER } from './constants';
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import { ListType } from './constants';
export function getMilestone() {
return null;
@ -144,6 +144,17 @@ export function isListDraggable(list) {
return list.listType !== ListType.backlog && list.listType !== ListType.closed;
}
export function transformNotFilters(filters) {
return Object.keys(filters)
.filter((key) => key.startsWith(NOT_FILTER))
.reduce((obj, key) => {
return {
...obj,
[key.substring(4, key.length - 1)]: filters[key],
};
}, {});
}
// EE-specific feature. Find the implementation in the `ee/`-folder
export function transformBoardConfig() {
return '';
@ -157,4 +168,5 @@ export default {
fullLabelId,
fullIterationId,
isListDraggable,
transformNotFilters,
};

View File

@ -16,6 +16,8 @@ export const inactiveId = 0;
export const ISSUABLE = 'issuable';
export const LIST = 'list';
export const NOT_FILTER = 'not[';
export default {
BoardType,
ListType,

View File

@ -16,6 +16,7 @@ import {
formatIssue,
formatIssueInput,
updateListPosition,
transformNotFilters,
} from '../boards_util';
import listsIssuesQuery from '../graphql/lists_issues.query.graphql';
import boardLabelsQuery from '../graphql/board_labels.query.graphql';
@ -66,6 +67,7 @@ export default {
'releaseTag',
'search',
]);
filterParams.not = transformNotFilters(filters);
commit(types.SET_FILTERS, filterParams);
},

View File

@ -32,7 +32,7 @@
= expanded ? _('Collapse') : _('Expand')
%p
= _("Runners are processes that pick up and execute CI/CD jobs for GitLab.")
= link_to s_('How do I configure runners?'), help_page_path('ci/runners/README')
= link_to s_('How do I configure runners?'), help_page_path('ci/runners/README'), target: '_blank', rel: 'noopener noreferrer'
.settings-content
= render 'groups/runners/index'

View File

@ -41,7 +41,7 @@
= expanded ? _('Collapse') : _('Expand')
%p
= _("Runners are processes that pick up and execute CI/CD jobs for GitLab.")
= link_to s_('How do I configure runners?'), help_page_path('ci/runners/README')
= link_to s_('How do I configure runners?'), help_page_path('ci/runners/README'), target: '_blank', rel: 'noopener noreferrer'
.settings-content
= render 'projects/runners/index'
@ -83,7 +83,7 @@
= expanded ? _('Collapse') : _('Expand')
%p
= _("Save space and find images in the Container Registry. Remove unneeded tags and keep only the ones you want.")
= link_to _('How does cleanup work?'), help_page_path('user/packages/container_registry/index', anchor: 'cleanup-policy', target: '_blank', rel: 'noopener noreferrer')
= link_to _('How does cleanup work?'), help_page_path('user/packages/container_registry/index', anchor: 'cleanup-policy'), target: '_blank', rel: 'noopener noreferrer'
.settings-content
= render 'projects/registry/settings/index'

View File

@ -0,0 +1,5 @@
---
title: Add git_two_factor_session_expiry column to application_settings table
merge_request: 52761
author:
type: added

View File

@ -0,0 +1,5 @@
---
title: Open CI/CD settings help links in new tab by default
merge_request: 52948
author:
type: other

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
class AddGitTwoFactorSessionExpiryToApplicationSettings < ActiveRecord::Migration[6.0]
DOWNTIME = false
def change
add_column :application_settings, :git_two_factor_session_expiry, :integer, default: 15, null: false
end
end

View File

@ -0,0 +1 @@
6164ef91c60bd614310cbda6ad8ab1a205cae17c4d037fafa89eaf95d06323e4

View File

@ -9411,6 +9411,7 @@ CREATE TABLE application_settings (
invisible_captcha_enabled boolean DEFAULT false NOT NULL,
container_registry_cleanup_tags_service_max_list_size integer DEFAULT 200 NOT NULL,
enforce_ssh_key_expiration boolean DEFAULT false NOT NULL,
git_two_factor_session_expiry integer DEFAULT 15 NOT NULL,
CONSTRAINT app_settings_container_reg_cleanup_tags_max_list_size_positive CHECK ((container_registry_cleanup_tags_service_max_list_size >= 0)),
CONSTRAINT app_settings_registry_exp_policies_worker_capacity_positive CHECK ((container_registry_expiration_policies_worker_capacity >= 0)),
CONSTRAINT check_17d9558205 CHECK ((char_length((kroki_url)::text) <= 1024)),

View File

@ -62,3 +62,25 @@ data_source: database
distribution: [ee, ce]
tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
```
## Create a new metric definition
The GitLab codebase provides a dedicated [generator](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/generators/gitlab/usage_metric_definition_generator.rb) to create new metric definitions.
The generator takes the key path argument and 2 options and creates the metric YAML definition in corresponding location:
- `--ee`, `--no-ee` Indicates if metric is for EE.
- `--dir=DIR` indicates the metric directory. It must be one of: `counts_7d`, `7d`, `counts_28d`, `28d`, `counts_all`, `all`, `settings`, `license`.
```shell
bundle exec rails generate gitlab:usage_metric_definition counts.issues --dir=7d
create config/metrics/counts_7d/issues.yml
```
NOTE:
To create a metric definition used in EE, add the `--ee` flag.
```shell
bundle exec rails generate gitlab:usage_metric_definition counts.issues --ee --dir=7d
create ee/config/metrics/counts_7d/issues.yml
```

View File

@ -32095,6 +32095,9 @@ msgstr ""
msgid "VulnerabilityChart|Severity"
msgstr ""
msgid "VulnerabilityManagement, Fetching linked Jira issues"
msgstr ""
msgid "VulnerabilityManagement|%{statusStart}Confirmed%{statusEnd} %{timeago} by %{user}"
msgstr ""
@ -32116,15 +32119,27 @@ msgstr ""
msgid "VulnerabilityManagement|Could not process %{issueReference}: %{errorMessage}."
msgstr ""
msgid "VulnerabilityManagement|Create Jira issue"
msgstr ""
msgid "VulnerabilityManagement|Detected"
msgstr ""
msgid "VulnerabilityManagement|Needs triage"
msgstr ""
msgid "VulnerabilityManagement|Read more about related issues"
msgstr ""
msgid "VulnerabilityManagement|Related Jira issues"
msgstr ""
msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
msgstr ""
msgid "VulnerabilityManagement|Something went wrong while trying to fetch related Jira issues. Please check the %{linkStart}Jira integration settings%{linkEnd} and try again."
msgstr ""
msgid "VulnerabilityManagement|Something went wrong while trying to refresh the vulnerability. Please try again later."
msgstr ""

View File

@ -0,0 +1,17 @@
import { transformNotFilters } from '~/boards/boards_util';
describe('transformNotFilters', () => {
const filters = {
'not[labelName]': ['label'],
'not[assigneeUsername]': 'assignee',
};
it('formats not filters, transforms epicId to fullEpicId', () => {
const result = transformNotFilters(filters);
expect(result).toEqual({
labelName: ['label'],
assigneeUsername: 'assignee',
});
});
});

View File

@ -71,7 +71,7 @@ describe('setFilters', () => {
actions.setFilters,
filters,
state,
[{ type: types.SET_FILTERS, payload: filters }],
[{ type: types.SET_FILTERS, payload: { ...filters, not: {} } }],
[],
done,
);

View File

@ -1687,7 +1687,7 @@ RSpec.describe API::Projects do
end
it 'returns a 404 error if not found' do
get api('/projects/42', user)
get api("/projects/#{non_existing_record_id}", user)
expect(response).to have_gitlab_http_status(:not_found)
expect(json_response['message']).to eq('404 Project Not Found')
end
@ -2048,7 +2048,7 @@ RSpec.describe API::Projects do
end
it 'returns a 404 error if not found' do
get api('/projects/42/users', user)
get api("/projects/#{non_existing_record_id}/users", user)
expect(response).to have_gitlab_http_status(:not_found)
expect(json_response['message']).to eq('404 Project Not Found')
@ -3177,7 +3177,7 @@ RSpec.describe API::Projects do
end
it 'fails if project to fork from does not exist' do
post api('/projects/424242/fork', user)
post api("/projects/#{non_existing_record_id}/fork", user)
expect(response).to have_gitlab_http_status(:not_found)
expect(json_response['message']).to eq('404 Project Not Found')
@ -3211,7 +3211,7 @@ RSpec.describe API::Projects do
end
it 'fails if trying to fork to non-existent namespace' do
post api("/projects/#{project.id}/fork", user2), params: { namespace: 42424242 }
post api("/projects/#{project.id}/fork", user2), params: { namespace: non_existing_record_id }
expect(response).to have_gitlab_http_status(:not_found)
expect(json_response['message']).to eq('404 Namespace Not Found')