diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-11 03:09:07 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-11 03:09:07 +0300 |
commit | 0700019b661771fa0881659980541333a7b50e30 (patch) | |
tree | 235263939afcacb7eb5ce0114cbc8df31b73efee | |
parent | 6b27265007c49476f90e94122bd6d2f494960700 (diff) |
Add latest changes from gitlab-org/gitlab@master
8 files changed, 138 insertions, 27 deletions
diff --git a/app/assets/javascripts/vue_shared/components/entity_select/group_select.vue b/app/assets/javascripts/vue_shared/components/entity_select/group_select.vue index 71e3bf4ff63..eb7b20fa4c1 100644 --- a/app/assets/javascripts/vue_shared/components/entity_select/group_select.vue +++ b/app/assets/javascripts/vue_shared/components/entity_select/group_select.vue @@ -19,6 +19,11 @@ export default { EntitySelect, }, props: { + apiParams: { + type: Object, + required: false, + default: () => ({}), + }, label: { type: String, required: false, @@ -48,7 +53,7 @@ export default { default: null, }, groupsFilter: { - type: String, + type: String, // Two supported values: `descendant_groups` and `subgroups` See app/assets/javascripts/vue_shared/components/entity_select/utils.js. required: false, default: null, }, @@ -62,17 +67,15 @@ export default { async fetchGroups(searchString = '', page = 1) { let groups = []; let totalPages = 0; + const params = { + search: searchString, + per_page: DEFAULT_PER_PAGE, + page, + ...this.apiParams, + }; try { - const { data = [], headers } = await axios.get( - Api.buildUrl(groupsPath(this.groupsFilter, this.parentGroupID)), - { - params: { - search: searchString, - per_page: DEFAULT_PER_PAGE, - page, - }, - }, - ); + const url = groupsPath(this.groupsFilter, this.parentGroupID); + const { data = [], headers } = await axios.get(url, { params }); groups = data.map((group) => ({ ...group, text: group.full_name, diff --git a/app/assets/javascripts/vue_shared/components/entity_select/utils.js b/app/assets/javascripts/vue_shared/components/entity_select/utils.js index 0a4622269f4..857a3ab4c74 100644 --- a/app/assets/javascripts/vue_shared/components/entity_select/utils.js +++ b/app/assets/javascripts/vue_shared/components/entity_select/utils.js @@ -1,15 +1,26 @@ import Api from '~/api'; +/** + * @param {'descendant_groups'|'subgroups'|null} [groupsFilter] - type of group filtering + * @param {string|null} [parentGroupID] - parent group is needed for 'descendant_groups' and 'subgroups' filtering. + */ export const groupsPath = (groupsFilter, parentGroupID) => { - if (groupsFilter !== undefined && parentGroupID === undefined) { + if (groupsFilter && !parentGroupID) { throw new Error('Cannot use groupsFilter without a parentGroupID'); } + + let url = ''; switch (groupsFilter) { case 'descendant_groups': - return Api.descendantGroupsPath.replace(':id', parentGroupID); + url = Api.descendantGroupsPath.replace(':id', parentGroupID); + break; case 'subgroups': - return Api.subgroupsPath.replace(':id', parentGroupID); + url = Api.subgroupsPath.replace(':id', parentGroupID); + break; default: - return Api.groupsPath; + url = Api.groupsPath; + break; } + + return Api.buildUrl(url); }; diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md index abdd2f1d0d3..df6dd87c896 100644 --- a/doc/administration/monitoring/prometheus/index.md +++ b/doc/administration/monitoring/prometheus/index.md @@ -109,7 +109,7 @@ prometheus['scrape_configs'] = [ ### Standalone Prometheus using the Linux package -The Linux package can be used to configure a standalone Monitoring node running Prometheus and [Grafana](../performance/grafana_configuration.md). +The Linux package can be used to configure a standalone Monitoring node running Prometheus and [Grafana](../performance/grafana_configuration.md). A standalone Monitoring node is recommended for [GitLab deployments with multiple nodes](../../reference_architectures/index.md). The steps below are the minimum necessary to configure a Monitoring node running Prometheus and Grafana with the Linux package: @@ -169,7 +169,7 @@ ensure that `prometheus['scrape_configs']` is not set in `/etc/gitlab/gitlab.rb` WARNING: Prometheus and most exporters don't support authentication. We don't recommend exposing them outside the local network. -A few configuration changes are required to allow GitLab to be monitored by an external Prometheus server. External servers are recommended for [GitLab deployments with multiple nodes](../../reference_architectures/index.md). +A few configuration changes are required to allow GitLab to be monitored by an external Prometheus server. To use an external Prometheus server: diff --git a/doc/user/application_security/dependency_scanning/index.md b/doc/user/application_security/dependency_scanning/index.md index 0dd16fda8c2..3515e22db6c 100644 --- a/doc/user/application_security/dependency_scanning/index.md +++ b/doc/user/application_security/dependency_scanning/index.md @@ -335,7 +335,7 @@ The following package managers use lockfiles that GitLab analyzers are capable o | Go | Not applicable | [1.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/go-modules/gosum/default/go.sum) <sup><strong><a href="#notes-regarding-parsing-lockfiles-1">1</a></strong></sup> | | NuGet | v1, v2<sup><b><a href="#notes-regarding-parsing-lockfiles-2">2</a></b></sup> | [4.9](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/csharp-nuget-dotnetcore/default/src/web.api/packages.lock.json#L2) | | npm | v1, v2, v3<sup><b><a href="#notes-regarding-parsing-lockfiles-3">3</a></b></sup> | [6.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-npm/default/package-lock.json#L4), [7.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-npm/lockfileVersion2/package-lock.json#L4), [9.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/scanner/parser/npm/fixtures/lockfile-v3/simple/package-lock.json#L4) | -| pnpm | v5.3, v5.4, v6 | [7.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-pnpm/default/pnpm-lock.yaml#L1), [8.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/scanner/parser/pnpm/fixtures/v6/simple/pnpm-lock.yaml#L1) | +| pnpm | v5, v6 | [7.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-pnpm/default/pnpm-lock.yaml#L1), [8.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/scanner/parser/pnpm/fixtures/v6/simple/pnpm-lock.yaml#L1) | | yarn | v1, v2<sup><b><a href="#notes-regarding-parsing-lockfiles-4">4</a></b></sup>, v3<sup><b><a href="#notes-regarding-parsing-lockfiles-4">4</a></b></sup> | [1.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-yarn/classic/default/yarn.lock#L2), [2.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-yarn/berry/v2/default/yarn.lock), [3.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/js-yarn/berry/v3/default/yarn.lock) | | Poetry | v1 | [1.x](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/master/qa/fixtures/python-poetry/default/poetry.lock) | diff --git a/doc/user/application_security/policies/scan-execution-policies.md b/doc/user/application_security/policies/scan-execution-policies.md index 1ec04f5b3ee..8ea9238353f 100644 --- a/doc/user/application_security/policies/scan-execution-policies.md +++ b/doc/user/application_security/policies/scan-execution-policies.md @@ -102,7 +102,7 @@ the following sections and tables provide an alternative. FLAG: On self-managed GitLab, by default the `branch_exceptions` field is not available. To make it available, an administrator can [enable the feature flag](../../../administration/feature_flags.md) named `security_policies_branch_exceptions`. -On GitLab.com, this feature is not available. +On GitLab.com, this feature is available. This rule enforces the defined actions whenever the pipeline runs for a selected branch. @@ -123,7 +123,7 @@ This rule enforces the defined actions whenever the pipeline runs for a selected FLAG: On self-managed GitLab, by default the `branch_exceptions` field is not available. To make it available, an administrator can [enable the feature flag](../../../administration/feature_flags.md) named `security_policies_branch_exceptions`. -On GitLab.com, this feature is not available. +On GitLab.com, this feature is available. This rule schedules a scan pipeline, enforcing the defined actions on the schedule defined in the `cadence` field. A scheduled pipeline does not run other jobs defined in the project's `.gitlab-ci.yml` file. When a project is linked to a security policy project, a security policy bot is created in the project and will become the author of any scheduled pipelines. diff --git a/doc/user/application_security/policies/scan-result-policies.md b/doc/user/application_security/policies/scan-result-policies.md index 60173bfb909..bdd35ba19f7 100644 --- a/doc/user/application_security/policies/scan-result-policies.md +++ b/doc/user/application_security/policies/scan-result-policies.md @@ -112,7 +112,7 @@ On GitLab.com, this feature is available. FLAG: On self-managed GitLab, by default the `branch_exceptions` field is not available. To make it available, an administrator can [enable the feature flag](../../../administration/feature_flags.md) named `security_policies_branch_exceptions`. -On GitLab.com, this feature is not available. +On GitLab.com, this feature is available. This rule enforces the defined actions based on security scan findings. @@ -137,7 +137,7 @@ This rule enforces the defined actions based on security scan findings. FLAG: On self-managed GitLab, by default the `branch_exceptions` field is not available. To make it available, an administrator can [enable the feature flag](../../../administration/feature_flags.md) named `security_policies_branch_exceptions`. -On GitLab.com, this feature is not available. +On GitLab.com, this feature is available. This rule enforces the defined actions based on license findings. @@ -158,7 +158,7 @@ This rule enforces the defined actions based on license findings. FLAG: On self-managed GitLab, by default the `branch_exceptions` field is not available. To make it available, an administrator can [enable the feature flag](../../../administration/feature_flags.md) named `security_policies_branch_exceptions`. -On GitLab.com, this feature is not available. +On GitLab.com, this feature is available. This rule enforces the defined actions for any merge request based on the commits signature. diff --git a/locale/gitlab.pot b/locale/gitlab.pot index ad5c6ac1c71..e9692ecb13c 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -28853,6 +28853,99 @@ msgstr "" msgid "MemberInviteEmail|Invitation to join the %{project_or_group} %{project_or_group_name}" msgstr "" +msgid "MemberRoles|Actions" +msgstr "" + +msgid "MemberRoles|Add new role" +msgstr "" + +msgid "MemberRoles|Admin vulnerability" +msgstr "" + +msgid "MemberRoles|Allows admin access to the vulnerability reports. 'Read vulnerability' must be selected in order to take effect." +msgstr "" + +msgid "MemberRoles|Allows read-only access to the source code." +msgstr "" + +msgid "MemberRoles|Allows read-only access to the vulnerability reports." +msgstr "" + +msgid "MemberRoles|Are you sure you want to delete this role?" +msgstr "" + +msgid "MemberRoles|Base role" +msgstr "" + +msgid "MemberRoles|Base role to use as template" +msgstr "" + +msgid "MemberRoles|Create new role" +msgstr "" + +msgid "MemberRoles|Custom roles" +msgstr "" + +msgid "MemberRoles|Delete role" +msgstr "" + +msgid "MemberRoles|Description" +msgstr "" + +msgid "MemberRoles|Enter a short name." +msgstr "" + +msgid "MemberRoles|Failed to create role." +msgstr "" + +msgid "MemberRoles|Failed to delete the role." +msgstr "" + +msgid "MemberRoles|Failed to fetch roles." +msgstr "" + +msgid "MemberRoles|ID" +msgstr "" + +msgid "MemberRoles|Incident manager" +msgstr "" + +msgid "MemberRoles|Make sure the group has an Ultimate license." +msgstr "" + +msgid "MemberRoles|Name" +msgstr "" + +msgid "MemberRoles|No custom roles for this group" +msgstr "" + +msgid "MemberRoles|Permissions" +msgstr "" + +msgid "MemberRoles|Read code" +msgstr "" + +msgid "MemberRoles|Read vulnerability" +msgstr "" + +msgid "MemberRoles|Removing a custom role also removes all members with this custom role from the group. If you decide to delete a custom role, you must re-add these users to the group." +msgstr "" + +msgid "MemberRoles|Role name" +msgstr "" + +msgid "MemberRoles|Role successfully created." +msgstr "" + +msgid "MemberRoles|Role successfully deleted." +msgstr "" + +msgid "MemberRoles|Select a standard role to add permissions." +msgstr "" + +msgid "MemberRoles|To add a new role select a group and then 'Add new role'." +msgstr "" + msgid "MemberRole|%{requirement} has to be enabled in order to enable %{permission}." msgstr "" diff --git a/spec/frontend/vue_shared/components/entity_select/utils_spec.js b/spec/frontend/vue_shared/components/entity_select/utils_spec.js index 9aa1baf204e..1d73924aa58 100644 --- a/spec/frontend/vue_shared/components/entity_select/utils_spec.js +++ b/spec/frontend/vue_shared/components/entity_select/utils_spec.js @@ -2,12 +2,16 @@ import { groupsPath } from '~/vue_shared/components/entity_select/utils'; describe('entity_select utils', () => { describe('groupsPath', () => { + beforeEach(() => { + window.gon = { api_version: 'v4' }; + }); + it.each` groupsFilter | parentGroupID | expectedPath - ${undefined} | ${undefined} | ${'/api/:version/groups.json'} - ${undefined} | ${1} | ${'/api/:version/groups.json'} - ${'descendant_groups'} | ${1} | ${'/api/:version/groups/1/descendant_groups'} - ${'subgroups'} | ${1} | ${'/api/:version/groups/1/subgroups'} + ${undefined} | ${undefined} | ${'/api/v4/groups.json'} + ${undefined} | ${1} | ${'/api/v4/groups.json'} + ${'descendant_groups'} | ${1} | ${'/api/v4/groups/1/descendant_groups'} + ${'subgroups'} | ${1} | ${'/api/v4/groups/1/subgroups'} `( 'returns $expectedPath with groupsFilter = $groupsFilter and parentGroupID = $parentGroupID', ({ groupsFilter, parentGroupID, expectedPath }) => { |