From 6ece5434ca0103e727a377aa0ceec05f59455716 Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Thu, 11 May 2023 10:39:56 -0500 Subject: [PATCH] Added support for URLs with prefix Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- .../src/actions/confluence/helpers.test.ts | 10 ++++++++++ .../src/actions/confluence/helpers.ts | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.test.ts b/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.test.ts index 4b737998ec..5cfd679a5e 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.test.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.test.ts @@ -30,6 +30,16 @@ describe('createConfluenceVariables', () => { expect(titleWithSpaces).toEqual('Page Title'); }); + it('should return values for Confluence Url with prefix', () => { + const url = + 'https://confluence.example.com/prefix/display/PREFIXSPACEKEY/Prefix+Page+Title'; + const { spacekey, title, titleWithSpaces } = createConfluenceVariables(url); + + expect(spacekey).toEqual('PREFIXSPACEKEY'); + expect(title).toEqual('Prefix+Page+Title'); + expect(titleWithSpaces).toEqual('Prefix Page Title'); + }); + it('should return values for Confluence Cloud Url', () => { const url = 'https://example.atlassian.net/wiki/spaces/CLOUDSPACEKEY/pages/1234567/Cloud+Page+Title'; diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.ts b/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.ts index be34b3ca94..c85689e372 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/helpers.ts @@ -197,6 +197,12 @@ export const createConfluenceVariables = (url: string) => { title = params.pathname.split('/')[3]; titleWithSpaces = title?.replace(/\+/g, ' '); return { spacekey, title, titleWithSpaces }; + } else if (params.pathname.split('/')[2] === 'display') { + // https://confluence.example.com/prefix/display/SPACEKEY/Page+Title + spacekey = params.pathname.split('/')[3]; + title = params.pathname.split('/')[4]; + titleWithSpaces = title?.replace(/\+/g, ' '); + return { spacekey, title, titleWithSpaces }; } else if (params.pathname.split('/')[2] === 'spaces') { // https://example.atlassian.net/wiki/spaces/SPACEKEY/pages/1234567/Page+Title spacekey = params.pathname.split('/')[3];