summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab/ci/memory.gitlab-ci.yml23
-rw-r--r--Gemfile4
-rw-r--r--Gemfile.lock4
-rw-r--r--app/assets/javascripts/lib/graphql.js2
-rw-r--r--app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue56
-rw-r--r--app/assets/javascripts/pages/projects/shared/permissions/mixins/settings_pannel_mixin.js26
-rw-r--r--app/assets/javascripts/repository/components/last_commit.vue135
-rw-r--r--app/assets/javascripts/repository/index.js30
-rw-r--r--app/assets/javascripts/repository/queries/pathLastCommit.query.graphql6
-rw-r--r--app/models/note.rb2
-rw-r--r--app/models/project_services/jira_service.rb24
-rw-r--r--app/views/projects/_files.html.haml4
-rw-r--r--changelogs/unreleased/63479-jira-capitalization.yml5
-rw-r--r--changelogs/unreleased/small-s-in-elasticsearch-in-code.yml5
-rw-r--r--changelogs/unreleased/transaction-metrics.yml5
-rw-r--r--config/boot.rb2
-rw-r--r--config/gitlab.yml.example2
-rw-r--r--config/initializers/jira.rb2
-rw-r--r--config/initializers/transaction_metrics.rb3
-rw-r--r--doc/README.md2
-rw-r--r--doc/administration/logs.md2
-rw-r--r--doc/api/merge_requests.md2
-rw-r--r--doc/api/services.md26
-rw-r--r--doc/development/contributing/issue_workflow.md5
-rw-r--r--doc/integration/README.md4
-rw-r--r--doc/push_rules/push_rules.md4
-rw-r--r--doc/university/README.md2
-rw-r--r--doc/university/support/README.md2
-rw-r--r--doc/user/index.md4
-rw-r--r--doc/user/project/integrations/jira.md14
-rw-r--r--doc/user/project/integrations/jira_cloud_configuration.md12
-rw-r--r--doc/user/project/integrations/jira_server_configuration.md2
-rw-r--r--doc/user/project/integrations/project_services.md2
-rw-r--r--lib/api/helpers/services_helpers.rb10
-rw-r--r--lib/gitlab/database.rb33
-rw-r--r--lib/gitlab/optimistic_locking.rb1
-rw-r--r--lib/gitlab/search/found_blob.rb2
-rw-r--r--locale/ar_SA/gitlab.po6
-rw-r--r--locale/bg/gitlab.po6
-rw-r--r--locale/bn_BD/gitlab.po6
-rw-r--r--locale/bn_IN/gitlab.po6
-rw-r--r--locale/ca_ES/gitlab.po6
-rw-r--r--locale/cs_CZ/gitlab.po6
-rw-r--r--locale/cy_GB/gitlab.po6
-rw-r--r--locale/da_DK/gitlab.po6
-rw-r--r--locale/de/gitlab.po6
-rw-r--r--locale/el_GR/gitlab.po6
-rw-r--r--locale/eo/gitlab.po6
-rw-r--r--locale/es/gitlab.po6
-rw-r--r--locale/et_EE/gitlab.po6
-rw-r--r--locale/fil_PH/gitlab.po6
-rw-r--r--locale/fr/gitlab.po6
-rw-r--r--locale/gitlab.pot6
-rw-r--r--locale/gl_ES/gitlab.po6
-rw-r--r--locale/he_IL/gitlab.po6
-rw-r--r--locale/hi_IN/gitlab.po6
-rw-r--r--locale/hr_HR/gitlab.po6
-rw-r--r--locale/hu_HU/gitlab.po6
-rw-r--r--locale/id_ID/gitlab.po6
-rw-r--r--locale/it/gitlab.po6
-rw-r--r--locale/ja/gitlab.po6
-rw-r--r--locale/ka_GE/gitlab.po6
-rw-r--r--locale/ko/gitlab.po6
-rw-r--r--locale/mn_MN/gitlab.po6
-rw-r--r--locale/nb_NO/gitlab.po6
-rw-r--r--locale/nl_NL/gitlab.po6
-rw-r--r--locale/pa_IN/gitlab.po6
-rw-r--r--locale/pl_PL/gitlab.po6
-rw-r--r--locale/pt_BR/gitlab.po6
-rw-r--r--locale/pt_PT/gitlab.po6
-rw-r--r--locale/ro_RO/gitlab.po6
-rw-r--r--locale/ru/gitlab.po6
-rw-r--r--locale/sk_SK/gitlab.po6
-rw-r--r--locale/sq_AL/gitlab.po6
-rw-r--r--locale/sr_CS/gitlab.po6
-rw-r--r--locale/sr_SP/gitlab.po6
-rw-r--r--locale/sv_SE/gitlab.po6
-rw-r--r--locale/sw_KE/gitlab.po6
-rw-r--r--locale/tr_TR/gitlab.po6
-rw-r--r--locale/uk/gitlab.po6
-rw-r--r--locale/zh_CN/gitlab.po6
-rw-r--r--locale/zh_HK/gitlab.po6
-rw-r--r--locale/zh_TW/gitlab.po6
-rw-r--r--qa/qa/page/settings/common.rb2
-rwxr-xr-xscripts/generate-memory-metrics-on-boot11
-rw-r--r--scripts/prepare_build.sh9
-rw-r--r--spec/controllers/projects/services_controller_spec.rb10
-rw-r--r--spec/features/projects/files/user_reads_pipeline_status_spec.rb2
-rw-r--r--spec/features/projects/services/user_activates_jira_spec.rb28
-rw-r--r--spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb4
-rw-r--r--spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap16
-rw-r--r--spec/frontend/repository/components/last_commit_spec.js21
-rw-r--r--spec/lib/gitlab/import_export/project.json2
-rw-r--r--spec/lib/gitlab/issuable_sorter_spec.rb2
-rw-r--r--spec/lib/gitlab/reference_extractor_spec.rb6
-rw-r--r--spec/models/concerns/mentionable_spec.rb2
-rw-r--r--spec/models/project_services/jira_service_spec.rb12
-rw-r--r--spec/services/merge_requests/merge_service_spec.rb6
-rw-r--r--spec/services/system_note_service_spec.rb2
-rw-r--r--spec/support/helpers/jira_service_helper.rb2
-rw-r--r--spec/views/projects/services/_form.haml_spec.rb6
101 files changed, 479 insertions, 409 deletions
diff --git a/.gitlab/ci/memory.gitlab-ci.yml b/.gitlab/ci/memory.gitlab-ci.yml
index ffe5dbdc31b..2f3907a331a 100644
--- a/.gitlab/ci/memory.gitlab-ci.yml
+++ b/.gitlab/ci/memory.gitlab-ci.yml
@@ -17,26 +17,3 @@ memory-static:
- tmp/memory_*.txt
reports:
metrics: tmp/memory_metrics.txt
-
-# Show memory usage caused by invoking require per gem.
-# Unlike `memory-static`, it hits the app with one request to ensure that any last minute require-s have been called.
-# The application is booted in `production` environment.
-# All tests are run without a webserver (directly using Rack::Mock by default).
-memory-on-boot:
- extends: .rspec-metadata-pg-10
- variables:
- NODE_ENV: "production"
- RAILS_ENV: "production"
- SETUP_DB: "true"
- SKIP_STORAGE_VALIDATION: "true"
- # we override the max_old_space_size to prevent OOM errors
- NODE_OPTIONS: --max_old_space_size=3584
- script:
- # Both bootsnap and derailed monkey-patch Kernel#require, which leads to circular dependency
- - DISABLE_BOOTSNAP=true PATH_TO_HIT="/users/sign_in" CUT_OFF=0.3 bundle exec derailed exec perf:mem >> 'tmp/memory_on_boot.txt'
- - scripts/generate-memory-metrics-on-boot tmp/memory_on_boot.txt >> 'tmp/memory_on_boot_metrics.txt'
- artifacts:
- paths:
- - tmp/memory_*.txt
- reports:
- metrics: tmp/memory_on_boot_metrics.txt
diff --git a/Gemfile b/Gemfile
index 302f39756e8..5caae0c2ca9 100644
--- a/Gemfile
+++ b/Gemfile
@@ -211,7 +211,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
# HipChat integration
gem 'hipchat', '~> 1.5.0'
-# JIRA integration
+# Jira integration
gem 'jira-ruby', '~> 1.4'
# Flowdock integration
@@ -309,7 +309,7 @@ group :metrics do
gem 'influxdb', '~> 0.2', require: false
# Prometheus
- gem 'prometheus-client-mmap', '~> 0.9.4'
+ gem 'prometheus-client-mmap', '~> 0.9.6'
gem 'raindrops', '~> 0.18'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index 4881faac0e0..fd366ac16b0 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -652,7 +652,7 @@ GEM
parser
unparser
procto (0.0.3)
- prometheus-client-mmap (0.9.4)
+ prometheus-client-mmap (0.9.6)
pry (0.11.3)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
@@ -1173,7 +1173,7 @@ DEPENDENCIES
peek-redis (~> 1.2.0)
pg (~> 1.1)
premailer-rails (~> 1.9.7)
- prometheus-client-mmap (~> 0.9.4)
+ prometheus-client-mmap (~> 0.9.6)
pry-byebug (~> 3.5.1)
pry-rails (~> 0.3.4)
puma (~> 3.12)
diff --git a/app/assets/javascripts/lib/graphql.js b/app/assets/javascripts/lib/graphql.js
index 5857f9e22ae..c05db4a5c71 100644
--- a/app/assets/javascripts/lib/graphql.js
+++ b/app/assets/javascripts/lib/graphql.js
@@ -22,7 +22,7 @@ export default (resolvers = {}, config = {}) => {
return new ApolloClient({
link: ApolloLink.split(
- operation => operation.getContext().hasUpload,
+ operation => operation.getContext().hasUpload || operation.getContext().isSingleRequest,
createUploadLink(httpOptions),
new BatchHttpLink(httpOptions),
),
diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue
index dea7c586868..0bcfb740469 100644
--- a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue
+++ b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue
@@ -1,6 +1,7 @@
<script>
+import settingsMixin from 'ee_else_ce/pages/projects/shared/permissions/mixins/settings_pannel_mixin';
import projectFeatureSetting from './project_feature_setting.vue';
-import projectFeatureToggle from '../../../../../vue_shared/components/toggle_button.vue';
+import projectFeatureToggle from '~/vue_shared/components/toggle_button.vue';
import projectSettingRow from './project_setting_row.vue';
import { visibilityOptions, visibilityLevelDescriptions } from '../constants';
import { toggleHiddenClassBySelector } from '../external';
@@ -11,6 +12,7 @@ export default {
projectFeatureToggle,
projectSettingRow,
},
+ mixins: [settingsMixin],
props: {
currentSettings: {
@@ -37,6 +39,11 @@ export default {
required: false,
default: false,
},
+ packagesAvailable: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
visibilityHelpPath: {
type: String,
required: false,
@@ -67,8 +74,12 @@ export default {
required: false,
default: '',
},
+ packagesHelpPath: {
+ type: String,
+ required: false,
+ default: '',
+ },
},
-
data() {
const defaults = {
visibilityOptions,
@@ -148,24 +159,6 @@ export default {
}
},
- repositoryAccessLevel(value, oldValue) {
- if (value < oldValue) {
- // sub-features cannot have more premissive access level
- this.mergeRequestsAccessLevel = Math.min(this.mergeRequestsAccessLevel, value);
- this.buildsAccessLevel = Math.min(this.buildsAccessLevel, value);
-
- if (value === 0) {
- this.containerRegistryEnabled = false;
- this.lfsEnabled = false;
- }
- } else if (oldValue === 0) {
- this.mergeRequestsAccessLevel = value;
- this.buildsAccessLevel = value;
- this.containerRegistryEnabled = true;
- this.lfsEnabled = true;
- }
- },
-
issuesAccessLevel(value, oldValue) {
if (value === 0) toggleHiddenClassBySelector('.issues-feature', true);
else if (oldValue === 0) toggleHiddenClassBySelector('.issues-feature', false);
@@ -207,23 +200,20 @@ export default {
<option
:value="visibilityOptions.PRIVATE"
:disabled="!visibilityAllowed(visibilityOptions.PRIVATE)"
+ >Private</option
>
- Private
- </option>
<option
:value="visibilityOptions.INTERNAL"
:disabled="!visibilityAllowed(visibilityOptions.INTERNAL)"
+ >Internal</option
>
- Internal
- </option>
<option
:value="visibilityOptions.PUBLIC"
:disabled="!visibilityAllowed(visibilityOptions.PUBLIC)"
+ >Public</option
>
- Public
- </option>
</select>
- <i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"> </i>
+ <i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"></i>
</div>
</div>
<span class="form-text text-muted">{{ visibilityLevelDescription }}</span>
@@ -299,6 +289,18 @@ export default {
name="project[lfs_enabled]"
/>
</project-setting-row>
+ <project-setting-row
+ v-if="packagesAvailable"
+ :help-path="packagesHelpPath"
+ label="Packages"
+ help-text="Every project can have its own space to store its packages"
+ >
+ <project-feature-toggle
+ v-model="packagesEnabled"
+ :disabled-input="!repositoryEnabled"
+ name="project[packages_enabled]"
+ />
+ </project-setting-row>
</div>
<project-setting-row label="Wiki" help-text="Pages for project documentation">
<project-feature-setting
diff --git a/app/assets/javascripts/pages/projects/shared/permissions/mixins/settings_pannel_mixin.js b/app/assets/javascripts/pages/projects/shared/permissions/mixins/settings_pannel_mixin.js
new file mode 100644
index 00000000000..fcbd81416f2
--- /dev/null
+++ b/app/assets/javascripts/pages/projects/shared/permissions/mixins/settings_pannel_mixin.js
@@ -0,0 +1,26 @@
+export default {
+ data() {
+ return {
+ packagesEnabled: false,
+ };
+ },
+ watch: {
+ repositoryAccessLevel(value, oldValue) {
+ if (value < oldValue) {
+ // sub-features cannot have more premissive access level
+ this.mergeRequestsAccessLevel = Math.min(this.mergeRequestsAccessLevel, value);
+ this.buildsAccessLevel = Math.min(this.buildsAccessLevel, value);
+
+ if (value === 0) {
+ this.containerRegistryEnabled = false;
+ this.lfsEnabled = false;
+ }
+ } else if (oldValue === 0) {
+ this.mergeRequestsAccessLevel = value;
+ this.buildsAccessLevel = value;
+ this.containerRegistryEnabled = true;
+ this.lfsEnabled = true;
+ }
+ },
+ },
+};
diff --git a/app/assets/javascripts/repository/components/last_commit.vue b/app/assets/javascripts/repository/components/last_commit.vue
index f25cee9bb57..26493556063 100644
--- a/app/assets/javascripts/repository/components/last_commit.vue
+++ b/app/assets/javascripts/repository/components/last_commit.vue
@@ -1,10 +1,9 @@
<script>
-import { GlTooltipDirective, GlLink, GlButton } from '@gitlab/ui';
+import { GlTooltipDirective, GlLink, GlButton, GlLoadingIcon } from '@gitlab/ui';
import { sprintf, s__ } from '~/locale';
import Icon from '../../vue_shared/components/icon.vue';
import UserAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
import TimeagoTooltip from '../../vue_shared/components/time_ago_tooltip.vue';
-import CommitPipelineStatus from '../../projects/tree/components/commit_pipeline_status_component.vue';
import CiIcon from '../../vue_shared/components/ci_icon.vue';
import ClipboardButton from '../../vue_shared/components/clipboard_button.vue';
import getRefMixin from '../mixins/get_ref';
@@ -16,11 +15,11 @@ export default {
Icon,
UserAvatarLink,
TimeagoTooltip,
- CommitPipelineStatus,
ClipboardButton,
CiIcon,
GlLink,
GlButton,
+ GlLoadingIcon,
},
directives: {
GlTooltip: GlTooltipDirective,
@@ -39,7 +38,10 @@ export default {
path: this.currentPath.replace(/^\//, ''),
};
},
- update: data => data.project.repository.tree.commit,
+ update: data => data.project.repository.tree.lastCommit,
+ context: {
+ isSingleRequest: true,
+ },
},
},
props: {
@@ -59,14 +61,14 @@ export default {
computed: {
statusTitle() {
return sprintf(s__('Commits|Commit: %{commitText}'), {
- commitText: this.commit.pipeline.detailedStatus.text,
+ commitText: this.commit.latestPipeline.detailedStatus.text,
});
},
isLoading() {
return this.$apollo.queries.commit.loading;
},
showCommitId() {
- return this.commit.id.substr(0, 8);
+ return this.commit.sha.substr(0, 8);
},
},
methods: {
@@ -78,68 +80,75 @@ export default {
</script>
<template>
- <div v-if="!isLoading" class="info-well d-none d-sm-flex project-last-commit commit p-3">
- <user-avatar-link
- v-if="commit.author"
- :link-href="commit.author.webUrl"
- :img-src="commit.author.avatarUrl"
- :img-size="40"
- class="avatar-cell"
- />
- <div class="commit-detail flex-list">
- <div class="commit-content qa-commit-content">
- <gl-link :href="commit.webUrl" class="commit-row-message item-title">
- {{ commit.title }}
- </gl-link>
- <gl-button
- v-if="commit.description"
- :class="{ open: showDescription }"
- :aria-label="__('Show commit description')"
- class="text-expander"
- @click="toggleShowDescription"
- >
- <icon name="ellipsis_h" />
- </gl-button>
- <div class="committer">
+ <div class="info-well d-none d-sm-flex project-last-commit commit p-3">
+ <gl-loading-icon v-if="isLoading" size="md" class="mx-auto" />
+ <template v-else>
+ <user-avatar-link
+ v-if="commit.author"
+ :link-href="commit.author.webUrl"
+ :img-src="commit.author.avatarUrl"
+ :img-size="40"
+ class="avatar-cell"
+ />
+ <div class="commit-detail flex-list">
+ <div class="commit-content qa-commit-content">
+ <gl-link :href="commit.webUrl" class="commit-row-message item-title">
+ {{ commit.title }}
+ </gl-link>
+ <gl-button
+ v-if="commit.description"
+ :class="{ open: showDescription }"
+ :aria-label="__('Show commit description')"
+ class="text-expander"
+ @click="toggleShowDescription"
+ >
+ <icon name="ellipsis_h" />
+ </gl-button>
+ <div class="committer">
+ <gl-link
+ v-if="commit.author"
+ :href="commit.author.webUrl"
+ class="commit-author-link js-user-link"
+ >
+ {{ commit.author.name }}
+ </gl-link>
+ authored
+ <timeago-tooltip :time="commit.authoredDate" tooltip-placement="bottom" />
+ </div>
+ <pre
+ v-if="commit.description"
+ v-show="showDescription"
+ class="commit-row-description append-bottom-8"
+ >
+ {{ commit.description }}
+ </pre>
+ </div>
+ <div class="commit-actions flex-row">
<gl-link
- v-if="commit.author"
- :href="commit.author.webUrl"
- class="commit-author-link js-user-link"
+ v-if="commit.latestPipeline"
+ v-gl-tooltip
+ :href="commit.latestPipeline.detailedStatus.detailsPath"
+ :title="statusTitle"
+ class="js-commit-pipeline"
>
- {{ commit.author.name }}
+ <ci-icon
+ :status="commit.latestPipeline.detailedStatus"
+ :size="24"
+ :aria-label="statusTitle"
+ />
</gl-link>
- authored
- <timeago-tooltip :time="commit.authoredDate" tooltip-placement="bottom" />
- </div>
- <pre
- v-if="commit.description"
- v-show="showDescription"
- class="commit-row-description append-bottom-8"
- >
- {{ commit.description }}
- </pre>
- </div>
- <div class="commit-actions flex-row">
- <gl-link
- v-if="commit.pipeline"
- v-gl-tooltip
- :href="commit.pipeline.detailedStatus.detailsPath"
- :title="statusTitle"
- class="js-commit-pipeline"
- >
- <ci-icon :status="commit.pipeline.detailedStatus" :size="24" :aria-label="statusTitle" />
- </gl-link>
- <div class="commit-sha-group d-flex">
- <div class="label label-monospace monospace">
- {{ showCommitId }}
+ <div class="commit-sha-group d-flex">
+ <div class="label label-monospace monospace">
+ {{ showCommitId }}
+ </div>
+ <clipboard-button
+ :text="commit.sha"
+ :title="__('Copy commit SHA to clipboard')"
+ tooltip-placement="bottom"
+ />
</div>
- <clipboard-button
- :text="commit.id"
- :title="__('Copy commit SHA to clipboard')"
- tooltip-placement="bottom"
- />
</div>
</div>
- </div>
+ </template>
</div>
</template>
diff --git a/app/assets/javascripts/repository/index.js b/app/assets/javascripts/repository/index.js
index 6280977b05b..ea051eaa414 100644
--- a/app/assets/javascripts/repository/index.js
+++ b/app/assets/javascripts/repository/index.js
@@ -50,23 +50,19 @@ export default function setupVueRepositoryList() {
},
});
- const commitEl = document.getElementById('js-last-commit');
-
- if (commitEl) {
- // eslint-disable-next-line no-new
- new Vue({
- el: commitEl,
- router,
- apolloProvider,
- render(h) {
- return h(LastCommit, {
- props: {
- currentPath: this.$route.params.pathMatch,
- },
- });
- },
- });
- }
+ // eslint-disable-next-line no-new
+ new Vue({
+ el: document.getElementById('js-last-commit'),
+ router,
+ apolloProvider,
+ render(h) {
+ return h(LastCommit, {
+ props: {
+ currentPath: this.$route.params.pathMatch,
+ },
+ });
+ },
+ });
return new Vue({
el,
diff --git a/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql b/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
index 90901f54d54..3bdfd979fa4 100644
--- a/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
+++ b/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
@@ -2,8 +2,8 @@ query pathLastCommit($projectPath: ID!, $path: String, $ref: String!) {
project(fullPath: $projectPath) {
repository {
tree(path: $path, ref: $ref) {
- commit {
- id
+ lastCommit {
+ sha
title
message
webUrl
@@ -13,7 +13,7 @@ query pathLastCommit($projectPath: ID!, $path: String, $ref: String!) {
avatarUrl
webUrl
}
- pipeline {
+ latestPipeline {
detailedStatus {
detailsPath
icon
diff --git a/app/models/note.rb b/app/models/note.rb
index b55af7d9b5e..4e9ea146485 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -452,7 +452,7 @@ class Note < ApplicationRecord
noteable_object&.touch
- # We return the noteable object so we can re-use it in EE for ElasticSearch.
+ # We return the noteable object so we can re-use it in EE for Elasticsearch.
noteable_object
end
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index 7b4832b84a8..f31eb7fd19a 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -14,8 +14,8 @@ class JiraService < IssueTrackerService
format: { with: Gitlab::Regex.jira_transition_id_regex, message: s_("JiraService|transition ids can have only numbers which can be split with , or ;") },
allow_blank: true
- # JIRA cloud version is deprecating authentication via username and password.
- # We should use username/password for JIRA server and email/api_token for JIRA cloud,
+ # Jira Cloud version is deprecating authentication via username and password.
+ # We should use username/password for Jira Server and email/api_token for Jira Cloud,
# for more information check: https://gitlab.com/gitlab-org/gitlab-ce/issues/49936.
prop_accessor :username, :password, :url, :api_url, :jira_issue_transition_id, :title, :description
@@ -24,7 +24,7 @@ class JiraService < IssueTrackerService
alias_method :project_url, :url
# When these are false GitLab does not create cross reference
- # comments on JIRA except when an issue gets transitioned.
+ # comments on Jira except when an issue gets transitioned.
def self.supported_events
%w(commit merge_request)
end
@@ -69,16 +69,16 @@ class JiraService < IssueTrackerService
end
def help
- "You need to configure JIRA before enabling this service. For more details
+ "You need to configure Jira before enabling this service. For more details
read the
- [JIRA service documentation](#{help_page_url('user/project/integrations/jira')})."
+ [Jira service documentation](#{help_page_url('user/project/integrations/jira')})."
end
def title
if self.properties && self.properties['title'].present?
self.properties['title']
else
- 'JIRA'
+ 'Jira'
end
end
@@ -97,7 +97,7 @@ class JiraService < IssueTrackerService
def fields
[
{ type: 'text', name: 'url', title: s_('JiraService|Web URL'), placeholder: 'https://jira.example.com', required: true },
- { type: 'text', name: 'api_url', title: s_('JiraService|JIRA API URL'), placeholder: s_('JiraService|If different from Web URL') },
+ { type: 'text', name: 'api_url', title: s_('JiraService|Jira API URL'), placeholder: s_('JiraService|If different from Web URL') },
{ type: 'text', name: 'username', title: s_('JiraService|Username or Email'), placeholder: s_('JiraService|Use a username for server version and an email for cloud version'), required: true },
{ type: 'password', name: 'password', title: s_('JiraService|Password or API token'), placeholder: s_('JiraService|Use a password for server version and an API token for cloud version'), required: true },
{ type: 'text', name: 'jira_issue_transition_id', title: s_('JiraService|Transition ID(s)'), placeholder: s_('JiraService|Use , or ; to separate multiple transition IDs') }
@@ -130,7 +130,7 @@ class JiraService < IssueTrackerService
commit_url = build_entity_url(:commit, commit_id)
- # Depending on the JIRA project's workflow, a comment during transition
+ # Depending on the Jira project's workflow, a comment during transition
# may or may not be allowed. Refresh the issue after transition and check
# if it is closed, so we don't have one comment for every commit.
issue = jira_request { client.Issue.find(issue.key) } if transition_issue(issue)
@@ -177,7 +177,7 @@ class JiraService < IssueTrackerService
{ success: success, result: result }
end
- # JIRA does not need test data.
+ # Jira does not need test data.
# We are requesting the project that belongs to the project key.
def test_data(user = nil, project = nil)
nil
@@ -313,7 +313,7 @@ class JiraService < IssueTrackerService
name == "project_snippet" ? "snippet" : name
end
- # Handle errors when doing JIRA API calls
+ # Handle errors when doing Jira API calls
def jira_request
yield
@@ -339,9 +339,9 @@ class JiraService < IssueTrackerService
def self.event_description(event)
case event
when "merge_request", "merge_request_events"
- s_("JiraService|JIRA comments will be created when an issue gets referenced in a merge request.")
+ s_("JiraService|Jira comments will be created when an issue gets referenced in a merge request.")
when "commit", "commit_events"
- s_("JiraService|JIRA comments will be created when an issue gets referenced in a commit.")
+ s_("JiraService|Jira comments will be created when an issue gets referenced in a commit.")
end
end
end
diff --git a/app/views/projects/_files.html.haml b/app/views/projects/_files.html.haml
index 2b0c3985755..6763513f9ae 100644
--- a/app/views/projects/_files.html.haml
+++ b/app/views/projects/_files.html.haml
@@ -9,7 +9,9 @@
.nav-block
= render 'projects/tree/tree_header', tree: @tree
- - if commit
+ - if vue_file_list_enabled?
+ #js-last-commit
+ - elsif commit
= render 'shared/commit_well', commit: commit, ref: ref, project: project
- if is_project_overview
diff --git a/changelogs/unreleased/63479-jira-capitalization.yml b/changelogs/unreleased/63479-jira-capitalization.yml
new file mode 100644
index 00000000000..a4cc32beba6
--- /dev/null
+++ b/changelogs/unreleased/63479-jira-capitalization.yml
@@ -0,0 +1,5 @@
+---
+title: Replace 'JIRA' with 'Jira'
+merge_request: 29849
+author: Takuya Noguchi
+type: other
diff --git a/changelogs/unreleased/small-s-in-elasticsearch-in-code.yml b/changelogs/unreleased/small-s-in-elasticsearch-in-code.yml
new file mode 100644
index 00000000000..20d7a822cde
--- /dev/null
+++ b/changelogs/unreleased/small-s-in-elasticsearch-in-code.yml
@@ -0,0 +1,5 @@
+---
+title: Fix typo in code comments about Elasticsearch
+merge_request: 30163
+author: Takuya Noguchi
+type: other
diff --git a/changelogs/unreleased/transaction-metrics.yml b/changelogs/unreleased/transaction-metrics.yml
new file mode 100644
index 00000000000..8b6e9c7d9d1
--- /dev/null
+++ b/changelogs/unreleased/transaction-metrics.yml
@@ -0,0 +1,5 @@
+---
+title: Adds metrics to measure cost of expensive operations
+merge_request: 29928
+author:
+type: other
diff --git a/config/boot.rb b/config/boot.rb
index b76b26a5e75..2811f0e6188 100644
--- a/config/boot.rb
+++ b/config/boot.rb
@@ -3,7 +3,7 @@ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
# Set up gems listed in the Gemfile.
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
begin
- require 'bootsnap/setup' unless ENV['DISABLE_BOOTSNAP']
+ require 'bootsnap/setup'
rescue LoadError
# bootsnap is an optional dependency, so if we don't have it, it's fine
end
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index dddc5ec3540..c82d9b5ceef 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -1078,7 +1078,7 @@ test:
issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"
new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"
jira:
- title: "JIRA"
+ title: "Jira"
url: https://sample_company.atlassian.net
project_key: PROJECT
diff --git a/config/initializers/jira.rb b/config/initializers/jira.rb
index 05f784a6a2a..664f9c87808 100644
--- a/config/initializers/jira.rb
+++ b/config/initializers/jira.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-# Changes JIRA DVCS user agent requests in order to be successfully handled
+# Changes Jira DVCS user agent requests in order to be successfully handled
# by our API.
#
# Gitlab::Jira::Middleware is only defined on EE
diff --git a/config/initializers/transaction_metrics.rb b/config/initializers/transaction_metrics.rb
new file mode 100644
index 00000000000..0175d487e66
--- /dev/null
+++ b/config/initializers/transaction_metrics.rb
@@ -0,0 +1,3 @@
+# frozen_string_literal: true
+
+Gitlab::Database.install_monkey_patches
diff --git a/doc/README.md b/doc/README.md
index cfda2c9293d..489c8117b9d 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -209,7 +209,7 @@ The following documentation relates to the DevOps **Create** stage:
| [GitLab API](api/README.md) | Integrate GitLab via a simple and powerful API. |
| [GitLab Integration](integration/README.md) | Integrate with multiple third-party services with GitLab to allow external issue trackers and external authentication. |
| [GitLab Webhooks](user/project/integrations/webhooks.md) | Let GitLab notify you when new code has been pushed to your project. |
-| [JIRA Development Panel](integration/jira_development_panel.md) **[PREMIUM]** | See GitLab information in the JIRA Development Panel. |
+| [Jira Development Panel](integration/jira_development_panel.md) **[PREMIUM]** | See GitLab information in the Jira Development Panel. |
| [Project Services](user/project/integrations/project_services.md) | Integrate a project with external services, such as CI and chat. |
| [Trello Power-Up](integration/trello_power_up.md) | Integrate with GitLab's Trello Power-Up. |
diff --git a/doc/administration/logs.md b/doc/administration/logs.md
index 022c23d02ce..9921ffd8ea0 100644
--- a/doc/administration/logs.md
+++ b/doc/administration/logs.md
@@ -125,7 +125,7 @@ This file lives in `/var/log/gitlab/gitlab-rails/integrations_json.log` for
Omnibus GitLab packages or in `/home/git/gitlab/log/integrations_json.log` for
installations from source.
-It contains information about [integrations](../user/project/integrations/project_services.md) activities such as JIRA, Asana and Irker services. It uses JSON format like the example below:
+It contains information about [integrations](../user/project/integrations/project_services.md) activities such as Jira, Asana and Irker services. It uses JSON format like the example below:
``` json
{"severity":"ERROR","time":"2018-09-06T14:56:20.439Z","service_class":"JiraService","project_id":8,"project_path":"h5bp/html5-boilerplate","message":"Error sending message","client_url":"http://jira.gitlap.com:8080","error":"execution expired"}
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md
index 7b58aa3100e..85a07589956 100644
--- a/doc/api/merge_requests.md
+++ b/doc/api/merge_requests.md
@@ -1473,7 +1473,7 @@ Example response when the GitLab issue tracker is used:
]
```
-Example response when an external issue tracker (e.g. JIRA) is used:
+Example response when an external issue tracker (e.g. Jira) is used:
```json
[
diff --git a/doc/api/services.md b/doc/api/services.md
index 042fee4a21a..2368f36e444 100644
--- a/doc/api/services.md
+++ b/doc/api/services.md
@@ -551,21 +551,21 @@ Get Irker (IRC gateway) service settings for a project.
GET /projects/:id/services/irker
```
-## JIRA
+## Jira
-JIRA issue tracker.
+Jira issue tracker.
-### Get JIRA service settings
+### Get Jira service settings
-Get JIRA service settings for a project.
+Get Jira service settings for a project.
```
GET /projects/:id/services/jira
```
-### Create/Edit JIRA service
+### Create/Edit Jira service
-Set JIRA service for a project.
+Set Jira service for a project.
> Starting with GitLab 8.14, `api_url`, `issues_url`, `new_issue_url` and
> `project_url` are replaced by `url`. If you are using an
@@ -579,18 +579,18 @@ Parameters:
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
-| `url` | string | yes | The URL to the JIRA project which is being linked to this GitLab project. For example, `https://jira.example.com`. |
-| `api_url` | string | no | The base URL to the JIRA instance API. Web URL value will be used if not set. For example, `https://jira-api.example.com`. |
-| `username` | string | yes | The username of the user created to be used with GitLab/JIRA. |
-| `password` | string | yes | The password of the user created to be used with GitLab/JIRA. |
+| `url` | string | yes | The URL to the Jira project which is being linked to this GitLab project. For example, `https://jira.example.com`. |
+| `api_url` | string | no | The base URL to the Jira instance API. Web URL value will be used if not set. For example, `https://jira-api.example.com`. |
+| `username` | string | yes | The username of the user created to be used with GitLab/Jira. |
+| `password` | string | yes | The password of the user created to be used with GitLab/Jira. |
| `active` | boolean | no | Activates or deactivates the service. Defaults to false (deactivated). |
-| `jira_issue_transition_id` | string | no | The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (**Administration > Issues > Workflows**) by selecting **View** under **Operations** of the desired workflow of your project. The ID of each state can be found inside the parenthesis of each transition name under the **Transitions (id)** column ([see screenshot][trans]). By default, this ID is set to `2`. |
+| `jira_issue_transition_id` | string | no | The ID of a transition that moves issues to a closed state. You can find this number under the Jira workflow administration (**Administration > Issues > Workflows**) by selecting **View** under **Operations** of the desired workflow of your project. The ID of each state can be found inside the parenthesis of each transition name under the **Transitions (id)** column ([see screenshot][trans]). By default, this ID is set to `2`. |
| `commit_events` | boolean | false | Enable notifications for commit events |
| `merge_requests_events` | boolean | false | Enable notifications for merge request events |
-### Delete JIRA service
+### Delete Jira service
-Remove all previously JIRA settings from a project.
+Remove all previously Jira settings from a project.
```
DELETE /projects/:id/services/jira
diff --git a/doc/development/contributing/issue_workflow.md b/doc/development/contributing/issue_workflow.md
index 2f1ad5fa910..db426dec5e4 100644
--- a/doc/development/contributing/issue_workflow.md
+++ b/doc/development/contributing/issue_workflow.md
@@ -43,6 +43,10 @@ The descriptions on the [labels page][labels-page] explain what falls under each
Subject labels are labels that define what area or feature of GitLab this issue
hits. They are not always necessary, but very convenient.
+Subject labels are now used to infer and apply relevant group and devops stage
+labels. Please apply them whenever possible to facilitate accurate matching.
+Please refer to [this merge request][inferred-labels] for more information.
+
Examples of subject labels are ~wiki, ~ldap, ~api,
~issues, ~"merge requests", ~labels, and ~"Container Registry".
@@ -444,3 +448,4 @@ A recent example of this was the issue for
[labels-page]: https://gitlab.com/gitlab-org/gitlab-ce/labels
[ce-tracker]: https://gitlab.com/gitlab-org/gitlab-ce/issues
[ee-tracker]: https://gitlab.com/gitlab-org/gitlab-ee/issues
+[inferred-labels]: https://gitlab.com/gitlab-org/quality/triage-ops/merge_requests/155
diff --git a/doc/integration/README.md b/doc/integration/README.md
index f74da97119a..135952a1b08 100644
--- a/doc/integration/README.md
+++ b/doc/integration/README.md
@@ -13,10 +13,10 @@ See the documentation below for details on how to configure these services.
- [Auth0 OmniAuth](auth0.md) Enable the Auth0 OmniAuth provider
- [Bitbucket](bitbucket.md) Import projects from Bitbucket.org and login to your GitLab instance with your Bitbucket.org account
- [CAS](cas.md) Configure GitLab to sign in using CAS
-- [External issue tracker](external-issue-tracker.md) Redmine, JIRA, etc.
+- [External issue tracker](external-issue-tracker.md) Redmine, Jira, etc.
- [Gmail actions buttons](gmail_action_buttons_for_gitlab.md) Adds GitLab actions to messages
- [Jenkins](jenkins.md) Integrate with the Jenkins CI
-- [JIRA](../user/project/integrations/jira.md) Integrate with the JIRA issue tracker
+- [Jira](../user/project/integrations/jira.md) Integrate with the Jira issue tracker
- [Kerberos](kerberos.md) Integrate with Kerberos
- [LDAP](ldap.md) Set up sign in via LDAP
- [OAuth2 provider](oauth_provider.md) OAuth2 application creation
diff --git a/doc/push_rules/push_rules.md b/doc/push_rules/push_rules.md
index b2d626a0a74..2142f5a5f69 100644
--- a/doc/push_rules/push_rules.md
+++ b/doc/push_rules/push_rules.md
@@ -26,11 +26,11 @@ Every push rule could have its own use case, but let's consider some examples.
Let's assume you have the following requirements for your workflow:
-- every commit should reference a JIRA issue, for example: `Refactored css. Fixes JIRA-123.`
+- every commit should reference a Jira issue, for example: `Refactored css. Fixes JIRA-123.`
- users should not be able to remove git tags with `git push`
All you need to do is write a simple regular expression that requires the mention
-of a JIRA issue in the commit message, like `JIRA\-\d+`.
+of a Jira issue in the commit message, like `JIRA\-\d+`.
Now when a user tries to push a commit with a message `Bugfix`, their push will
be declined. Only pushing commits with messages like `Bugfix according to JIRA-123`
diff --git a/doc/university/README.md b/doc/university/README.md
index 1d2c0f2068a..9d861460618 100644
--- a/doc/university/README.md
+++ b/doc/university/README.md
@@ -181,7 +181,7 @@ The GitLab University curriculum is composed of GitLab videos, screencasts, pres
### 3.9. Integrations
-1. [How to Integrate JIRA and Jenkins with GitLab - Video](https://gitlabmeetings.webex.com/gitlabmeetings/ldr.php?RCID=44b548147a67ab4d8a62274047146415)
+1. [How to Integrate Jira and Jenkins with GitLab - Video](https://gitlabmeetings.webex.com/gitlabmeetings/ldr.php?RCID=44b548147a67ab4d8a62274047146415)
1. [How to Integrate Jira with GitLab](../user/project/integrations/jira.md)
1. [How to Integrate Jenkins with GitLab](../integration/jenkins.md)
1. [How to Integrate Bamboo with GitLab](../user/project/integrations/bamboo.md)
diff --git a/doc/university/support/README.md b/doc/university/support/README.md
index 35e65b60768..2c6e52acfde 100644
--- a/doc/university/support/README.md
+++ b/doc/university/support/README.md
@@ -80,7 +80,7 @@ Our integrations add great value to GitLab. User questions often relate to integ
- Learn about our Integrations (specially, not only):
- [LDAP](../../integration/ldap.md)
- - [JIRA](../../project_services/jira.md)
+ - [Jira](../../project_services/jira.md)
- [Jenkins](../../integration/jenkins.md)
- [SAML](../../integration/saml.md)
diff --git a/doc/user/index.md b/doc/user/index.md
index 1fc4e4c43cf..899026a801f 100644
--- a/doc/user/index.md
+++ b/doc/user/index.md
@@ -66,7 +66,7 @@ With GitLab Enterprise Edition, you can also:
- Leverage continuous delivery method with [Canary Deployments](project/canary_deployments.md).
- Scan your code for vulnerabilities and [display them in merge requests](application_security/sast/index.md).
-You can also [integrate](project/integrations/project_services.md) GitLab with numerous third-party applications, such as Mattermost, Microsoft Teams, HipChat, Trello, Slack, Bamboo CI, JIRA, and a lot more.
+You can also [integrate](project/integrations/project_services.md) GitLab with numerous third-party applications, such as Mattermost, Microsoft Teams, HipChat, Trello, Slack, Bamboo CI, Jira, and a lot more.
## Projects
@@ -153,7 +153,7 @@ you have quick access to. You can also gather feedback on them through
## Integrations
[Integrate GitLab](../integration/README.md) with your preferred tool,
-such as Trello, JIRA, etc.
+such as Trello, Jira, etc.
## Webhooks
diff --git a/doc/user/project/integrations/jira.md b/doc/user/project/integrations/jira.md
index 234e3ad31cc..8f2e5a55b5f 100644
--- a/doc/user/project/integrations/jira.md
+++ b/doc/user/project/integrations/jira.md
@@ -39,7 +39,7 @@ a GitLab project with any single Jira project.
If you have one Jira instance, you can pre-fill the settings page with a default
template. See the [Services Templates][services-templates] docs.
-Configuration happens via user name and password. Connecting to a Jira server
+Configuration happens via user name and password. Connecting to a Jira Server
via CAS is not possible.
In order to enable the Jira service in GitLab, you need to first configure the
@@ -47,13 +47,13 @@ project in Jira and then enter the correct values in GitLab.
### Configuring Jira
-When connecting to **JIRA Server**, which supports basic authentication, a **username and password** are required. Check the link below and proceed to the next step:
+When connecting to **Jira Server**, which supports basic authentication, a **username and password** are required. Check the link below and proceed to the next step:
-- [Setting up a user in JIRA server](jira_server_configuration.md)
+- [Setting up a user in Jira Server](jira_server_configuration.md)
-When connecting to **JIRA Cloud**, which supports authentication via API token, an **email and API token**, are required. Check the link below and proceed to the next step:
+When connecting to **Jira Cloud**, which supports authentication via API token, an **email and API token**, are required. Check the link below and proceed to the next step:
-- [Setting up a user in JIRA cloud](jira_cloud_configuration.md)
+- [Setting up a user in Jira Cloud](jira_cloud_configuration.md)
### Configuring GitLab
@@ -77,8 +77,8 @@ in the table below.
| ----- | ----------- |
| `Web URL` | The base URL to the Jira instance web interface which is being linked to this GitLab project. E.g., `https://Jira.example.com`. |
| `Jira API URL` | The base URL to the Jira instance API. Web URL value will be used if not set. E.g., `https://jira-api.example.com`. |
-| `Username/Email` | Created when [configuring Jira step](#configuring-jira). Use `username` for **JIRA server** or `email` for **JIRA cloud**. |
-| `Password/API token` |Created in [configuring Jira step](#configuring-jira). Use `password` for **JIRA server** or `API token` for **JIRA cloud**. |
+| `Username/Email` | Created when [configuring Jira step](#configuring-jira). Use `username` for **Jira Server** or `email` for **Jira Cloud**. |
+| `Password/API token` |Created in [configuring Jira step](#configuring-jira). Use `password` for **Jira Server** or `API token` for **Jira Cloud**. |
| `Transition ID` | This is the ID of a transition that moves issues to the desired state. It is possible to insert transition ids separated by `,` or `;` which means the issue will be moved to each state after another using the given order. **Closing Jira issues via commits or Merge Requests won't work if you don't set the ID correctly.** |
### Obtaining a transition ID
diff --git a/doc/user/project/integrations/jira_cloud_configuration.md b/doc/user/project/integrations/jira_cloud_configuration.md
index 849df707521..614f05d5b7e 100644
--- a/doc/user/project/integrations/jira_cloud_configuration.md
+++ b/doc/user/project/integrations/jira_cloud_configuration.md
@@ -1,18 +1,18 @@
-# Creating an API token in JIRA cloud
+# Creating an API token in Jira Cloud
-An API token is needed when integrating with JIRA Cloud, follow the steps
+An API token is needed when integrating with Jira Cloud, follow the steps
below to create one:
1. Log in to <https://id.atlassian.com> with your email.
1. **Click API tokens**, then **Create API token**.
-![JIRA API token](img/jira_api_token_menu.png)
+![Jira API token](img/jira_api_token_menu.png)
-![JIRA API token](img/jira_api_token.png)
+![Jira API token](img/jira_api_token.png)
1. Make sure to write down your new API token as you will need it in the next [steps](jira.md#configuring-gitlab).
NOTE: **Note**
-It is important that the user associated with this email has 'write' access to projects in JIRA.
+It is important that the user associated with this email has 'write' access to projects in Jira.
-The JIRA configuration is complete. You are going to need this new created token and the email you used to log in when [configuring GitLab in the next section](jira.md#configuring-gitlab).
+The Jira configuration is complete. You are going to need this newly created token and the email you used to log in, when [configuring GitLab in the next section](jira.md#configuring-gitlab).
diff --git a/doc/user/project/integrations/jira_server_configuration.md b/doc/user/project/integrations/jira_server_configuration.md
index 13d65c4d8e4..32991714973 100644
--- a/doc/user/project/integrations/jira_server_configuration.md
+++ b/doc/user/project/integrations/jira_server_configuration.md
@@ -1,4 +1,4 @@
-# Creating a username and password for JIRA server
+# Creating a username and password for Jira Server
We need to create a user in Jira which will have access to all projects that
need to integrate with GitLab.
diff --git a/doc/user/project/integrations/project_services.md b/doc/user/project/integrations/project_services.md
index 0bfee3bac99..0e4c71a9d3e 100644
--- a/doc/user/project/integrations/project_services.md
+++ b/doc/user/project/integrations/project_services.md
@@ -38,7 +38,7 @@ Click on the service links to see further configuration instructions and details
| [Hangouts Chat](hangouts_chat.md) | Receive events notifications in Google Hangouts Chat |
| [HipChat](hipchat.md) | Private group chat and IM |
| [Irker (IRC gateway)](irker.md) | Send IRC messages, on update, to a list of recipients through an Irker gateway |
-| [JIRA](jira.md) | JIRA issue tracker |
+| [Jira](jira.md) | Jira issue tracker |
| [Jenkins](../../../integration/jenkins.md) **[STARTER]** | An extendable open source continuous integration server |
| JetBrains TeamCity CI | A continuous integration and build server |
| [Mattermost slash commands](mattermost_slash_commands.md) | Mattermost chat and ChatOps slash commands |
diff --git a/lib/api/helpers/services_helpers.rb b/lib/api/helpers/services_helpers.rb
index cf2e9d01356..c4ecf55969c 100644
--- a/lib/api/helpers/services_helpers.rb
+++ b/lib/api/helpers/services_helpers.rb
@@ -462,31 +462,31 @@ module API
required: true,
name: :url,
type: String,
- desc: 'The base URL to the JIRA instance web interface which is being linked to this GitLab project. E.g., https://jira.example.com'
+ desc: 'The base URL to the Jira instance web interface which is being linked to this GitLab project. E.g., https://jira.example.com'
},
{
required: false,
name: :api_url,
type: String,
- desc: 'The base URL to the JIRA instance API. Web URL value will be used if not set. E.g., https://jira-api.example.com'
+ desc: 'The base URL to the Jira instance API. Web URL value will be used if not set. E.g., https://jira-api.example.com'
},
{
required: true,
name: :username,
type: String,
- desc: 'The username of the user created to be used with GitLab/JIRA'
+ desc: 'The username of the user created to be used with GitLab/Jira'
},
{
required: true,
name: :password,
type: String,
- desc: 'The password of the user created to be used with GitLab/JIRA'
+ desc: 'The password of the user created to be used with GitLab/Jira'
},
{
required: false,
name: :jira_issue_transition_id,
type: String,
- desc: 'The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (**Administration > Issues > Workflows**) by selecting **View** under **Operations** of the desired workflow of your project. The ID of each state can be found inside the parenthesis of each transition name under the **Transitions (id)** column ([see screenshot][trans]). By default, this ID is set to `2`'
+ desc: 'The ID of a transition that moves issues to a closed state. You can find this number under the Jira workflow administration (**Administration > Issues > Workflows**) by selecting **View** under **Operations** of the desired workflow of your project. The ID of each state can be found inside the parenthesis of each transition name under the **Transitions (id)** column ([see screenshot][trans]). By default, this ID is set to `2`'
}
],
'kubernetes' => [
diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb
index e4d4779ba9a..62567be5258 100644
--- a/lib/gitlab/database.rb
+++ b/lib/gitlab/database.rb
@@ -2,6 +2,8 @@
module Gitlab
module Database
+ include Gitlab::Metrics::Methods
+
# The max value of INTEGER type is the same between MySQL and PostgreSQL:
# https://www.postgresql.org/docs/9.2/static/datatype-numeric.html
# http://dev.mysql.com/doc/refman/5.7/en/integer-types.html
@@ -11,6 +13,10 @@ module Gitlab
# https://dev.mysql.com/doc/refman/5.7/en/datetime.html
MAX_TIMESTAMP_VALUE = Time.at((1 << 31) - 1).freeze
+ define_histogram :gitlab_database_transaction_seconds do
+ docstring "Time spent in database transactions, in seconds"
+ end
+
def self.config
ActiveRecord::Base.configurations[Rails.env]
end
@@ -286,5 +292,32 @@ module Gitlab
0
end
private_class_method :open_transactions_baseline
+
+ # Monkeypatch rails with upgraded database observability
+ def self.install_monkey_patches
+ ActiveRecord::Base.prepend(ActiveRecordBaseTransactionMetrics)
+ end
+
+ # observe_transaction_duration is called from ActiveRecordBaseTransactionMetrics.transaction and used to
+ # record transaction durations.
+ def self.observe_transaction_duration(duration_seconds)
+ labels = Gitlab::Metrics::Transaction.current&.labels || {}
+ gitlab_database_transaction_seconds.observe(labels, duration_seconds)
+ rescue Prometheus::Client::LabelSetValidator::LabelSetError => err
+ # Ensure that errors in recording these metrics don't affect the operation of the application
+ Rails.logger.error("Unable to observe database transaction duration: #{err}")
+ end
+
+ # MonkeyPatch for ActiveRecord::Base for adding observability
+ module ActiveRecordBaseTransactionMetrics
+ # A monkeypatch over ActiveRecord::Base.transaction.
+ # It provides observability into transactional methods.
+ def transaction(options = {}, &block)
+ start_time = Gitlab::Metrics::System.monotonic_time
+ super(options, &block)
+ ensure
+ Gitlab::Database.observe_transaction_duration(Gitlab::Metrics::System.monotonic_time - start_time)
+ end
+ end
end
end
diff --git a/lib/gitlab/optimistic_locking.rb b/lib/gitlab/optimistic_locking.rb
index 868b2ae641a..0c0f46d3b77 100644
--- a/lib/gitlab/optimistic_locking.rb
+++ b/lib/gitlab/optimistic_locking.rb
@@ -5,6 +5,7 @@ module Gitlab
module_function
def retry_lock(subject, retries = 100, &block)
+ # TODO(Observability): We should be recording details of the number of retries and the duration of the total execution here
ActiveRecord::Base.transaction do
yield(subject)
end
diff --git a/lib/gitlab/search/found_blob.rb b/lib/gitlab/search/found_blob.rb
index 01ce90c85f7..cfbe7f59a83 100644
--- a/lib/gitlab/search/found_blob.rb
+++ b/lib/gitlab/search/found_blob.rb
@@ -28,7 +28,7 @@ module Gitlab
@binary_data = opts.fetch(:data, nil)
@per_page = opts.fetch(:per_page, 20)
@project = opts.fetch(:project, nil)
- # Some caller does not have project object (e.g. elastic search),
+ # Some caller (e.g. Elasticsearch) does not have project object,
# yet they can trigger many calls in one go,
# causing duplicated queries.
# Allow those to just pass project_id instead.
diff --git a/locale/ar_SA/gitlab.po b/locale/ar_SA/gitlab.po
index 1b561621f6f..7ccdfa282e8 100644
--- a/locale/ar_SA/gitlab.po
+++ b/locale/ar_SA/gitlab.po
@@ -7581,13 +7581,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/bg/gitlab.po b/locale/bg/gitlab.po
index 4d72599f5a3..9e24b950cdd 100644
--- a/locale/bg/gitlab.po
+++ b/locale/bg/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/bn_BD/gitlab.po b/locale/bn_BD/gitlab.po
index c1b139055cc..c7c0695b580 100644
--- a/locale/bn_BD/gitlab.po
+++ b/locale/bn_BD/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/bn_IN/gitlab.po b/locale/bn_IN/gitlab.po
index 8c3512497e7..56c5a3b3704 100644
--- a/locale/bn_IN/gitlab.po
+++ b/locale/bn_IN/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/ca_ES/gitlab.po b/locale/ca_ES/gitlab.po
index 69c1971701f..c0b4aea4a99 100644
--- a/locale/ca_ES/gitlab.po
+++ b/locale/ca_ES/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/cs_CZ/gitlab.po b/locale/cs_CZ/gitlab.po
index 2e072b2a16e..1184a326ede 100644
--- a/locale/cs_CZ/gitlab.po
+++ b/locale/cs_CZ/gitlab.po
@@ -7477,13 +7477,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/cy_GB/gitlab.po b/locale/cy_GB/gitlab.po
index 24ab2e96c78..019dcd25e72 100644
--- a/locale/cy_GB/gitlab.po
+++ b/locale/cy_GB/gitlab.po
@@ -7581,13 +7581,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/da_DK/gitlab.po b/locale/da_DK/gitlab.po
index bada56b442a..f30fbc0806c 100644
--- a/locale/da_DK/gitlab.po
+++ b/locale/da_DK/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/de/gitlab.po b/locale/de/gitlab.po
index daf877d3cff..7faeed34e59 100644
--- a/locale/de/gitlab.po
+++ b/locale/de/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/el_GR/gitlab.po b/locale/el_GR/gitlab.po
index f2d8321020c..2ac09933c10 100644
--- a/locale/el_GR/gitlab.po
+++ b/locale/el_GR/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/eo/gitlab.po b/locale/eo/gitlab.po
index 7960be28abd..df88e81f3d3 100644
--- a/locale/eo/gitlab.po
+++ b/locale/eo/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/es/gitlab.po b/locale/es/gitlab.po
index ca2c3450b4d..616ef854a7d 100644
--- a/locale/es/gitlab.po
+++ b/locale/es/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr "Los eventos para %{noteable_model_name} están deshabilitados."
msgid "JiraService|If different from Web URL"
msgstr "Si es diferente de la URL Web"
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr "URL del API de JIRA"
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr "Los comentarios de JIRA se crearán cuando se haga referencia a una incidencia en un commit."
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr "Los comentarios de JIRA se crearán cuando se haga referencia a una incidencia en un commit."
msgid "JiraService|Jira issue tracker"
diff --git a/locale/et_EE/gitlab.po b/locale/et_EE/gitlab.po
index f1ed6ff3630..c7473191a42 100644
--- a/locale/et_EE/gitlab.po
+++ b/locale/et_EE/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/fil_PH/gitlab.po b/locale/fil_PH/gitlab.po
index 30b0e53ea19..be757241241 100644
--- a/locale/fil_PH/gitlab.po
+++ b/locale/fil_PH/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/fr/gitlab.po b/locale/fr/gitlab.po
index 12edcf96cff..9b938ee38e6 100644
--- a/locale/fr/gitlab.po
+++ b/locale/fr/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index b8ce2c20563..f6f1df21ba4 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -5575,13 +5575,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/gl_ES/gitlab.po b/locale/gl_ES/gitlab.po
index 880d0f2e9a9..50d4d42f36a 100644
--- a/locale/gl_ES/gitlab.po
+++ b/locale/gl_ES/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/he_IL/gitlab.po b/locale/he_IL/gitlab.po
index dcfe3ceb8a3..dc6ff543726 100644
--- a/locale/he_IL/gitlab.po
+++ b/locale/he_IL/gitlab.po
@@ -7477,13 +7477,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/hi_IN/gitlab.po b/locale/hi_IN/gitlab.po
index 76b060f25c3..126759c5828 100644
--- a/locale/hi_IN/gitlab.po
+++ b/locale/hi_IN/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/hr_HR/gitlab.po b/locale/hr_HR/gitlab.po
index ae4a40dd8f7..1f3242a6731 100644
--- a/locale/hr_HR/gitlab.po
+++ b/locale/hr_HR/gitlab.po
@@ -7425,13 +7425,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/hu_HU/gitlab.po b/locale/hu_HU/gitlab.po
index 131782290b2..142845c24a7 100644
--- a/locale/hu_HU/gitlab.po
+++ b/locale/hu_HU/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/id_ID/gitlab.po b/locale/id_ID/gitlab.po
index f1680909623..be6c29d933c 100644
--- a/locale/id_ID/gitlab.po
+++ b/locale/id_ID/gitlab.po
@@ -7321,13 +7321,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/it/gitlab.po b/locale/it/gitlab.po
index 02fa65dfa10..9b3ec180972 100644
--- a/locale/it/gitlab.po
+++ b/locale/it/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/ja/gitlab.po b/locale/ja/gitlab.po
index 8964d2081bf..cc27cb06364 100644
--- a/locale/ja/gitlab.po
+++ b/locale/ja/gitlab.po
@@ -7321,13 +7321,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr "JIRA APIのURL"
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr "課題がコミットで参照されると Jiraコメントが作成されます。"
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/ka_GE/gitlab.po b/locale/ka_GE/gitlab.po
index 5510c93d891..f6d768828ca 100644
--- a/locale/ka_GE/gitlab.po
+++ b/locale/ka_GE/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/ko/gitlab.po b/locale/ko/gitlab.po
index e9ae48c0a96..6138874ac7d 100644
--- a/locale/ko/gitlab.po
+++ b/locale/ko/gitlab.po
@@ -7321,13 +7321,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/mn_MN/gitlab.po b/locale/mn_MN/gitlab.po
index 3e127d662ab..11bb2a40d14 100644
--- a/locale/mn_MN/gitlab.po
+++ b/locale/mn_MN/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/nb_NO/gitlab.po b/locale/nb_NO/gitlab.po
index 1a65c08fd32..7f150c167ee 100644
--- a/locale/nb_NO/gitlab.po
+++ b/locale/nb_NO/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/nl_NL/gitlab.po b/locale/nl_NL/gitlab.po
index a21a659f33d..faa40d15de9 100644
--- a/locale/nl_NL/gitlab.po
+++ b/locale/nl_NL/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/pa_IN/gitlab.po b/locale/pa_IN/gitlab.po
index f24100b1dc5..723f2d4cb22 100644
--- a/locale/pa_IN/gitlab.po
+++ b/locale/pa_IN/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/pl_PL/gitlab.po b/locale/pl_PL/gitlab.po
index 00fa4c3f03c..e3b257d8c16 100644
--- a/locale/pl_PL/gitlab.po
+++ b/locale/pl_PL/gitlab.po
@@ -7477,13 +7477,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/pt_BR/gitlab.po b/locale/pt_BR/gitlab.po
index b5dab7c6379..0a1e2508d66 100644
--- a/locale/pt_BR/gitlab.po
+++ b/locale/pt_BR/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr "Eventos para %{noteable_model_name} estão desabilitados."
msgid "JiraService|If different from Web URL"
msgstr "Se diferente do URL da Web"
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr "URL da API do JIRA"
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/pt_PT/gitlab.po b/locale/pt_PT/gitlab.po
index c9921faf129..f9174152adf 100644
--- a/locale/pt_PT/gitlab.po
+++ b/locale/pt_PT/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/ro_RO/gitlab.po b/locale/ro_RO/gitlab.po
index 3d77b1552b4..71e8f9b199d 100644
--- a/locale/ro_RO/gitlab.po
+++ b/locale/ro_RO/gitlab.po
@@ -7425,13 +7425,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/ru/gitlab.po b/locale/ru/gitlab.po
index 521c7ea6203..bb9e59a36a4 100644
--- a/locale/ru/gitlab.po
+++ b/locale/ru/gitlab.po
@@ -7477,13 +7477,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/sk_SK/gitlab.po b/locale/sk_SK/gitlab.po
index 763bb4a46f8..0b014f91082 100644
--- a/locale/sk_SK/gitlab.po
+++ b/locale/sk_SK/gitlab.po
@@ -7477,13 +7477,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/sq_AL/gitlab.po b/locale/sq_AL/gitlab.po
index d136efa8675..2e43589b1fc 100644
--- a/locale/sq_AL/gitlab.po
+++ b/locale/sq_AL/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/sr_CS/gitlab.po b/locale/sr_CS/gitlab.po
index 4b89734ad03..34ba686fc45 100644
--- a/locale/sr_CS/gitlab.po
+++ b/locale/sr_CS/gitlab.po
@@ -7425,13 +7425,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/sr_SP/gitlab.po b/locale/sr_SP/gitlab.po
index 8a796c7d2c4..cefbe0910c4 100644
--- a/locale/sr_SP/gitlab.po
+++ b/locale/sr_SP/gitlab.po
@@ -7425,13 +7425,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/sv_SE/gitlab.po b/locale/sv_SE/gitlab.po
index 5fc6478d022..33c75c49a0f 100644
--- a/locale/sv_SE/gitlab.po
+++ b/locale/sv_SE/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/sw_KE/gitlab.po b/locale/sw_KE/gitlab.po
index 3b0ac677db7..63860064d3c 100644
--- a/locale/sw_KE/gitlab.po
+++ b/locale/sw_KE/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/tr_TR/gitlab.po b/locale/tr_TR/gitlab.po
index a35ff0ce09f..3b552a3cbda 100644
--- a/locale/tr_TR/gitlab.po
+++ b/locale/tr_TR/gitlab.po
@@ -7373,13 +7373,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/uk/gitlab.po b/locale/uk/gitlab.po
index b802c6fa323..ee9d9bc0fee 100644
--- a/locale/uk/gitlab.po
+++ b/locale/uk/gitlab.po
@@ -7477,13 +7477,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/zh_CN/gitlab.po b/locale/zh_CN/gitlab.po
index 77064035305..bfa6064303c 100644
--- a/locale/zh_CN/gitlab.po
+++ b/locale/zh_CN/gitlab.po
@@ -7321,13 +7321,13 @@ msgstr "%{noteable_model_name} 事件已禁用。"
msgid "JiraService|If different from Web URL"
msgstr "如果与 Web URL 不同"
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr "JIRA API URL"
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr "在提交中引用议题时将创建 JIRA 评论。"
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr "在合并请求中引用议题时将创建 JIRA 评论。"
msgid "JiraService|Jira issue tracker"
diff --git a/locale/zh_HK/gitlab.po b/locale/zh_HK/gitlab.po
index 8485e17cd0d..541978fd726 100644
--- a/locale/zh_HK/gitlab.po
+++ b/locale/zh_HK/gitlab.po
@@ -7321,13 +7321,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/locale/zh_TW/gitlab.po b/locale/zh_TW/gitlab.po
index e7be5df3c80..22de348bdaa 100644
--- a/locale/zh_TW/gitlab.po
+++ b/locale/zh_TW/gitlab.po
@@ -7321,13 +7321,13 @@ msgstr ""
msgid "JiraService|If different from Web URL"
msgstr ""
-msgid "JiraService|JIRA API URL"
+msgid "JiraService|Jira API URL"
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a commit."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
-msgid "JiraService|JIRA comments will be created when an issue gets referenced in a merge request."
+msgid "JiraService|Jira comments will be created when an issue gets referenced in a merge request."
msgstr ""
msgid "JiraService|Jira issue tracker"
diff --git a/qa/qa/page/settings/common.rb b/qa/qa/page/settings/common.rb
index 8cd0b6bb49c..bede3fde105 100644
--- a/qa/qa/page/settings/common.rb
+++ b/qa/qa/page/settings/common.rb
@@ -11,7 +11,7 @@ module QA
within_element(element_name) do
# Because it is possible to click the button before the JS toggle code is bound
wait(reload: false) do
- click_button 'Expand' unless first('button', text: 'Collapse')
+ click_button 'Expand' unless has_css?('button', text: 'Collapse')
has_content?('Collapse')
end
diff --git a/scripts/generate-memory-metrics-on-boot b/scripts/generate-memory-metrics-on-boot
deleted file mode 100755
index 5197a8fcdcd..00000000000
--- a/scripts/generate-memory-metrics-on-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env ruby
-
-abort "usage: #{__FILE__} <memory_bundle_mem_file_name>" unless ARGV.length == 1
-memory_bundle_mem_file_name = ARGV.first
-
-full_report = File.open(memory_bundle_mem_file_name).read
-
-stats = /TOP: (?<total_mibs_str>.*) MiB/.match(full_report)
-abort 'failed to process the benchmark output' unless stats
-
-puts "total_memory_used_by_dependencies_on_boot_prod_env_mb #{stats[:total_mibs_str].to_f.round(1)}"
diff --git a/scripts/prepare_build.sh b/scripts/prepare_build.sh
index c1cade0a820..9b0d5d4f719 100644
--- a/scripts/prepare_build.sh
+++ b/scripts/prepare_build.sh
@@ -35,7 +35,6 @@ sed -i 's/username: root/username: gitlab/g' config/database.yml
if [ "$GITLAB_DATABASE" = 'postgresql' ]; then
sed -i 's/localhost/postgres/g' config/database.yml
- sed -i 's/username: git/username: postgres/g' config/database.yml
if [ -f config/database_geo.yml ]; then
sed -i 's/localhost/postgres/g' config/database_geo.yml
@@ -49,16 +48,16 @@ else # Assume it's mysql
fi
cp config/resque.yml.example config/resque.yml
-sed -i 's|url:.*$|url: redis://redis:6379|g' config/resque.yml
+sed -i 's/localhost/redis/g' config/resque.yml
cp config/redis.cache.yml.example config/redis.cache.yml
-sed -i 's|url:.*$|url: redis://redis:6379/10|g' config/redis.cache.yml
+sed -i 's/localhost/redis/g' config/redis.cache.yml
cp config/redis.queues.yml.example config/redis.queues.yml
-sed -i 's|url:.*$|url: redis://redis:6379/11|g' config/redis.queues.yml
+sed -i 's/localhost/redis/g' config/redis.queues.yml
cp config/redis.shared_state.yml.example config/redis.shared_state.yml
-sed -i 's|url:.*$|url: redis://redis:6379/12|g' config/redis.shared_state.yml
+sed -i 's/localhost/redis/g' config/redis.shared_state.yml
if [ "$SETUP_DB" != "false" ]; then
setup_db
diff --git a/spec/controllers/projects/services_controller_spec.rb b/spec/controllers/projects/services_controller_spec.rb
index 5c7f8d95f82..68eabce8513 100644
--- a/spec/controllers/projects/services_controller_spec.rb
+++ b/spec/controllers/projects/services_controller_spec.rb
@@ -128,7 +128,7 @@ describe Projects::ServicesController do
params: { namespace_id: project.namespace, project_id: project, id: service.to_param, service: { active: true } }
expect(response).to redirect_to(project_settings_integrations_path(project))
- expect(flash[:notice]).to eq 'JIRA activated.'
+ expect(flash[:notice]).to eq 'Jira activated.'
end
end
@@ -137,17 +137,17 @@ describe Projects::ServicesController do
put :update,
params: { namespace_id: project.namespace, project_id: project, id: service.to_param, service: { active: false } }
- expect(flash[:notice]).to eq 'JIRA settings saved, but not activated.'
+ expect(flash[:notice]).to eq 'Jira settings saved, but not activated.'
end
end
- context 'when activating JIRA service from a template' do
+ context 'when activating Jira service from a template' do
let(:template_service) { create(:jira_service, project: project, template: true) }
- it 'activate JIRA service from template' do
+ it 'activate Jira service from template' do
put :update, params: { namespace_id: project.namespace, project_id: project, id: service.to_param, service: { active: true } }
- expect(flash[:notice]).to eq 'JIRA activated.'
+ expect(flash[:notice]).to eq 'Jira activated.'
end
end
end
diff --git a/spec/features/projects/files/user_reads_pipeline_status_spec.rb b/spec/features/projects/files/user_reads_pipeline_status_spec.rb
index ff0aa933a3e..5bce96d9b80 100644
--- a/spec/features/projects/files/user_reads_pipeline_status_spec.rb
+++ b/spec/features/projects/files/user_reads_pipeline_status_spec.rb
@@ -7,6 +7,8 @@ describe 'user reads pipeline status', :js do
let(:x110_pipeline) { create_pipeline('x1.1.0', 'failed') }
before do
+ stub_feature_flags(vue_file_list: false)
+
project.add_maintainer(user)
project.repository.add_tag(user, 'x1.1.0', 'v1.1.0')
diff --git a/spec/features/projects/services/user_activates_jira_spec.rb b/spec/features/projects/services/user_activates_jira_spec.rb
index 08e1855d034..c52f38e2806 100644
--- a/spec/features/projects/services/user_activates_jira_spec.rb
+++ b/spec/features/projects/services/user_activates_jira_spec.rb
@@ -29,27 +29,27 @@ describe 'User activates Jira', :js do
server_info = { key: 'value' }.to_json
WebMock.stub_request(:get, test_url).with(basic_auth: %w(username password)).to_return(body: server_info)
- click_link('JIRA')
+ click_link('Jira')
fill_form
click_button('Test settings and save changes')
wait_for_requests
end
- it 'activates the JIRA service' do
- expect(page).to have_content('JIRA activated.')
+ it 'activates the Jira service' do
+ expect(page).to have_content('Jira activated.')
expect(current_path).to eq(project_settings_integrations_path(project))
end
- it 'shows the JIRA link in the menu' do
+ it 'shows the Jira link in the menu' do
page.within('.nav-sidebar') do
- expect(page).to have_link('JIRA', href: url)
+ expect(page).to have_link('Jira', href: url)
end
end
end
context 'when Jira connection test fails' do
it 'shows errors when some required fields are not filled in' do
- click_link('JIRA')
+ click_link('Jira')
check 'Active'
fill_in 'service_password', with: 'password'
@@ -60,11 +60,11 @@ describe 'User activates Jira', :js do
end
end
- it 'activates the JIRA service' do
+ it 'activates the Jira service' do
WebMock.stub_request(:get, test_url).with(basic_auth: %w(username password))
.to_raise(JIRA::HTTPError.new(double(message: 'message')))
- click_link('JIRA')
+ click_link('Jira')
fill_form
click_button('Test settings and save changes')
wait_for_requests
@@ -75,7 +75,7 @@ describe 'User activates Jira', :js do
find('.flash-alert .flash-action').click
wait_for_requests
- expect(page).to have_content('JIRA activated.')
+ expect(page).to have_content('Jira activated.')
expect(current_path).to eq(project_settings_integrations_path(project))
end
end
@@ -83,19 +83,19 @@ describe 'User activates Jira', :js do
describe 'user sets Jira Service but keeps it disabled' do
before do
- click_link('JIRA')
+ click_link('Jira')
fill_form(false)
click_button('Save changes')
end
- it 'saves but does not activate the JIRA service' do
- expect(page).to have_content('JIRA settings saved, but not activated.')
+ it 'saves but does not activate the Jira service' do
+ expect(page).to have_content('Jira settings saved, but not activated.')
expect(current_path).to eq(project_settings_integrations_path(project))
end
- it 'does not show the JIRA link in the menu' do
+ it 'does not show the Jira link in the menu' do
page.within('.nav-sidebar') do
- expect(page).not_to have_link('JIRA', href: url)
+ expect(page).not_to have_link('Jira', href: url)
end
end
end
diff --git a/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb b/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb
index e277bfb8011..89ce4b50781 100644
--- a/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb
+++ b/spec/features/projects/show/user_sees_last_commit_ci_status_spec.rb
@@ -3,6 +3,10 @@ require 'spec_helper'
describe 'Projects > Show > User sees last commit CI status' do
set(:project) { create(:project, :repository, :public) }
+ before do
+ stub_feature_flags(vue_file_list: false)
+ end
+
it 'shows the project README', :js do
project.enable_ci
pipeline = create(:ci_pipeline, project: project, sha: project.commit.sha, ref: 'master')
diff --git a/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap b/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
index 3ad6bfa9e5f..cd8372a8800 100644
--- a/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
+++ b/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
@@ -27,8 +27,8 @@ exports[`Repository last commit component renders commit widget 1`] = `
href="https://test.com/commit/123"
>
- Commit title
-
+ Commit title
+
</gllink-stub>
<!---->
@@ -41,12 +41,12 @@ exports[`Repository last commit component renders commit widget 1`] = `
href="https://test.com/test"
>
- Test
-
+ Test
+
</gllink-stub>
- authored
-
+ authored
+
<timeagotooltip-stub
cssclass=""
time="2019-01-01"
@@ -81,8 +81,8 @@ exports[`Repository last commit component renders commit widget 1`] = `
class="label label-monospace monospace"
>
- 12345678
-
+ 12345678
+
</div>
<clipboardbutton-stub
diff --git a/spec/frontend/repository/components/last_commit_spec.js b/spec/frontend/repository/components/last_commit_spec.js
index 972690a60f6..14479f3c3a4 100644
--- a/spec/frontend/repository/components/last_commit_spec.js
+++ b/spec/frontend/repository/components/last_commit_spec.js
@@ -1,4 +1,5 @@
import { shallowMount } from '@vue/test-utils';
+import { GlLoadingIcon } from '@gitlab/ui';
import LastCommit from '~/repository/components/last_commit.vue';
import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
@@ -6,7 +7,7 @@ let vm;
function createCommitData(data = {}) {
return {
- id: '123456789',
+ sha: '123456789',
title: 'Commit title',
message: 'Commit message',
webUrl: 'https://test.com/commit/123',
@@ -16,7 +17,7 @@ function createCommitData(data = {}) {
avatarUrl: 'https://test.com',
webUrl: 'https://test.com/test',
},
- pipeline: {
+ latestPipeline: {
detailedStatus: {
detailsPath: 'https://test.com/pipeline',
icon: 'failed',
@@ -52,12 +53,12 @@ describe('Repository last commit component', () => {
it.each`
loading | label
- ${true} | ${'hides'}
- ${false} | ${'shows'}
- `('$label when $loading is true', ({ loading }) => {
+ ${true} | ${'shows'}
+ ${false} | ${'hides'}
+ `('$label when loading icon $loading is true', ({ loading }) => {
factory(createCommitData(), loading);
- expect(vm.isEmpty()).toBe(loading);
+ expect(vm.find(GlLoadingIcon).exists()).toBe(loading);
});
it('renders commit widget', () => {
@@ -73,11 +74,17 @@ describe('Repository last commit component', () => {
});
it('hides pipeline components when pipeline does not exist', () => {
- factory(createCommitData({ pipeline: null }));
+ factory(createCommitData({ latestPipeline: null }));
expect(vm.find('.js-commit-pipeline').exists()).toBe(false);
});
+ it('renders pipeline components', () => {
+ factory();
+
+ expect(vm.find('.js-commit-pipeline').exists()).toBe(true);
+ });
+
it('hides author component when author does not exist', () => {
factory(createCommitData({ author: null }));
diff --git a/spec/lib/gitlab/import_export/project.json b/spec/lib/gitlab/import_export/project.json
index 6512fe80a3b..8be074f4b9b 100644
--- a/spec/lib/gitlab/import_export/project.json
+++ b/spec/lib/gitlab/import_export/project.json
@@ -6760,7 +6760,7 @@
},
{
"id": 95,
- "title": "JIRA",
+ "title": "Jira",
"project_id": 5,
"created_at": "2016-06-14T15:01:51.255Z",
"updated_at": "2016-06-14T15:01:51.255Z",
diff --git a/spec/lib/gitlab/issuable_sorter_spec.rb b/spec/lib/gitlab/issuable_sorter_spec.rb
index 642a6cb6caa..5bd76bc6081 100644
--- a/spec/lib/gitlab/issuable_sorter_spec.rb
+++ b/spec/lib/gitlab/issuable_sorter_spec.rb
@@ -26,7 +26,7 @@ describe Gitlab::IssuableSorter do
expect(described_class.sort(project1, unsorted)).to eq(sorted)
end
- context 'for JIRA issues' do
+ context 'for Jira issues' do
let(:sorted) do
[ExternalIssue.new('JIRA-1', project1),
ExternalIssue.new('JIRA-2', project1),
diff --git a/spec/lib/gitlab/reference_extractor_spec.rb b/spec/lib/gitlab/reference_extractor_spec.rb
index d982053d92e..7513dbeeb6f 100644
--- a/spec/lib/gitlab/reference_extractor_spec.rb
+++ b/spec/lib/gitlab/reference_extractor_spec.rb
@@ -197,14 +197,14 @@ describe Gitlab::ReferenceExtractor do
let(:issue) { create(:issue, project: project) }
context 'when GitLab issues are enabled' do
- it 'returns both JIRA and internal issues' do
+ it 'returns both Jira and internal issues' do
subject.analyze("JIRA-123 and FOOBAR-4567 and #{issue.to_reference}")
expect(subject.issues).to eq [ExternalIssue.new('JIRA-123', project),
ExternalIssue.new('FOOBAR-4567', project),
issue]
end
- it 'returns only JIRA issues if the internal one does not exists' do
+ it 'returns only Jira issues if the internal one does not exists' do
subject.analyze("JIRA-123 and FOOBAR-4567 and #999")
expect(subject.issues).to eq [ExternalIssue.new('JIRA-123', project),
ExternalIssue.new('FOOBAR-4567', project)]
@@ -217,7 +217,7 @@ describe Gitlab::ReferenceExtractor do
project.save!
end
- it 'returns only JIRA issues' do
+ it 'returns only Jira issues' do
subject.analyze("JIRA-123 and FOOBAR-4567 and #{issue.to_reference}")
expect(subject.issues).to eq [ExternalIssue.new('JIRA-123', project),
ExternalIssue.new('FOOBAR-4567', project)]
diff --git a/spec/models/concerns/mentionable_spec.rb b/spec/models/concerns/mentionable_spec.rb
index f31e3e8821d..6034344d034 100644
--- a/spec/models/concerns/mentionable_spec.rb
+++ b/spec/models/concerns/mentionable_spec.rb
@@ -18,7 +18,7 @@ describe Mentionable do
let(:project) { create(:project) }
let(:mentionable) { Example.new }
- it 'excludes JIRA references' do
+ it 'excludes Jira references' do
allow(project).to receive_messages(jira_tracker?: true)
mentionable.project = project
diff --git a/spec/models/project_services/jira_service_spec.rb b/spec/models/project_services/jira_service_spec.rb
index 04ae9390436..fc08457a3c5 100644
--- a/spec/models/project_services/jira_service_spec.rb
+++ b/spec/models/project_services/jira_service_spec.rb
@@ -158,7 +158,7 @@ describe JiraService do
WebMock.stub_request(:post, @remote_link_url).with(basic_auth: %w(gitlab_jira_username gitlab_jira_password))
end
- it 'calls JIRA API' do
+ it 'calls Jira API' do
@jira_service.close_issue(resource, ExternalIssue.new('JIRA-123', project))
expect(WebMock).to have_requested(:post, @comment_url).with(
@@ -175,14 +175,14 @@ describe JiraService do
# Check https://developer.atlassian.com/jiradev/jira-platform/guides/other/guide-jira-remote-issue-links/fields-in-remote-issue-links
# for more information
- it 'creates Remote Link reference in JIRA for comment' do
+ it 'creates Remote Link reference in Jira for comment' do
@jira_service.close_issue(resource, ExternalIssue.new('JIRA-123', project))
favicon_path = "http://localhost/assets/#{find_asset('favicon.png').digest_path}"
# Creates comment
expect(WebMock).to have_requested(:post, @comment_url)
- # Creates Remote Link in JIRA issue fields
+ # Creates Remote Link in Jira issue fields
expect(WebMock).to have_requested(:post, @remote_link_url).with(
body: hash_including(
GlobalID: 'GitLab',
@@ -319,7 +319,7 @@ describe JiraService do
end
context 'when the test succeeds' do
- it 'tries to get JIRA project with URL when API URL not set' do
+ it 'tries to get Jira project with URL when API URL not set' do
test_settings('jira.example.com')
end
@@ -327,7 +327,7 @@ describe JiraService do
expect(test_settings).to eq( { success: true, result: { 'url' => 'http://url' } })
end
- it 'tries to get JIRA project with API URL if set' do
+ it 'tries to get Jira project with API URL if set' do
jira_service.update(api_url: 'http://jira.api.com')
test_settings('jira.api.com')
end
@@ -462,7 +462,7 @@ describe JiraService do
end
it 'is initialized' do
- expect(@service.title).to eq('JIRA')
+ expect(@service.title).to eq('Jira')
expect(@service.description).to eq('Jira issue tracker')
end
end
diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb
index 2fbe5468b21..aa759ac9edc 100644
--- a/spec/services/merge_requests/merge_service_spec.rb
+++ b/spec/services/merge_requests/merge_service_spec.rb
@@ -58,7 +58,7 @@ describe MergeRequests::MergeService do
expect(issue.reload.closed?).to be_truthy
end
- context 'with JIRA integration' do
+ context 'with Jira integration' do
include JiraServiceHelper
let(:jira_tracker) { project.create_jira_service }
@@ -72,7 +72,7 @@ describe MergeRequests::MergeService do
allow(merge_request).to receive(:commits).and_return([commit])
end
- it 'closes issues on JIRA issue tracker' do
+ it 'closes issues on Jira issue tracker' do
jira_issue = ExternalIssue.new('JIRA-123', project)
stub_jira_urls(jira_issue)
commit = double('commit', safe_message: "Fixes #{jira_issue.to_reference}")
@@ -98,7 +98,7 @@ describe MergeRequests::MergeService do
end
context "wrong issue markdown" do
- it 'does not close issues on JIRA issue tracker' do
+ it 'does not close issues on Jira issue tracker' do
jira_issue = ExternalIssue.new('#JIRA-123', project)
stub_jira_urls(jira_issue)
commit = double('commit', safe_message: "Fixes #{jira_issue.to_reference}")
diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb
index 30a867fa7ba..93fe3290d8b 100644
--- a/spec/services/system_note_service_spec.rb
+++ b/spec/services/system_note_service_spec.rb
@@ -750,7 +750,7 @@ describe SystemNoteService do
end
end
- describe 'JIRA integration' do
+ describe 'Jira integration' do
include JiraServiceHelper
let(:project) { create(:jira_project, :repository) }
diff --git a/spec/support/helpers/jira_service_helper.rb b/spec/support/helpers/jira_service_helper.rb
index 477bbf1c2e0..7e955f3d593 100644
--- a/spec/support/helpers/jira_service_helper.rb
+++ b/spec/support/helpers/jira_service_helper.rb
@@ -4,7 +4,7 @@ module JiraServiceHelper
def jira_service_settings
properties = {
- title: "JIRA tracker",
+ title: "Jira tracker",
url: JIRA_URL,
username: 'jira-user',
password: 'my-secret-password',
diff --git a/spec/views/projects/services/_form.haml_spec.rb b/spec/views/projects/services/_form.haml_spec.rb
index 85167bca115..06e159f103b 100644
--- a/spec/views/projects/services/_form.haml_spec.rb
+++ b/spec/views/projects/services/_form.haml_spec.rb
@@ -28,7 +28,7 @@ describe 'projects/services/_form' do
expect(rendered).to have_content('Event will be triggered when a merge request is created/updated/merged')
end
- context 'when service is JIRA' do
+ context 'when service is Jira' do
let(:project) { create(:jira_project) }
before do
@@ -38,8 +38,8 @@ describe 'projects/services/_form' do
it 'display merge_request_events and commit_events descriptions' do
render
- expect(rendered).to have_content('JIRA comments will be created when an issue gets referenced in a commit.')
- expect(rendered).to have_content('JIRA comments will be created when an issue gets referenced in a merge request.')
+ expect(rendered).to have_content('Jira comments will be created when an issue gets referenced in a commit.')
+ expect(rendered).to have_content('Jira comments will be created when an issue gets referenced in a merge request.')
end
end
end