Commit 15a2d004 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent 80ff3642
...@@ -416,9 +416,6 @@ linters: ...@@ -416,9 +416,6 @@ linters:
- 'app/views/u2f/_register.html.haml' - 'app/views/u2f/_register.html.haml'
- 'app/views/users/_deletion_guidance.html.haml' - 'app/views/users/_deletion_guidance.html.haml'
- 'ee/app/views/admin/_namespace_plan_info.html.haml' - 'ee/app/views/admin/_namespace_plan_info.html.haml'
- 'ee/app/views/admin/application_settings/_elasticsearch_form.html.haml'
- 'ee/app/views/admin/application_settings/_slack.html.haml'
- 'ee/app/views/admin/application_settings/_snowplow.html.haml'
- 'ee/app/views/admin/application_settings/_templates.html.haml' - 'ee/app/views/admin/application_settings/_templates.html.haml'
- 'ee/app/views/admin/audit_logs/index.html.haml' - 'ee/app/views/admin/audit_logs/index.html.haml'
- 'ee/app/views/admin/dashboard/stats.html.haml' - 'ee/app/views/admin/dashboard/stats.html.haml'
......
...@@ -315,6 +315,10 @@ module ApplicationSettingsHelper ...@@ -315,6 +315,10 @@ module ApplicationSettingsHelper
Rails.env.test? Rails.env.test?
end end
def integration_expanded?(substring)
@application_setting.errors.any? { |k| k.to_s.start_with?(substring) }
end
def instance_clusters_enabled? def instance_clusters_enabled?
can?(current_user, :read_cluster, Clusters::Instance.new) can?(current_user, :read_cluster, Clusters::Instance.new)
end end
......
= form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-plantuml-settings'), html: { class: 'fieldset-form' } do |f| - expanded = integration_expanded?('plantuml_')
= form_errors(@application_setting) %section.settings.as-plantuml.no-animate#js-plantuml-settings{ class: ('expanded' if expanded) }
.settings-header
%h4
= _('PlantUML')
%button.btn.btn-default.js-settings-toggle{ type: 'button' }
= expanded ? _('Collapse') : _('Expand')
%p
= _('Allow rendering of PlantUML diagrams in Asciidoc documents.')
.settings-content
= form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-plantuml-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting) if expanded
%fieldset %fieldset
.form-group .form-group
.form-check .form-check
= f.check_box :plantuml_enabled, class: 'form-check-input' = f.check_box :plantuml_enabled, class: 'form-check-input'
= f.label :plantuml_enabled, class: 'form-check-label' do = f.label :plantuml_enabled, _('Enable PlantUML'), class: 'form-check-label'
Enable PlantUML
.form-group .form-group
= f.label :plantuml_url, 'PlantUML URL', class: 'label-bold' = f.label :plantuml_url, 'PlantUML URL', class: 'label-bold'
= f.text_field :plantuml_url, class: 'form-control', placeholder: 'http://gitlab.your-plantuml-instance.com:8080' = f.text_field :plantuml_url, class: 'form-control', placeholder: 'http://gitlab.your-plantuml-instance.com:8080'
...@@ -15,4 +24,4 @@ ...@@ -15,4 +24,4 @@
= link_to "PlantUML", "http://plantuml.com" = link_to "PlantUML", "http://plantuml.com"
diagrams in Asciidoc documents using an external PlantUML service. diagrams in Asciidoc documents using an external PlantUML service.
= f.submit 'Save changes', class: "btn btn-success" = f.submit _('Save changes'), class: "btn btn-success"
- expanded = true if !@application_setting.valid? && @application_setting.errors.any? { |k| k.to_s.start_with?('snowplow_') } - expanded = integration_expanded?('snowplow_')
%section.settings.as-snowplow.no-animate#js-snowplow-settings{ class: ('expanded' if expanded) } %section.settings.as-snowplow.no-animate#js-snowplow-settings{ class: ('expanded' if expanded) }
.settings-header .settings-header
%h4 %h4
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
.settings-content .settings-content
= form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-snowplow-settings'), html: { class: 'fieldset-form' } do |f| = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-snowplow-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting) = form_errors(@application_setting) if expanded
%fieldset %fieldset
.form-group .form-group
......
- application_setting = local_assigns.fetch(:application_setting) - expanded = integration_expanded?('hide_third_party_')
%section.settings.as-third-party-offers.no-animate#js-third-party-offers-settings{ class: ('expanded' if expanded) }
.settings-header
%h4
= _('Third party offers')
%button.btn.btn-default.js-settings-toggle{ type: 'button' }
= expanded ? _('Collapse') : _('Expand')
%p
= _('Control the display of third party offers.')
.settings-content
= form_for application_setting, url: integrations_admin_application_settings_path(anchor: 'js-third-party-offers-settings'), html: { class: 'fieldset-form' } do |f| = form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-third-party-offers-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(application_setting) = form_errors(@application_setting) if expanded
%fieldset %fieldset
.form-group .form-group
.form-check .form-check
= f.check_box :hide_third_party_offers, class: 'form-check-input' = f.check_box :hide_third_party_offers, class: 'form-check-input'
= f.label :hide_third_party_offers, class: 'form-check-label' do = f.label :hide_third_party_offers, _('Do not display offers from third parties within GitLab'), class: 'form-check-label'
Do not display offers from third parties within GitLab
= f.submit 'Save changes', class: "btn btn-success" = f.submit _('Save changes'), class: "btn btn-success"
...@@ -2,31 +2,10 @@ ...@@ -2,31 +2,10 @@
- page_title _("Integrations") - page_title _("Integrations")
- @content_class = "limit-container-width" unless fluid_layout - @content_class = "limit-container-width" unless fluid_layout
= render_if_exists 'admin/application_settings/elasticsearch_form', expanded: expanded_by_default? = render_if_exists 'admin/application_settings/elasticsearch_form'
= render 'admin/application_settings/plantuml'
%section.settings.as-plantuml.no-animate#js-plantuml-settings{ class: ('expanded' if expanded_by_default?) } = render_if_exists 'admin/application_settings/slack'
.settings-header = render 'admin/application_settings/third_party_offers'
%h4 = render 'admin/application_settings/snowplow'
= _('PlantUML')
%button.btn.btn-default.js-settings-toggle{ type: 'button' }
= expanded_by_default? ? _('Collapse') : _('Expand')
%p
= _('Allow rendering of PlantUML diagrams in Asciidoc documents.')
.settings-content
= render 'plantuml'
= render_if_exists 'admin/application_settings/slack', expanded: expanded_by_default?
%section.settings.as-third-party-offers.no-animate#js-third-party-offers-settings{ class: ('expanded' if expanded_by_default?) }
.settings-header
%h4
= _('Third party offers')
%button.btn.btn-default.js-settings-toggle{ type: 'button' }
= expanded_by_default? ? _('Collapse') : _('Expand')
%p
= _('Control the display of third party offers.')
.settings-content
= render 'third_party_offers', application_setting: @application_setting
= render 'admin/application_settings/snowplow', expanded: expanded_by_default?
= render_if_exists 'admin/application_settings/pendo' = render_if_exists 'admin/application_settings/pendo'
# Visual Review discussions API **(STARTER**) # Visual Review discussions API **(STARTER)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/merge_requests/18710) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.5. > [Introduced](https://gitlab.com/gitlab-org/gitlab/merge_requests/18710) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.5.
......
...@@ -59,7 +59,7 @@ the terminal and type commands like a normal shell. ...@@ -59,7 +59,7 @@ the terminal and type commands like a normal shell.
If you have the terminal open and the job has finished with its tasks, the If you have the terminal open and the job has finished with its tasks, the
terminal will block the job from finishing for the duration configured in terminal will block the job from finishing for the duration configured in
[`[session_server].terminal_max_retention_time`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-session_server-section) until you [`[session_server].session_timeout`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-session_server-section) until you
close the terminal window. close the terminal window.
![finished job with terminal open](img/finished_job_with_terminal_open.png) ![finished job with terminal open](img/finished_job_with_terminal_open.png)
......
...@@ -50,7 +50,7 @@ project's **Pipelines** page. ...@@ -50,7 +50,7 @@ project's **Pipelines** page.
This guide assumes that you have: This guide assumes that you have:
- A working GitLab instance of version 8.0+r or are using - A working GitLab instance of version 8.0+ or are using
[GitLab.com](https://gitlab.com). [GitLab.com](https://gitlab.com).
- A project in GitLab that you would like to use CI for. - A project in GitLab that you would like to use CI for.
- Maintainer or owner access to the project - Maintainer or owner access to the project
......
This diff is collapsed.
...@@ -61,6 +61,7 @@ bundle exec rspec spec/[path]/[to]/[spec].rb ...@@ -61,6 +61,7 @@ bundle exec rspec spec/[path]/[to]/[spec].rb
- When using `evaluate_script("$('.js-foo').testSomething()")` (or `execute_script`) which acts on a given element, - When using `evaluate_script("$('.js-foo').testSomething()")` (or `execute_script`) which acts on a given element,
use a Capyabara matcher beforehand (e.g. `find('.js-foo')`) to ensure the element actually exists. use a Capyabara matcher beforehand (e.g. `find('.js-foo')`) to ensure the element actually exists.
- Use `focus: true` to isolate parts of the specs you want to run. - Use `focus: true` to isolate parts of the specs you want to run.
- Use [`:aggregate_failures`](https://relishapp.com/rspec/rspec-core/docs/expectation-framework-integration/aggregating-failures) when there is more than one expectation in a test.
### System / Feature tests ### System / Feature tests
......
...@@ -7,7 +7,7 @@ type: index ...@@ -7,7 +7,7 @@ type: index
# Installation **(CORE ONLY)** # Installation **(CORE ONLY)**
GitLab can be installed in most GNU/Linux distributions and in a number GitLab can be installed in most GNU/Linux distributions and in a number
of cloud providers. To get the best experience from GitLab you need to balance of cloud providers. To get the best experience from GitLab, you need to balance
performance, reliability, ease of administration (backups, upgrades and troubleshooting), performance, reliability, ease of administration (backups, upgrades and troubleshooting),
and cost of hosting. and cost of hosting.
......
...@@ -704,6 +704,18 @@ msgstr "" ...@@ -704,6 +704,18 @@ msgstr ""
msgid "API Token" msgid "API Token"
msgstr "" msgstr ""
msgid "AWS Access Key"
msgstr ""
msgid "AWS Access Key. Only required if not using role instance credentials"
msgstr ""
msgid "AWS Secret Access Key"
msgstr ""
msgid "AWS Secret Access Key. Only required if not using role instance credentials"
msgstr ""
msgid "Abort" msgid "Abort"
msgstr "" msgstr ""
...@@ -5739,6 +5751,9 @@ msgstr "" ...@@ -5739,6 +5751,9 @@ msgstr ""
msgid "Display name" msgid "Display name"
msgstr "" msgstr ""
msgid "Do not display offers from third parties within GitLab"
msgstr ""
msgid "Do you want to customize how Google Code email addresses and usernames are imported into GitLab?" msgid "Do you want to customize how Google Code email addresses and usernames are imported into GitLab?"
msgstr "" msgstr ""
...@@ -5925,6 +5940,9 @@ msgstr "" ...@@ -5925,6 +5940,9 @@ msgstr ""
msgid "Elasticsearch" msgid "Elasticsearch"
msgstr "" msgstr ""
msgid "Elasticsearch AWS IAM credentials"
msgstr ""
msgid "Elasticsearch indexing restrictions" msgid "Elasticsearch indexing restrictions"
msgstr "" msgstr ""
...@@ -6033,6 +6051,9 @@ msgstr "" ...@@ -6033,6 +6051,9 @@ msgstr ""
msgid "Enable Incident Management inbound alert limit" msgid "Enable Incident Management inbound alert limit"
msgstr "" msgstr ""
msgid "Enable PlantUML"
msgstr ""
msgid "Enable Pseudonymizer data collection" msgid "Enable Pseudonymizer data collection"
msgstr "" msgstr ""
...@@ -13709,6 +13730,9 @@ msgstr "" ...@@ -13709,6 +13730,9 @@ msgstr ""
msgid "Regex pattern" msgid "Regex pattern"
msgstr "" msgstr ""
msgid "Region that Elasticsearch is configured"
msgstr ""
msgid "Register" msgid "Register"
msgstr "" msgstr ""
...@@ -16501,6 +16525,9 @@ msgstr "" ...@@ -16501,6 +16525,9 @@ msgstr ""
msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project."
msgstr "" msgstr ""
msgid "The URL to use for connecting to Elasticsearch. Use a comma-separated list to support clustering (e.g., \"http://localhost:9200, http://localhost:9201\")."
msgstr ""
msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS."
msgstr "" msgstr ""
...@@ -17131,6 +17158,9 @@ msgstr "" ...@@ -17131,6 +17158,9 @@ msgstr ""
msgid "This option is disabled as you don't have write permissions for the current branch" msgid "This option is disabled as you don't have write permissions for the current branch"
msgstr "" msgstr ""
msgid "This option is only available on GitLab.com"
msgstr ""
msgid "This page is unavailable because you are not allowed to read information across multiple projects." msgid "This page is unavailable because you are not allowed to read information across multiple projects."
msgstr "" msgstr ""
......
...@@ -38,7 +38,26 @@ describe ApplicationSettingsHelper do ...@@ -38,7 +38,26 @@ describe ApplicationSettingsHelper do
it_behaves_like 'when HTTP protocol is in use', 'http' it_behaves_like 'when HTTP protocol is in use', 'http'
context 'with tracking parameters' do context 'with tracking parameters' do
it { expect(visible_attributes).to include(*%i(snowplow_collector_hostname snowplow_cookie_domain snowplow_enabled snowplow_site_id))} it { expect(visible_attributes).to include(*%i(snowplow_collector_hostname snowplow_cookie_domain snowplow_enabled snowplow_site_id)) }
it { expect(visible_attributes).to include(*%i(pendo_enabled pendo_url))} it { expect(visible_attributes).to include(*%i(pendo_enabled pendo_url)) }
end
describe '.integration_expanded?' do
let(:application_setting) { build(:application_setting) }
it 'is expanded' do
application_setting.plantuml_enabled = true
application_setting.valid?
helper.instance_variable_set(:@application_setting, application_setting)
expect(helper.integration_expanded?('plantuml_')).to be_truthy
end
it 'is not expanded' do
application_setting.valid?
helper.instance_variable_set(:@application_setting, application_setting)
expect(helper.integration_expanded?('plantuml_')).to be_falsey
end
end end
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