From 0cbc72ed7b9ea2659be30a74d467dffa67bc3f06 Mon Sep 17 00:00:00 2001 From: Iukou Siarhei <45054016+BlazarQSO@users.noreply.github.com> Date: Wed, 20 Dec 2023 11:48:40 +0300 Subject: [PATCH 001/183] EPMRPP-87438 || wrong text on the unlink issue modal (#3698) --- app/localization/translated/zh.json | 2 +- .../stepPage/modals/unlinkIssueModal/unlinkIssueModal.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/localization/translated/zh.json b/app/localization/translated/zh.json index 2bd249cc17..8c37e840da 100644 --- a/app/localization/translated/zh.json +++ b/app/localization/translated/zh.json @@ -1981,7 +1981,7 @@ "UniqueErrors.uniqueError": "自动独特错误分析", "UniqueErrors.uniqueErrorDescription": "如果自动独特错误分析已启用,则在任何测试任务完成后都将立即开始独特错误分析", "UnlinkIssueModal.unlinkIssue": "取消关联问题", - "UnlinkIssueModal.unlinkModalConfirmationText": "您确定要将该问题与测试项的关联取消吗?", + "UnlinkIssueModal.unlinkModalConfirmationText": "Are you sure you want to unlink the issue(s) for test item(s)?", "UnlinkIssueModal.unlinkSuccessMessage": "顺利完成!", "UpdateAnalysisSettings.allMessagesShouldMatch": "开关“所有3行或有更多行的日志都应该匹配”", "UpdateAnalysisSettings.analysisProps": "自动分析服务的属性:", diff --git a/app/src/pages/inside/stepPage/modals/unlinkIssueModal/unlinkIssueModal.jsx b/app/src/pages/inside/stepPage/modals/unlinkIssueModal/unlinkIssueModal.jsx index c0176ad03c..53ca57852a 100644 --- a/app/src/pages/inside/stepPage/modals/unlinkIssueModal/unlinkIssueModal.jsx +++ b/app/src/pages/inside/stepPage/modals/unlinkIssueModal/unlinkIssueModal.jsx @@ -45,7 +45,7 @@ const messages = defineMessages({ }, unlinkModalConfirmationText: { id: 'UnlinkIssueModal.unlinkModalConfirmationText', - defaultMessage: 'Are you sure to unlink issue/s for test items?', + defaultMessage: 'Are you sure you want to unlink the issue(s) for test item(s)?', }, unlinkSuccessMessage: { id: 'UnlinkIssueModal.unlinkSuccessMessage', From c722cd612ccc3529555ea0c1ae8d6453a9e9e523 Mon Sep 17 00:00:00 2001 From: Iukou Siarhei <45054016+BlazarQSO@users.noreply.github.com> Date: Wed, 20 Dec 2023 11:50:03 +0300 Subject: [PATCH 002/183] EPMRPP-88591 || update event parameter auto_analysis (#3699) --- app/src/components/main/analytics/AnalyticsWrapper.jsx | 4 ++-- app/src/components/main/analytics/utils.js | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/components/main/analytics/AnalyticsWrapper.jsx b/app/src/components/main/analytics/AnalyticsWrapper.jsx index 3d0a1ea072..4065b1c7a3 100644 --- a/app/src/components/main/analytics/AnalyticsWrapper.jsx +++ b/app/src/components/main/analytics/AnalyticsWrapper.jsx @@ -23,7 +23,7 @@ import GA4 from 'react-ga4'; import { omit } from 'common/utils'; import { gaMeasurementIdSelector } from 'controllers/appInfo/selectors'; import ReactObserver from 'react-event-observer'; -import { normalizeDimensionValue, getAppVersion } from './utils'; +import { normalizeDimensionValue, getAppVersion, getAutoAnalysisEventValue } from './utils'; export const analyticsEventObserver = ReactObserver(); @@ -51,7 +51,7 @@ export const analyticsEventObserver = ReactObserver(); instanceID: instanceId, version: getAppVersion(buildVersion), uid: `${userId}|${instanceId}`, - auto_analysis: normalizeDimensionValue(isAutoAnalyzerEnabled), + auto_analysis: getAutoAnalysisEventValue(isAutoAnalyzerEnabled), pattern_analysis: normalizeDimensionValue(isPatternAnalyzerEnabled), timestamp: Date.now(), ...(!isAdmin && { project_id: `${projectInfoId}|${instanceId}` }), diff --git a/app/src/components/main/analytics/utils.js b/app/src/components/main/analytics/utils.js index 3c9205d3b6..f8b9c791b1 100644 --- a/app/src/components/main/analytics/utils.js +++ b/app/src/components/main/analytics/utils.js @@ -21,6 +21,10 @@ export const normalizeDimensionValue = (value) => { return value !== undefined ? value.toString() : undefined; }; +export const getAutoAnalysisEventValue = (value) => { + return normalizeDimensionValue(value) ?? 'no_analyzer'; +}; + export const normalizeEventString = (string = '') => string .trim() @@ -48,7 +52,7 @@ export const provideEcGA = ({ eventName, baseEventParameters, additionalParamete instanceID: instanceId, version: getAppVersion(buildVersion), uid: `${userId}|${instanceId}`, - auto_analysis: normalizeDimensionValue(isAutoAnalyzerEnabled), + auto_analysis: getAutoAnalysisEventValue(isAutoAnalyzerEnabled), pattern_analysis: normalizeDimensionValue(isPatternAnalyzerEnabled), timestamp: Date.now(), ...(!isAdmin && { project_id: `${projectInfoId}|${instanceId}` }), From 7a49f8a49e216db1c8a51efb7c980c3471ef0a77 Mon Sep 17 00:00:00 2001 From: Iukou Siarhei <45054016+BlazarQSO@users.noreply.github.com> Date: Fri, 22 Dec 2023 10:58:32 +0300 Subject: [PATCH 003/183] =?UTF-8?q?EPMRPP-88345=20||=20Attribute=20icon=20?= =?UTF-8?q?on=20Launch=20is=20not=20moved=20with=20the=20attrib=E2=80=A6?= =?UTF-8?q?=20(#3702)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/localization/translated/be.json | 7 ++-- app/localization/translated/ru.json | 7 ++-- app/localization/translated/uk.json | 1 + app/localization/translated/zh.json | 1 + .../attributesBlock/attributesBlock.jsx | 40 ++++++++++++++----- .../attributesBlock/attributesBlock.scss | 4 ++ 6 files changed, 43 insertions(+), 17 deletions(-) diff --git a/app/localization/translated/be.json b/app/localization/translated/be.json index 01ea549dc7..036414d644 100644 --- a/app/localization/translated/be.json +++ b/app/localization/translated/be.json @@ -177,9 +177,10 @@ "AttributesContainer.attributesNotActive": "Атрыбуты не актыўныя. Для актывацыі ўсталюеце сцяжок ‘Атрыбуты’", "AttributesFieldArrayControl.addOneMoreLevel": "Дадаць яшчэ адзін узровень", "AttributesFieldArrayControl.attributeKeyFieldLabel": "ўзровень {number} {view}", - "AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Калі ласка, увядзіце ключ аттрибута", + "AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Калі ласка, увядзіце ключ атрибута", "AttributesFieldArrayControl.levelCanBeAddedMessage": "1 ўзровень можа быць дададзены", "AttributesFieldArrayControl.levelsCanBeAddedMessage": "{amount} узроўняў можна дадаць", + "AttributesBlock.attributesTitle": "Атрыбуты", "AutoAnalysis.AutoAnalysisMode": "Аўта-Аналіз на аснове", "AutoAnalysis.AutoAnalysisModeDescription": "Вы можаце вызначыць запускі, якія будуць выкарыстоўвацца ў якасці асновы для аўтаматычнага аналізу. Дакументацыя", "AutoAnalysis.allLaunchesCaption": "Усе папярэднія запускі", @@ -369,7 +370,7 @@ "ComponentHealthCheckControls.ComponentTitle": "Кампанент", "ComponentHealthCheckControls.PassingRateFieldLabel": "Мінімальны дапушчальны працэнт пройдзеных тэстаў для кампанента", "ComponentHealthCheckControls.PassingRateValidationError": "Павінен мець значэнне ад 50 да 100", - "ComponentHealthCheckControls.attributesArrayValidationError": "Увядзіце ключы аттрыбута чые унікальнае значэнне будзе выкарыстоўвацца для групоўкі тэстаў", + "ComponentHealthCheckControls.attributesArrayValidationError": "Увядзіце ключы атрыбута чые унікальнае значэнне будзе выкарыстоўвацца для групоўкі тэстаў", "ComponentHealthCheckTable.automationBugColumnTitle": "Хіба аўтаматызацыі", "ComponentHealthCheckTable.customColumnHint": "Карыстацкі слупок:", "ComponentHealthCheckTable.nameColumn": "Імя", @@ -381,7 +382,7 @@ "ComponentHealthCheckTable.statusHint": "Статус", "ComponentHealthCheckTable.systemIssueColumnTitle": "Сыстэмная праблема", "ComponentHealthCheckTable.toInvestigateColumnTitle": "Праблема непрааналізавана", - "ComponentHealthCheckTableViewControls.attributesArrayValidationError": "Увядзіце ключы аттрыбута чые унікальнае значэнне будзе выкарыстоўвацца для групоўкі тэстаў", + "ComponentHealthCheckTableViewControls.attributesArrayValidationError": "Увядзіце ключы атрыбута чые унікальнае значэнне будзе выкарыстоўвацца для групоўкі тэстаў", "ComponentHealthCheckTableViewControls.componentTitle": "Кампанент", "ComponentHealthCheckTableViewControls.customColumnPlaceholder": "Enter an attribute key", "ComponentHealthCheckTableViewControls.customColumnTitle": "Карыстальніцкая калонка", diff --git a/app/localization/translated/ru.json b/app/localization/translated/ru.json index 911eb40c6a..a25802defe 100644 --- a/app/localization/translated/ru.json +++ b/app/localization/translated/ru.json @@ -177,9 +177,10 @@ "AttributesContainer.attributesNotActive": "Атрибуты не активны. Для активации установите флажок ‘Атрибуты‘", "AttributesFieldArrayControl.addOneMoreLevel": "Добавить еще один уровень", "AttributesFieldArrayControl.attributeKeyFieldLabel": "Уровень {number} {view}", - "AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Введить ключ аттрибута", + "AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Введить ключ атрибута", "AttributesFieldArrayControl.levelCanBeAddedMessage": "1 уровень может быть добавлен", "AttributesFieldArrayControl.levelsCanBeAddedMessage": "{amount} уровней могут быть добавлены", + "AttributesBlock.attributesTitle": "Атрибуты", "AutoAnalysis.AutoAnalysisMode": "Авто-Анализ на основе", "AutoAnalysis.AutoAnalysisModeDescription": "Вы можете указать запуски, которые будут использоваться в качестве основы для автоматического анализа. Документация", "AutoAnalysis.allLaunchesCaption": "Все предыдущие запуски", @@ -369,7 +370,7 @@ "ComponentHealthCheckControls.ComponentTitle": "Компонент", "ComponentHealthCheckControls.PassingRateFieldLabel": "Минимальный допустимый процент пройденных тестов для компонента", "ComponentHealthCheckControls.PassingRateValidationError": "Должен иметь значение от 50 до 100", - "ComponentHealthCheckControls.attributesArrayValidationError": "Введите ключи аттрибута чье уникальное значение будет использоваться для группировки тестов", + "ComponentHealthCheckControls.attributesArrayValidationError": "Введите ключи атрибута чье уникальное значение будет использоваться для группировки тестов", "ComponentHealthCheckTable.automationBugColumnTitle": "Ошибка автоматизации", "ComponentHealthCheckTable.customColumnHint": "Пользовательский столбец:", "ComponentHealthCheckTable.nameColumn": "Имя", @@ -381,7 +382,7 @@ "ComponentHealthCheckTable.statusHint": "Статус", "ComponentHealthCheckTable.systemIssueColumnTitle": "Системные проблемы", "ComponentHealthCheckTable.toInvestigateColumnTitle": "Непроанализированная проблема", - "ComponentHealthCheckTableViewControls.attributesArrayValidationError": "Введите ключи аттрибута чье уникальное значение будет использоваться для группировки тестов", + "ComponentHealthCheckTableViewControls.attributesArrayValidationError": "Введите ключи атрибута чье уникальное значение будет использоваться для группировки тестов", "ComponentHealthCheckTableViewControls.componentTitle": "Компонент", "ComponentHealthCheckTableViewControls.customColumnPlaceholder": "Enter an attribute key", "ComponentHealthCheckTableViewControls.customColumnTitle": "Пользовательский столбец", diff --git a/app/localization/translated/uk.json b/app/localization/translated/uk.json index c6cc210f1f..5cdc2fa1cb 100644 --- a/app/localization/translated/uk.json +++ b/app/localization/translated/uk.json @@ -180,6 +180,7 @@ "AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Введить ключ атрибуту", "AttributesFieldArrayControl.levelCanBeAddedMessage": "1 рівень може бути доданий", "AttributesFieldArrayControl.levelsCanBeAddedMessage": "{amount} рівнів можуть бути додані", + "AttributesBlock.attributesTitle": "Атрибути", "AutoAnalysis.AutoAnalysisMode": "Авто-Аналіз на основі", "AutoAnalysis.AutoAnalysisModeDescription": "Ви можете вказати запуски, які будуть використовуватися як основа для автоматичного аналізу. Документація", "AutoAnalysis.allLaunchesCaption": "Всі попередні запуски", diff --git a/app/localization/translated/zh.json b/app/localization/translated/zh.json index 8c37e840da..e6df961276 100644 --- a/app/localization/translated/zh.json +++ b/app/localization/translated/zh.json @@ -180,6 +180,7 @@ "AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "请输入属性名", "AttributesFieldArrayControl.levelCanBeAddedMessage": "可以再增加1层", "AttributesFieldArrayControl.levelsCanBeAddedMessage": "可以再增加{amount}层", + "AttributesBlock.attributesTitle": "属性", "AutoAnalysis.AutoAnalysisMode": "自动分析服务基于的数据", "AutoAnalysis.AutoAnalysisModeDescription": "You can specify the launches that will be used as the base for Auto-Analysis. Documentation", "AutoAnalysis.allLaunchesCaption": "All previous launches", diff --git a/app/src/pages/inside/common/itemInfo/attributesBlock/attributesBlock.jsx b/app/src/pages/inside/common/itemInfo/attributesBlock/attributesBlock.jsx index cc18d5d674..c343573c2b 100644 --- a/app/src/pages/inside/common/itemInfo/attributesBlock/attributesBlock.jsx +++ b/app/src/pages/inside/common/itemInfo/attributesBlock/attributesBlock.jsx @@ -16,6 +16,7 @@ import classNames from 'classnames/bind'; import PropTypes from 'prop-types'; +import { injectIntl, defineMessages } from 'react-intl'; import { formatAttribute, formatAttributeWithSpacedDivider, @@ -24,16 +25,16 @@ import { import styles from './attributesBlock.scss'; const cx = classNames.bind(styles); +const messages = defineMessages({ + attributesTitle: { + id: 'AttributesBlock.attributesTitle', + defaultMessage: 'Attributes', + }, +}); -export const AttributesBlock = ({ - attributes, - onClickAttribute, - isAttributeClickable, - noHoverEffects, -}) => ( -
HPLnU!{`awPyELKptHrRw`AQiu;9ebph!28
zAIYlU|L!v0e?(csleh2Q_PopdRZ_R2y#fy(>-~=7+t4Z5D_uvB$nvExCx;$_kT$7%
zp$qE7+O%suZgPzxulK8I&2o=a*;ohh) 8H|3koXKdZ}^c%v>)vfp1!gF=Jle
zgatG}Dst0ZP&U3UM>m@YXm<(;;MGi0>Ag22Mtlv>QmRmYpY(C8?2~>^
zRgXnlUO(Wan>DIK=!FI0GsVCTgb2jZx$aXu*iRm^zP3JK5lo)X=Y_-NF~|s6r87w=
zl!KznNbmOa^m6UPRX#zv;TIXa=h_KlVLjWWlL|Oaq&3M0(eVe)?}~9_Ox?!KgpZlN
zV}^EO9b)DIp!veqjrzYHH>rblRr_WQl5Ky}P>#Qwc%r5diIVVUp+*O^Qm+pp*@F6=P!a
zcqR$J1;UihS8OvLeZ-i|
Дачакайцеся ўзнаўлення злучэння
або звярніцеся за дапамогай да адміністратара.",
"ExternalSystems.createIntegration": "сканфігураваў",
"ExternalSystems.deleteIntegration": "выдаліў",
"ExternalSystems.emailDefaultName": "Email Server",
@@ -737,7 +738,6 @@
"ExternalUserInvitationModal.email": "Запрашэнне было адпраўлена на",
"ExternalUserInvitationModal.header": "Запрасіць карыстальніка",
"ExternalUserInvitationModal.link": "Спасылка на запрашэнне",
- "ExtensionError.message": "У плагіне адбыўся збой.
Дачакайцеся ўзнаўлення злучэння
або звярніцеся за дапамогай да адміністратара.",
"FailedCasesTrendChart.failedCases": "няўдалыя сцэнарыі",
"FailedCasesTrendControls.ItemsFieldLabel": "Элементы",
"FailedCasesTrendControls.ItemsValidationError": "Колькасць элементаў павінна быць памерам ад '1' да '600'",
@@ -1030,7 +1030,6 @@
"IntegrationsList.bts": "Сістэма адсочвання памылак",
"IntegrationsList.notification": "Апавяшчэнні",
"IntegrationsList.other": "Іншыя",
- "IntegrationsTab.integrationsBreadcrumbTitle": "Інтэграцыі",
"InvestigatedPercentageOfLaunchesControls.ItemsFieldLabel": "Элементы",
"InvestigatedPercentageOfLaunchesControls.ItemsValidationError": "Колькасць элементаў павінна быць памерам ад '1' да '600'",
"InviteUserModal.description": "Запрасіць карыстальніка на праект",
@@ -1641,7 +1640,6 @@
"ProjectActivityControls.UsersPlaceholder": "Увядзiце iмя карыстальніка",
"ProjectDetailsPageEvents.headerButton": "Маніторынг праекта",
"ProjectDetailsPageMembers.headerButton": "Удзельнікі праекта",
- "ProjectDetailsPageSettings.headerButton": "Налады праекта",
"ProjectPanel.assign": "Прызначыць",
"ProjectPanel.delete": "Выдаліць",
"ProjectPanel.internal": "Унутраны",
diff --git a/app/localization/translated/ru.json b/app/localization/translated/ru.json
index a25802defe..78f47c1d9a 100644
--- a/app/localization/translated/ru.json
+++ b/app/localization/translated/ru.json
@@ -84,8 +84,8 @@
"AddFilter.placeholderFilterName": "Ввести имя фильтра",
"AddIntegrationModal.createGlobalTitle": "Создать глобальную интеграцию",
"AddIntegrationModal.createProjectTitle": "Создать проектную интеграцию",
- "AddIntegrationModal.editProjectIntegrationTitle": "Редактировать интеграцию проекта",
"AddIntegrationModal.editGlobalIntegrationTitle": "Редактировать глобальную интеграцию",
+ "AddIntegrationModal.editProjectIntegrationTitle": "Редактировать интеграцию проекта",
"AddNewCaseButton.addNewRuleButton": "Добавить новое правило",
"AddUserForm.addUserTitle": "Добавить пользователя",
"AddUserForm.generatePassword": "Сгенерировать пароль",
@@ -172,6 +172,7 @@
"AttributeEditor.uniqueAttributeKeyHint": "Ключ атрибута должен быть уникальным",
"AttributeEditor.valueLabel": "Значение",
"AttributeList.addNew": "Добавить",
+ "AttributesBlock.attributesTitle": "Атрибуты",
"AttributesContainer.addAttribute": "Добавить атрибут",
"AttributesContainer.attributes": "Атрибуты",
"AttributesContainer.attributesNotActive": "Атрибуты не активны. Для активации установите флажок ‘Атрибуты‘",
@@ -180,7 +181,6 @@
"AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Введить ключ атрибута",
"AttributesFieldArrayControl.levelCanBeAddedMessage": "1 уровень может быть добавлен",
"AttributesFieldArrayControl.levelsCanBeAddedMessage": "{amount} уровней могут быть добавлены",
- "AttributesBlock.attributesTitle": "Атрибуты",
"AutoAnalysis.AutoAnalysisMode": "Авто-Анализ на основе",
"AutoAnalysis.AutoAnalysisModeDescription": "Вы можете указать запуски, которые будут использоваться в качестве основы для автоматического анализа. Документация",
"AutoAnalysis.allLaunchesCaption": "Все предыдущие запуски",
@@ -203,9 +203,11 @@
"Breadcrumbs.restorePath": "Восстановить путь",
"BtsCommonMessages.authTypeLabel": "Тип авторизации",
"BtsCommonMessages.btsIntegrationNameHint": "Размер имени Интеграции должен быть от 1 до 55",
+ "BtsCommonMessages.btsPasswordHint": "Пароль должен быть длиной от 1 до 55",
"BtsCommonMessages.btsProjectIdHint": "ID проекта должен быть длиной от 1 до 55",
"BtsCommonMessages.btsProjectKeyHint": "Ключ проекта должен быть длиной от 1 до 55",
"BtsCommonMessages.btsUrlHint": "Пожалуйста, предоставьте действительную ссылку в СОД",
+ "BtsCommonMessages.btsUserNameHint": "Имя должно быть длиной от 1 до 55",
"BtsCommonMessages.integrationNameLabel": "Имя интеграции",
"BtsCommonMessages.linkToBtsLabel": "Ссылка на СОД",
"BtsCommonMessages.projectKeyLabel": "Ключ проекта в СОД",
@@ -263,8 +265,6 @@
"Charts.testCasesCaption": "Тествовые случаи",
"Charts.total": "Всего {type}",
"ClusterItemsGridRow.loadLabel": "Загрузить еще",
- "ColorPicker.pickSwatch": "Выберите образец",
- "ColorPicker.selectColor": "Выберите свой цвет",
"CommandItem.commandTitle": "Команда",
"CommandItem.parametersTitle": "Параметры",
"CommandItem.responseTitle": "Ответ",
@@ -726,6 +726,7 @@
"EventsGrid.userSearchPlaceholder": "Введите имя пользователя",
"ExpandToggler.hideCriteria": "Спрятать Критерии",
"ExpandToggler.showCriteria": "Показать Критерии",
+ "ExtensionError.message": "В плагине произошел сбой.
Дождитесь восстановления соединения
или обратитесь за помощью к администратору.",
"ExternalSystems.createIntegration": "сконфигурировал",
"ExternalSystems.deleteIntegration": "удалил",
"ExternalSystems.emailDefaultName": "Email Server",
@@ -737,7 +738,6 @@
"ExternalUserInvitationModal.email": "Приглашение было отправлено на",
"ExternalUserInvitationModal.header": "Пригласить пользователя",
"ExternalUserInvitationModal.link": "Ссылка на приглашение",
- "ExtensionError.message": "В плагине произошел сбой.
Дождитесь восстановления соединения
или обратитесь за помощью к администратору.",
"FailedCasesTrendChart.failedCases": "неудавшиеся сценарии",
"FailedCasesTrendControls.ItemsFieldLabel": "Элементы",
"FailedCasesTrendControls.ItemsValidationError": "Количество элементов принимает значения от '1' до '600'",
@@ -1030,7 +1030,6 @@
"IntegrationsList.bts": "Системы отслеживания ошибок",
"IntegrationsList.notification": "Уведомления",
"IntegrationsList.other": "Другие",
- "IntegrationsTab.integrationsBreadcrumbTitle": "Интеграции",
"InvestigatedPercentageOfLaunchesControls.ItemsFieldLabel": "Элементы",
"InvestigatedPercentageOfLaunchesControls.ItemsValidationError": "Количество элементов принимает значения от '1' до '600'",
"InviteUserModal.description": "Пригласить пользователя на проект",
@@ -1641,7 +1640,6 @@
"ProjectActivityControls.UsersPlaceholder": "Введите имя пользователя",
"ProjectDetailsPageEvents.headerButton": "Мониторинг проекта",
"ProjectDetailsPageMembers.headerButton": "Участники проекта",
- "ProjectDetailsPageSettings.headerButton": "Настройки проекта",
"ProjectPanel.assign": "Назначить",
"ProjectPanel.delete": "Удалить",
"ProjectPanel.internal": "Внутренний",
diff --git a/app/localization/translated/uk.json b/app/localization/translated/uk.json
index 5cdc2fa1cb..ff807c01d5 100644
--- a/app/localization/translated/uk.json
+++ b/app/localization/translated/uk.json
@@ -84,8 +84,8 @@
"AddFilter.placeholderFilterName": "Ввести ім’я фільтру",
"AddIntegrationModal.createGlobalTitle": "Створити глобальну інтеграцію",
"AddIntegrationModal.createProjectTitle": "Створити проектну інтеграцію",
- "AddIntegrationModal.editProjectIntegrationTitle": "Редагувати інтеграцію проекту",
"AddIntegrationModal.editGlobalIntegrationTitle": "Редагувати глобальну інтеграцію",
+ "AddIntegrationModal.editProjectIntegrationTitle": "Редагувати інтеграцію проекту",
"AddNewCaseButton.addNewRuleButton": "Додати нове правило",
"AddUserForm.addUserTitle": "Додати користувача",
"AddUserForm.generatePassword": "Згенерувати пароль",
@@ -172,6 +172,7 @@
"AttributeEditor.uniqueAttributeKeyHint": "Ключ атрибута повинен бути унікальним",
"AttributeEditor.valueLabel": "Значення",
"AttributeList.addNew": "Додати",
+ "AttributesBlock.attributesTitle": "Атрибути",
"AttributesContainer.addAttribute": "Додати атрибут",
"AttributesContainer.attributes": "Атрибути",
"AttributesContainer.attributesNotActive": "Атрибути не є активними. Для активації встановіть прапорець 'Атрибути’",
@@ -180,7 +181,6 @@
"AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "Введить ключ атрибуту",
"AttributesFieldArrayControl.levelCanBeAddedMessage": "1 рівень може бути доданий",
"AttributesFieldArrayControl.levelsCanBeAddedMessage": "{amount} рівнів можуть бути додані",
- "AttributesBlock.attributesTitle": "Атрибути",
"AutoAnalysis.AutoAnalysisMode": "Авто-Аналіз на основі",
"AutoAnalysis.AutoAnalysisModeDescription": "Ви можете вказати запуски, які будуть використовуватися як основа для автоматичного аналізу. Документація",
"AutoAnalysis.allLaunchesCaption": "Всі попередні запуски",
@@ -203,9 +203,11 @@
"Breadcrumbs.restorePath": "Відновити шлях",
"BtsCommonMessages.authTypeLabel": "Тип авторизації",
"BtsCommonMessages.btsIntegrationNameHint": "Розмір імені Інтеграції повинен бути від 1 до 55",
+ "BtsCommonMessages.btsPasswordHint": "Пароль має бути довжиною від 1 до 55",
"BtsCommonMessages.btsProjectIdHint": "ID проекту має бути довжиною від 1 до 55",
"BtsCommonMessages.btsProjectKeyHint": "Ключ проекту має бути довжиною від 1 до 55",
"BtsCommonMessages.btsUrlHint": "Будь ласка, надайте в дійсну посилання СОД",
+ "BtsCommonMessages.btsUserNameHint": "Ім’я має бути довжиною від 1 до 55",
"BtsCommonMessages.integrationNameLabel": "Ім’я інтеграції",
"BtsCommonMessages.linkToBtsLabel": "Посилання на СОД",
"BtsCommonMessages.projectKeyLabel": "Ключ проекту в СОД",
@@ -263,8 +265,6 @@
"Charts.testCasesCaption": "Тествовые випадки",
"Charts.total": "Всього {type}",
"ClusterItemsGridRow.loadLabel": "Завантажити",
- "ColorPicker.pickSwatch": "Виберіть зразок",
- "ColorPicker.selectColor": "Виберіть свій колір",
"CommandItem.commandTitle": "Команда",
"CommandItem.parametersTitle": "Параметри",
"CommandItem.responseTitle": "Відповідь",
@@ -726,6 +726,7 @@
"EventsGrid.userSearchPlaceholder": "Введіть ім’я користувача",
"ExpandToggler.hideCriteria": "Сховати Критерії",
"ExpandToggler.showCriteria": "Показати Критерії",
+ "ExtensionError.message": "У плагіні стався збій.
Дочекайте відновлення з'єднання
або зверніться за допомогою до адміністратора.",
"ExternalSystems.createIntegration": "сконфигурировал",
"ExternalSystems.deleteIntegration": "видалив",
"ExternalSystems.emailDefaultName": "Email Server",
@@ -737,7 +738,6 @@
"ExternalUserInvitationModal.email": "Запрошення було надіслано на",
"ExternalUserInvitationModal.header": "Запросити користувача",
"ExternalUserInvitationModal.link": "Посилання на запрошення",
- "ExtensionError.message": "У плагіні стався збій.
Дочекайте відновлення з'єднання
або зверніться за допомогою до адміністратора.",
"FailedCasesTrendChart.failedCases": "сценарії невдалі",
"FailedCasesTrendControls.ItemsFieldLabel": "Елементи",
"FailedCasesTrendControls.ItemsValidationError": "Кількість елементів приймає значення від '1' до '600'",
@@ -1030,7 +1030,6 @@
"IntegrationsList.bts": "Системи відстеження помилок",
"IntegrationsList.notification": "Повідомлення",
"IntegrationsList.other": "Інші",
- "IntegrationsTab.integrationsBreadcrumbTitle": "Інтеграції",
"InvestigatedPercentageOfLaunchesControls.ItemsFieldLabel": "Елементи",
"InvestigatedPercentageOfLaunchesControls.ItemsValidationError": "Кількість елементів приймає значення від '1' до '600'",
"InviteUserModal.description": "Запросити користувача на проект",
@@ -1641,7 +1640,6 @@
"ProjectActivityControls.UsersPlaceholder": "Введіть ім’я користувача",
"ProjectDetailsPageEvents.headerButton": "Моніторинг проекту",
"ProjectDetailsPageMembers.headerButton": "Учасники проекту",
- "ProjectDetailsPageSettings.headerButton": "Налаштування проекту",
"ProjectPanel.assign": "Призначити",
"ProjectPanel.delete": "Видалити",
"ProjectPanel.internal": "Внутрішній",
diff --git a/app/localization/translated/zh.json b/app/localization/translated/zh.json
index e6df961276..0a6752d739 100644
--- a/app/localization/translated/zh.json
+++ b/app/localization/translated/zh.json
@@ -84,8 +84,8 @@
"AddFilter.placeholderFilterName": "请输入过滤器名称",
"AddIntegrationModal.createGlobalTitle": "创建全局集成",
"AddIntegrationModal.createProjectTitle": "Create Project Integration",
- "AddIntegrationModal.editProjectIntegrationTitle": "Edit Project Integration",
"AddIntegrationModal.editGlobalIntegrationTitle": "Edit Global Integration",
+ "AddIntegrationModal.editProjectIntegrationTitle": "Edit Project Integration",
"AddNewCaseButton.addNewRuleButton": "创建规则",
"AddUserForm.addUserTitle": "添加用户",
"AddUserForm.generatePassword": "生成密码",
@@ -172,6 +172,7 @@
"AttributeEditor.uniqueAttributeKeyHint": "关键字取值是唯一的",
"AttributeEditor.valueLabel": "值",
"AttributeList.addNew": "添加新属性",
+ "AttributesBlock.attributesTitle": "属性",
"AttributesContainer.addAttribute": "添加属性",
"AttributesContainer.attributes": "属性",
"AttributesContainer.attributesNotActive": "属性未生效。请勾选复选框“属性”进行激活",
@@ -180,7 +181,6 @@
"AttributesFieldArrayControl.attributeKeyFieldPlaceholder": "请输入属性名",
"AttributesFieldArrayControl.levelCanBeAddedMessage": "可以再增加1层",
"AttributesFieldArrayControl.levelsCanBeAddedMessage": "可以再增加{amount}层",
- "AttributesBlock.attributesTitle": "属性",
"AutoAnalysis.AutoAnalysisMode": "自动分析服务基于的数据",
"AutoAnalysis.AutoAnalysisModeDescription": "You can specify the launches that will be used as the base for Auto-Analysis. Documentation",
"AutoAnalysis.allLaunchesCaption": "All previous launches",
@@ -203,9 +203,11 @@
"Breadcrumbs.restorePath": "恢复路径",
"BtsCommonMessages.authTypeLabel": "认证类型",
"BtsCommonMessages.btsIntegrationNameHint": "集成名称的长度应为1到55个字符",
+ "BtsCommonMessages.btsPasswordHint": "Password should have size from 1 to 55",
"BtsCommonMessages.btsProjectIdHint": "项目ID的长度取值范围是1~55个字符",
"BtsCommonMessages.btsProjectKeyHint": "项目键长度取值范围是1~55个字符",
"BtsCommonMessages.btsUrlHint": "请提供一个有效的BTS链接",
+ "BtsCommonMessages.btsUserNameHint": "Username should have size from 1 to 55",
"BtsCommonMessages.integrationNameLabel": "集成名称",
"BtsCommonMessages.linkToBtsLabel": "关联到BTS",
"BtsCommonMessages.projectKeyLabel": "BTS中项目的关键字",
@@ -263,8 +265,6 @@
"Charts.testCasesCaption": "测试用例",
"Charts.total": "全部{type}",
"ClusterItemsGridRow.loadLabel": "加载更多",
- "ColorPicker.pickSwatch": "选择一个样本",
- "ColorPicker.selectColor": "选择您的颜色",
"CommandItem.commandTitle": "指令",
"CommandItem.parametersTitle": "参数",
"CommandItem.responseTitle": "响应",
@@ -726,6 +726,7 @@
"EventsGrid.userSearchPlaceholder": "请输入用户名",
"ExpandToggler.hideCriteria": "隐藏条件",
"ExpandToggler.showCriteria": "显示条件",
+ "ExtensionError.message": "The plugin has encountered a crash.
Await the reestablishment of the connection
or contact the administrator for assistance.",
"ExternalSystems.createIntegration": "已设置",
"ExternalSystems.deleteIntegration": "已删除",
"ExternalSystems.emailDefaultName": "电子邮件服务器",
@@ -737,7 +738,6 @@
"ExternalUserInvitationModal.email": "邀请已发送至",
"ExternalUserInvitationModal.header": "邀请用户",
"ExternalUserInvitationModal.link": "邀请链接",
- "ExtensionError.message": "The plugin has encountered a crash.
Await the reestablishment of the connection
or contact the administrator for assistance.",
"FailedCasesTrendChart.failedCases": "失败的用例",
"FailedCasesTrendControls.ItemsFieldLabel": "测试项",
"FailedCasesTrendControls.ItemsValidationError": "测试项的数量应该在1到600之间",
@@ -1030,7 +1030,6 @@
"IntegrationsList.bts": "缺陷跟踪系统",
"IntegrationsList.notification": "通知",
"IntegrationsList.other": "第三方",
- "IntegrationsTab.integrationsBreadcrumbTitle": "集成",
"InvestigatedPercentageOfLaunchesControls.ItemsFieldLabel": "测试项",
"InvestigatedPercentageOfLaunchesControls.ItemsValidationError": "测试项的数量应为1到600个",
"InviteUserModal.description": "为此项目邀请用户",
@@ -1641,7 +1640,6 @@
"ProjectActivityControls.UsersPlaceholder": "请输入用户名",
"ProjectDetailsPageEvents.headerButton": "项目监控",
"ProjectDetailsPageMembers.headerButton": "项目成员",
- "ProjectDetailsPageSettings.headerButton": "项目设置",
"ProjectPanel.assign": "分配",
"ProjectPanel.delete": "删除",
"ProjectPanel.internal": "内部",
@@ -2179,4 +2177,4 @@
"usersGrid.roleNonAdmin": "非管理",
"usersGrid.type": "类型",
"usersGrid.user": "登录"
-}
+}
\ No newline at end of file
diff --git a/app/src/common/utils/validation/validate.js b/app/src/common/utils/validation/validate.js
index 7d4a253493..4fed6cc6d0 100644
--- a/app/src/common/utils/validation/validate.js
+++ b/app/src/common/utils/validation/validate.js
@@ -53,6 +53,8 @@ export const defectTypeShortName = composeValidators([isNotEmpty, maxLength(4)])
export const projectName = composeValidators([isNotEmpty, regex(/^[0-9a-zA-Z-_]{3,256}$/)]);
export const btsIntegrationName = composeValidators([isNotEmpty, maxLength(55)]);
export const btsProject = composeValidators([isNotEmpty, maxLength(55)]);
+export const btsUserName = composeValidators([isNotEmpty, maxLength(55)]);
+export const btsPassword = composeValidators([isNotEmpty, maxLength(55)]);
export const patternNameLength = composeValidators([isNotEmpty, maxLength(55)]);
export const ruleNameLength = composeValidators([isNotEmpty, maxLength(55)]);
export const createNameUniqueValidator = (itemId, items) => (newName) =>
diff --git a/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx b/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx
index 498da67d56..d2e01d1be2 100644
--- a/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx
+++ b/app/src/components/fields/fieldErrorHint/fieldErrorHint.jsx
@@ -200,6 +200,14 @@ const messages = defineMessages({
id: 'BtsCommonMessages.btsProjectIdHint',
defaultMessage: 'Project ID should have size from 1 to 55',
},
+ btsUserNameHint: {
+ id: 'BtsCommonMessages.btsUserNameHint',
+ defaultMessage: 'Username should have size from 1 to 55',
+ },
+ btsPasswordHint: {
+ id: 'BtsCommonMessages.btsPasswordHint',
+ defaultMessage: 'Password should have size from 1 to 55',
+ },
portFieldHint: {
id: 'EmailFormFields.portFieldHint',
defaultMessage: "Only numbers from '1' to '65535' are possible.",
diff --git a/app/src/components/integrations/integrationProviders/emailIntegration/emailFormFields/emailFormFields.jsx b/app/src/components/integrations/integrationProviders/emailIntegration/emailFormFields/emailFormFields.jsx
index e04289176d..e29d1d3a87 100644
--- a/app/src/components/integrations/integrationProviders/emailIntegration/emailFormFields/emailFormFields.jsx
+++ b/app/src/components/integrations/integrationProviders/emailIntegration/emailFormFields/emailFormFields.jsx
@@ -182,7 +182,7 @@ export class EmailFormFields extends Component {
isRequired
>