From 89a89625ea402567bebfa7d3f197ddd212ad703c Mon Sep 17 00:00:00 2001 From: Wouter Admiraal Date: Tue, 10 Aug 2021 08:18:26 +0200 Subject: [PATCH] SONAR-13888 SONAR-13890 SONAR-13889 Small improvements on Jenkins tutorial - Make next step buttons easier to spot - Correct label for Webhook creation in GitHub - Make tutorial ending a stand-alone step for increased clarity - Make pre-requisites more prominent --- server/sonar-web/src/main/js/app/theme.js | 4 +- .../tutorials/components/AllSet.tsx | 84 +++--- .../tutorials/components/AllSetStep.tsx | 47 ++++ .../components/__tests__/AllSetStep-test.tsx | 36 +++ .../__snapshots__/AllSet-test.tsx.snap | 240 ++++++++++-------- .../__snapshots__/AllSetStep-test.tsx.snap | 21 ++ .../tutorials/jenkins/JenkinsTutorial.tsx | 10 +- .../tutorials/jenkins/JenkinsfileStep.tsx | 22 +- .../jenkins/MultiBranchPipelineStep.tsx | 7 +- .../tutorials/jenkins/PipelineStep.tsx | 7 +- .../tutorials/jenkins/PreRequisitesStep.tsx | 12 +- .../tutorials/jenkins/WebhookStep.tsx | 7 +- .../jenkins/WebhookStepBitbucket.tsx | 2 +- .../tutorials/jenkins/WebhookStepGithub.tsx | 4 +- .../__tests__/JenkinsfileStep-test.tsx | 5 +- .../JenkinsTutorial-test.tsx.snap | 18 +- .../JenkinsfileStep-test.tsx.snap | 62 +++-- .../MultiBranchPipelineStep-test.tsx.snap | 28 ++ .../__snapshots__/PipelineStep-test.tsx.snap | 8 + .../PreRequisitesStep-test.tsx.snap | 36 ++- .../__snapshots__/WebhookStep-test.tsx.snap | 20 ++ .../WebhookStepBitbucket-test.tsx.snap | 6 +- .../WebhookStepGithub-test.tsx.snap | 12 +- .../resources/org/sonar/l10n/core.properties | 15 +- 24 files changed, 487 insertions(+), 226 deletions(-) create mode 100644 server/sonar-web/src/main/js/components/tutorials/components/AllSetStep.tsx create mode 100644 server/sonar-web/src/main/js/components/tutorials/components/__tests__/AllSetStep-test.tsx create mode 100644 server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSetStep-test.tsx.snap diff --git a/server/sonar-web/src/main/js/app/theme.js b/server/sonar-web/src/main/js/app/theme.js index 6c2a97a00d3..21528195573 100644 --- a/server/sonar-web/src/main/js/app/theme.js +++ b/server/sonar-web/src/main/js/app/theme.js @@ -19,6 +19,7 @@ */ // IMPORTANT: any change in this file requires restart of the dev server const grid = 8; +const baseFontSizeRaw = 13; module.exports = { colors: { @@ -143,7 +144,7 @@ module.exports = { sizes: { gridSize: `${grid}px`, - baseFontSize: '13px', + baseFontSize: `${baseFontSizeRaw}px`, verySmallFontSize: '10px', smallFontSize: '12px', mediumFontSize: '14px', @@ -168,6 +169,7 @@ module.exports = { rawSizes: { grid, + baseFontSizeRaw, globalNavHeightRaw: 6 * grid, globalNavContentHeightRaw: 4 * grid, contextNavHeightRaw: 9 * grid diff --git a/server/sonar-web/src/main/js/components/tutorials/components/AllSet.tsx b/server/sonar-web/src/main/js/components/tutorials/components/AllSet.tsx index 2e0c1e3d818..ad3e794c589 100644 --- a/server/sonar-web/src/main/js/components/tutorials/components/AllSet.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/components/AllSet.tsx @@ -36,50 +36,56 @@ export function AllSet(props: AllSetProps) { } = props; return ( -
-

- -

-
-
- +
+

+ +

+
+
+ +
+
+

+ {translate('onboarding.tutorial.ci_outro.commit')} +

+

+ {branchesEnabled + ? translate('onboarding.tutorial.ci_outro.commit.why', alm) + : translate('onboarding.tutorial.ci_outro.commit.why.no_branches')} +

+
-
-

- {translate('onboarding.tutorial.ci_outro.commit')} -

-

- {branchesEnabled - ? translate('onboarding.tutorial.ci_outro.commit.why', alm) - : translate('onboarding.tutorial.ci_outro.commit.why.no_branches')} -

+
+
+ +
+
+

+ {translate('onboarding.tutorial.ci_outro.refresh')} +

+

{translate('onboarding.tutorial.ci_outro.refresh.why')}

+
-
-
- -
-
-

- {translate('onboarding.tutorial.ci_outro.refresh')} -

-

{translate('onboarding.tutorial.ci_outro.refresh.why')}

-
+
+ + {translate('onboarding.tutorial.ci_outro.waiting_for_fist_analysis')}
-
+ ); } diff --git a/server/sonar-web/src/main/js/components/tutorials/components/AllSetStep.tsx b/server/sonar-web/src/main/js/components/tutorials/components/AllSetStep.tsx new file mode 100644 index 00000000000..b18fcbf767f --- /dev/null +++ b/server/sonar-web/src/main/js/components/tutorials/components/AllSetStep.tsx @@ -0,0 +1,47 @@ +/* + * SonarQube + * Copyright (C) 2009-2021 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { AlmKeys } from '../../../types/alm-settings'; +import AllSet from './AllSet'; +import Step from './Step'; + +export interface AllSetStepProps { + alm: AlmKeys; + open: boolean; + stepNumber: number; +} + +export default function AllSetStep(props: AllSetStepProps) { + const { alm, open, stepNumber } = props; + return ( + ( +
+ +
+ )} + stepNumber={stepNumber} + stepTitle={translate('onboarding.tutorial.ci_outro.all_set.title')} + /> + ); +} diff --git a/server/sonar-web/src/main/js/components/tutorials/components/__tests__/AllSetStep-test.tsx b/server/sonar-web/src/main/js/components/tutorials/components/__tests__/AllSetStep-test.tsx new file mode 100644 index 00000000000..99823160b42 --- /dev/null +++ b/server/sonar-web/src/main/js/components/tutorials/components/__tests__/AllSetStep-test.tsx @@ -0,0 +1,36 @@ +/* + * SonarQube + * Copyright (C) 2009-2021 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import { shallow } from 'enzyme'; +import * as React from 'react'; +import { AlmKeys } from '../../../../types/alm-settings'; +import { renderStepContent } from '../../test-utils'; +import AllSetStep, { AllSetStepProps } from '../AllSetStep'; + +it('should render correctly', () => { + expect(shallowRender()).toMatchSnapshot('default'); + expect(renderStepContent(shallowRender())).toMatchSnapshot('step content'); +}); + +function shallowRender(props: Partial = {}) { + return shallow( + + ); +} diff --git a/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSet-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSet-test.tsx.snap index 977d4d7c679..5b3d13d45d1 100644 --- a/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSet-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSet-test.tsx.snap @@ -1,135 +1,155 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should render correctly 1`] = ` -
-

- -

+
-
- + +

+
+
+ +
+
+

+ + onboarding.tutorial.ci_outro.commit + +

+

+ onboarding.tutorial.ci_outro.commit.why.github +

+
-
-

- - onboarding.tutorial.ci_outro.commit - -

-

- onboarding.tutorial.ci_outro.commit.why.github -

+
+
+ +
+
+

+ + onboarding.tutorial.ci_outro.refresh + +

+

+ onboarding.tutorial.ci_outro.refresh.why +

+
-
- -
-
-

- - onboarding.tutorial.ci_outro.refresh - -

-

- onboarding.tutorial.ci_outro.refresh.why -

-
+ + onboarding.tutorial.ci_outro.waiting_for_fist_analysis
-
+ `; exports[`should render correctly: without branch 1`] = ` -
-

- -

+
-
- + +

+
+
+ +
+
+

+ + onboarding.tutorial.ci_outro.commit + +

+

+ onboarding.tutorial.ci_outro.commit.why.no_branches +

+
-
-

- - onboarding.tutorial.ci_outro.commit - -

-

- onboarding.tutorial.ci_outro.commit.why.no_branches -

+
+
+ +
+
+

+ + onboarding.tutorial.ci_outro.refresh + +

+

+ onboarding.tutorial.ci_outro.refresh.why +

+
-
- -
-
-

- - onboarding.tutorial.ci_outro.refresh - -

-

- onboarding.tutorial.ci_outro.refresh.why -

-
+ + onboarding.tutorial.ci_outro.waiting_for_fist_analysis
-
+ `; diff --git a/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSetStep-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSetStep-test.tsx.snap new file mode 100644 index 00000000000..12deb834a0e --- /dev/null +++ b/server/sonar-web/src/main/js/components/tutorials/components/__tests__/__snapshots__/AllSetStep-test.tsx.snap @@ -0,0 +1,21 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`should render correctly: default 1`] = ` + +`; + +exports[`should render correctly: step content 1`] = ` +
+ +
+`; diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsTutorial.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsTutorial.tsx index f88416c3d25..443bc98e516 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsTutorial.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsTutorial.tsx @@ -27,6 +27,7 @@ import { AlmSettingsInstance, ProjectAlmBindingResponse } from '../../../types/alm-settings'; +import AllSetStep from '../components/AllSetStep'; import JenkinsfileStep from './JenkinsfileStep'; import MultiBranchPipelineStep from './MultiBranchPipelineStep'; import PipelineStep from './PipelineStep'; @@ -49,7 +50,8 @@ enum Steps { PreRequisites = 1, MultiBranchPipeline = 2, Webhook = 3, - Jenkinsfile = 4 + Jenkinsfile = 4, + AllSet = 5 } const USER_SETTING_SKIP_BITBUCKET_PREREQS = 'tutorials.jenkins.skipBitbucketPreReqs'; @@ -135,11 +137,15 @@ export function JenkinsTutorial(props: JenkinsTutorialProps) { /> Steps.Jenkinsfile} + onDone={() => setStep(Steps.AllSet)} + onOpen={() => setStep(Steps.Jenkinsfile)} open={step === Steps.Jenkinsfile} /> + + )} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsfileStep.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsfileStep.tsx index c52cbde5667..6e8e84e2b0b 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsfileStep.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/JenkinsfileStep.tsx @@ -18,11 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { translate } from 'sonar-ui-common/helpers/l10n'; -import { AlmKeys } from '../../../types/alm-settings'; +import { rawSizes } from '../../../app/theme'; import { withCLanguageFeature } from '../../hoc/withCLanguageFeature'; -import AllSet from '../components/AllSet'; import RenderOptions from '../components/RenderOptions'; import Step from '../components/Step'; import { BuildTools } from '../types'; @@ -33,10 +34,12 @@ import Maven from './buildtool-steps/Maven'; import Other from './buildtool-steps/Other'; export interface JenkinsfileStepProps { - alm: AlmKeys; baseUrl: string; component: T.Component; hasCLanguageFeature: boolean; + finished: boolean; + onDone: () => void; + onOpen: () => void; open: boolean; } @@ -56,7 +59,7 @@ const BUILDTOOL_COMPONENT_MAP: { }; export function JenkinsfileStep(props: JenkinsfileStepProps) { - const { alm, component, hasCLanguageFeature, baseUrl, open } = props; + const { component, hasCLanguageFeature, baseUrl, finished, open } = props; const [buildTool, setBuildTool] = React.useState(); const buildToolOrder = Object.keys(BUILDTOOL_COMPONENT_MAP); if (!hasCLanguageFeature) { @@ -64,7 +67,8 @@ export function JenkinsfileStep(props: JenkinsfileStepProps) { } return ( (
@@ -88,10 +92,10 @@ export function JenkinsfileStep(props: JenkinsfileStepProps) { React.createElement(BUILDTOOL_COMPONENT_MAP[buildTool], { component, baseUrl })} {buildTool !== undefined && ( - <> -
- - + )}
)} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/MultiBranchPipelineStep.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/MultiBranchPipelineStep.tsx index 4cea006cd28..13c866859e2 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/MultiBranchPipelineStep.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/MultiBranchPipelineStep.tsx @@ -19,7 +19,9 @@ */ import * as React from 'react'; import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { translate } from 'sonar-ui-common/helpers/l10n'; +import { rawSizes } from '../../../app/theme'; import { AlmKeys, AlmSettingsInstance, @@ -205,7 +207,10 @@ export default function MultiBranchPipelineStep(props: MultiBranchPipelineStepPr /> - +
)} stepNumber={1} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/PipelineStep.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/PipelineStep.tsx index 3fdbd0d3193..7123047dd6b 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/PipelineStep.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/PipelineStep.tsx @@ -19,7 +19,9 @@ */ import * as React from 'react'; import { Button } from 'sonar-ui-common/components/controls/buttons'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { translate } from 'sonar-ui-common/helpers/l10n'; +import { rawSizes } from '../../../app/theme'; import { AlmKeys } from '../../../types/alm-settings'; import LabelActionPair from '../components/LabelActionPair'; import SentenceWithHighlights from '../components/SentenceWithHighlights'; @@ -114,7 +116,10 @@ export default function PipelineStep(props: PipelineStepProps) { /> - +
)} stepNumber={1} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/PreRequisitesStep.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/PreRequisitesStep.tsx index 89179a987b6..c488fb4b526 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/PreRequisitesStep.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/PreRequisitesStep.tsx @@ -22,7 +22,10 @@ import { FormattedMessage } from 'react-intl'; import { Link } from 'react-router'; import { Button } from 'sonar-ui-common/components/controls/buttons'; import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { translate } from 'sonar-ui-common/helpers/l10n'; +import { rawSizes } from '../../../app/theme'; import { AlmKeys } from '../../../types/alm-settings'; import SentenceWithHighlights from '../components/SentenceWithHighlights'; import Step from '../components/Step'; @@ -47,12 +50,12 @@ export default function PreRequisitesStep(props: PreRequisitesStepProps) { open={open} renderForm={() => (
-

+ -

+
    {branchesEnabled && (
  • @@ -98,8 +101,9 @@ export default function PreRequisitesStep(props: PreRequisitesStepProps) { onCheck={props.onChangeSkipNextTime} />

    -
)} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStep.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStep.tsx index 4c3d76ec4ec..e0a9a5cdb2d 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStep.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStep.tsx @@ -20,7 +20,9 @@ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import { Button, ButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon'; import { translate } from 'sonar-ui-common/helpers/l10n'; +import { rawSizes } from '../../../app/theme'; import { AlmKeys, AlmSettingsInstance, @@ -98,7 +100,10 @@ export default function WebhookStep(props: WebhookStepProps) { />

    {renderAlmSpecificInstructions(props)}
- +
)} stepNumber={2} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepBitbucket.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepBitbucket.tsx index 7da826014b1..b5bdfb0f7ac 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepBitbucket.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepBitbucket.tsx @@ -157,7 +157,7 @@ export default function WebhookStepBitbucket(props: WebhookStepBitbucketProps) { ) : ( )} diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepGithub.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepGithub.tsx index 1315cd06117..64d20fd3ed7 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepGithub.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/WebhookStepGithub.tsx @@ -91,8 +91,8 @@ export default function WebhookStepGithub(props: WebhookStepGithubProps) {
  • diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/JenkinsfileStep-test.tsx b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/JenkinsfileStep-test.tsx index be6fc8508a7..8238457e619 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/JenkinsfileStep-test.tsx +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/JenkinsfileStep-test.tsx @@ -20,7 +20,6 @@ import { shallow, ShallowWrapper } from 'enzyme'; import * as React from 'react'; import { mockComponent } from '../../../../helpers/testMocks'; -import { AlmKeys } from '../../../../types/alm-settings'; import RenderOptions from '../../components/RenderOptions'; import Step from '../../components/Step'; import { renderStepContent } from '../../test-utils'; @@ -72,10 +71,12 @@ function selectBuildTool(wrapper: ShallowWrapper, tool: Bu function shallowRender(props: Partial = {}) { return shallow( diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsTutorial-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsTutorial-test.tsx.snap index 57eb0d2e22b..e8c3dfb49ce 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsTutorial-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsTutorial-test.tsx.snap @@ -46,7 +46,6 @@ exports[`should render correctly: branches not enabled 1`] = ` } /> +
    `; @@ -130,7 +137,6 @@ exports[`should render correctly: default 1`] = ` } /> + `; diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsfileStep-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsfileStep-test.tsx.snap index 8ab1bb20420..62c25169a1a 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsfileStep-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/JenkinsfileStep-test.tsx.snap @@ -50,14 +50,15 @@ exports[`should render correctly for .NET 1`] = ` } /> - -
    - + tutorials.finish + -
    +
    `; @@ -111,14 +112,15 @@ exports[`should render correctly for Gradle 1`] = ` } /> - -
    - + tutorials.finish + -
    +
    `; @@ -172,14 +174,15 @@ exports[`should render correctly for Maven 1`] = ` } /> - -
    - + tutorials.finish + -
    +
    `; @@ -233,20 +236,22 @@ exports[`should render correctly for Other 1`] = ` } /> - -
    - + tutorials.finish + -
    +
    `; exports[`should render correctly: Step wrapper 1`] = `
    `; @@ -234,9 +238,13 @@ exports[`should render correctly: content for bitbucket cloud 1`] = ` `; @@ -347,9 +355,13 @@ exports[`should render correctly: content for bitbucket cloud, no binding 1`] = `; @@ -460,9 +472,13 @@ exports[`should render correctly: content for bitbucket, no binding 1`] = ` `; @@ -564,9 +580,13 @@ exports[`should render correctly: content for github 1`] = ` `; @@ -667,9 +687,13 @@ exports[`should render correctly: content for github, no binding 1`] = ` `; @@ -775,9 +799,13 @@ exports[`should render correctly: content for gitlab 1`] = ` `; diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PipelineStep-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PipelineStep-test.tsx.snap index 6527408f3d8..3e9317b8ccb 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PipelineStep-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PipelineStep-test.tsx.snap @@ -92,9 +92,13 @@ exports[`should render correctly: content 1`] = ` `; @@ -218,9 +222,13 @@ exports[`should render correctly: gitlab content 1`] = ` `; diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PreRequisitesStep-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PreRequisitesStep-test.tsx.snap index 9f3b6834df1..e3c6038f47a 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PreRequisitesStep-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/PreRequisitesStep-test.tsx.snap @@ -14,18 +14,20 @@ exports[`should render correctly: content 1`] = `
    -

    -

    +
      @@ -80,9 +82,13 @@ exports[`should render correctly: content 1`] = ` />

    `; @@ -91,18 +97,20 @@ exports[`should render correctly: content for branches disabled 1`] = `
    -

    -

    +
      @@ -154,9 +162,13 @@ exports[`should render correctly: content for branches disabled 1`] = ` />

    `; @@ -165,18 +177,20 @@ exports[`should render correctly: content for branches disabled, gitlab 1`] = `
    -

    -

    +
      @@ -231,9 +245,13 @@ exports[`should render correctly: content for branches disabled, gitlab 1`] = ` />

    `; diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStep-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStep-test.tsx.snap index 644d1626f6b..6ab72065f9b 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStep-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStep-test.tsx.snap @@ -25,9 +25,13 @@ exports[`it should render correctly for azure: content 1`] = ` className="list-styled" /> `; @@ -88,9 +92,13 @@ exports[`it should render correctly for bitbucket: content 1`] = ` /> `; @@ -150,9 +158,13 @@ exports[`it should render correctly for bitbucketcloud: content 1`] = ` /> `; @@ -211,9 +223,13 @@ exports[`it should render correctly for github: content 1`] = ` /> `; @@ -258,9 +274,13 @@ exports[`it should render correctly for gitlab: content 1`] = ` /> `; diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepBitbucket-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepBitbucket-test.tsx.snap index 7421b105cc4..e12a985c465 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepBitbucket-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepBitbucket-test.tsx.snap @@ -77,7 +77,7 @@ exports[`should render correctly for bitbucket 1`] = ` "create", ] } - translationKey="onboarding.tutorial.with.jenkins.webhook.step3" + translationKey="onboarding.tutorial.with.jenkins.webhook.bitbucket.step3" /> @@ -150,7 +150,7 @@ exports[`should render correctly for bitbucket: with branches disabled 1`] = ` "create", ] } - translationKey="onboarding.tutorial.with.jenkins.webhook.step3" + translationKey="onboarding.tutorial.with.jenkins.webhook.bitbucket.step3" /> @@ -229,7 +229,7 @@ exports[`should render correctly for bitbucket: with no alm binding 1`] = ` "create", ] } - translationKey="onboarding.tutorial.with.jenkins.webhook.step3" + translationKey="onboarding.tutorial.with.jenkins.webhook.bitbucket.step3" /> diff --git a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepGithub-test.tsx.snap b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepGithub-test.tsx.snap index 0e0a81581b4..da3946e015c 100644 --- a/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepGithub-test.tsx.snap +++ b/server/sonar-web/src/main/js/components/tutorials/jenkins/__tests__/__snapshots__/WebhookStepGithub-test.tsx.snap @@ -65,10 +65,10 @@ exports[`should render correctly 1`] = ` @@ -134,10 +134,10 @@ exports[`should render correctly: with branches disabled 1`] = ` @@ -204,10 +204,10 @@ exports[`should render correctly: with no alm binding 1`] = ` diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index fbb789fd998..859905b76d5 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -3477,6 +3477,7 @@ onboarding.analysis.dotnetcore.global.text=As a prerequisite you need to have th onboarding.analysis.dotnetcore.global.text.path=Make sure dotnet tools folder is in your path. See dotnet global tools documentation for more information. onboarding.tutorial.return_to_list=Choose another option +onboarding.tutorial.ci_outro.all_set.title=You're all set! onboarding.tutorial.ci_outro.all_set.sentence={all_set} and ready to improve the quality and security of your code! onboarding.tutorial.ci_outro.all_set.sentence.all_set=You're all set onboarding.tutorial.ci_outro.commit=Commit and push your code to start the analysis. @@ -3487,7 +3488,8 @@ onboarding.tutorial.ci_outro.commit.why.bitbucketcloud=Each new push you make on onboarding.tutorial.ci_outro.commit.why.azure=Each new push you make on your branches or pull requests will trigger a new analysis in SonarQube. We will decorate pull requests directly on Azure for you. onboarding.tutorial.ci_outro.commit.why.no_branches=Each new push you make on your main branch will trigger a new analysis in SonarQube. onboarding.tutorial.ci_outro.refresh=This page will then refresh with your analysis results. -onboarding.tutorial.ci_outro.refresh.why=If the page doesn't refresh after a while, please double-check the analysis configuration. +onboarding.tutorial.ci_outro.refresh.why=If the page doesn't refresh after a while, please double-check the analysis configuration, and check your logs. +onboarding.tutorial.ci_outro.waiting_for_fist_analysis=Waiting for the first analysis to come in... onboarding.tutorial.other.project_key.sentence=Create a {file} file in your repository and paste the following code: onboarding.tutorial.cfamilly.compilation_database_info=If you have trouble using the build wrapper, you can try using a {link} onboarding.tutorial.cfamilly.compilation_database_info.link=compilation database @@ -3569,8 +3571,9 @@ onboarding.tutorial.with.gitlab_ci.yml.done.links.QG=What is a Quality Gate? onboarding.tutorial.with.jenkins.title=Analyze your project with Jenkins onboarding.tutorial.with.jenkins.alm_selection.title=Select your DevOps platform onboarding.tutorial.with.jenkins.prereqs.title=Prerequisites -onboarding.tutorial.with.jenkins.prereqs.intro.sentence=To run your project analyses with Jenkins, the following plugins {must_have} -onboarding.tutorial.with.jenkins.prereqs.intro.sentence.must_have=must be installed and configured: +onboarding.tutorial.with.jenkins.prereqs.intro.sentence=To run your project analyses with Jenkins, the following plugins must be {installed} and {configured}. +onboarding.tutorial.with.jenkins.prereqs.intro.sentence.installed=installed +onboarding.tutorial.with.jenkins.prereqs.intro.sentence.configured=configured onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.bitbucket=Bitbucket Branch Source plugin for Jenkins - version 2.7 or later onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.bitbucketcloud=Bitbucket Branch Source plugin for Jenkins - version 2.7 or later onboarding.tutorial.with.jenkins.prereqs.plugins.branch_source.github=GitHub Branch Source plugin for Jenkins - version 2.7.1 or later @@ -3735,10 +3738,12 @@ onboarding.tutorial.with.jenkins.webhook.github.step2.repo=Pushes onboarding.tutorial.with.jenkins.webhook.github.step2.pr=Pull Requests onboarding.tutorial.with.jenkins.webhook.gitlab.step2.repo=Push events onboarding.tutorial.with.jenkins.webhook.gitlab.step2.mr=Merge request events -onboarding.tutorial.with.jenkins.webhook.step3.sentence=Click {create}. -onboarding.tutorial.with.jenkins.webhook.step3.sentence.create=Create +onboarding.tutorial.with.jenkins.webhook.github.step3.sentence=Click {add_webhook}. +onboarding.tutorial.with.jenkins.webhook.github.step3.sentence.add_webhook=Add webhook onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step3.sentence=Click {save}. onboarding.tutorial.with.jenkins.webhook.bitbucketcloud.step3.sentence.save=Save +onboarding.tutorial.with.jenkins.webhook.bitbucket.step3.sentence=Click {create}. +onboarding.tutorial.with.jenkins.webhook.bitbucket.step3.sentence.create=Create onboarding.tutorial.with.jenkins.webhook.gitlab.step3.sentence=Click {add_webhook}. onboarding.tutorial.with.jenkins.webhook.gitlab.step3.sentence.add_webhook=Add webhook onboarding.tutorial.with.jenkins.jenkinsfile.title=Create a Jenkinsfile -- 2.39.5