From 3a4795b0588e26287266432e2b79ee680f89607d Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Wed, 24 May 2023 12:46:40 -0500 Subject: [PATCH] Changes based on feedback Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- .changeset/famous-days-kneel.md | 2 +- .../README.md | 15 ++++++--------- .../config.d.ts | 2 +- .../docs/sample-template.yaml | 7 +++---- .../actions/confluence/confluenceToMarkdown.ts | 2 +- .../src/actions/confluence/helpers.ts | 11 +++-------- 6 files changed, 15 insertions(+), 24 deletions(-) diff --git a/.changeset/famous-days-kneel.md b/.changeset/famous-days-kneel.md index 8aef0f4da8..418a1f6d4e 100644 --- a/.changeset/famous-days-kneel.md +++ b/.changeset/famous-days-kneel.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch --- -Added support for Confluence Cloud to the `confluence:transform:markdown` action, view the [README](https://github.com/backstage/backstage/tree/master/plugins/scaffolder-backend-module-confluence-to-markdown) for more details +Added support for Confluence Cloud to the `confluence:transform:markdown` action in addition to the existing Confluence Server support, view the [README](https://github.com/backstage/backstage/tree/master/plugins/scaffolder-backend-module-confluence-to-markdown) for more details diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/README.md b/plugins/scaffolder-backend-module-confluence-to-markdown/README.md index 0618f4cea1..7dd9bd96b1 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/README.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/README.md @@ -60,18 +60,16 @@ export default async function createPlugin( ### Configuration -There is some configuration that needs to be setup to use this action, here are all the settings: +There is some configuration that needs to be setup to use this action, these are the base parameters: ```yaml confluence: baseUrl: 'https://confluence.example.com' - auth: 'bearer' token: '${CONFLUENCE_TOKEN}' - email: 'example@company.org' - username: 'your-username' - password: 'your-password' ``` +The sections below will go into more details about the Base URL and Auth Methods. + #### Base URL The `baseUrl` for Confluence Cloud should include the product name which is `wiki` by default but can be something else if your Org has changed it. An example `baseUrl` for Confluence Cloud would look like this: `https://example.atlassian.net/wiki` @@ -123,7 +121,7 @@ kind: Template metadata: name: confluence-to-markdown title: Confluence to Markdown - description: This template converts a single confluence document to Markdown for Techdocs and adds it to a given GitHub repo. + description: This template converts a single Confluence document to Markdown for Techdocs and adds it to a given GitHub repo. tags: - do-not-use - poc @@ -135,10 +133,9 @@ spec: properties: confluenceUrls: type: array - description: Urls for confluence doc to be converted to markdown. In format /display// or /spaces//pages// for Confluence cloud + description: Urls for Confluence doc to be converted to markdown. In format /display// or /spaces//pages// for Confluence cloud items: type: string - default: confluence url ui:options: addable: true minItems: 1 @@ -161,7 +158,7 @@ spec: repoUrl: ?repo=${{ steps['create-docs'].output.repo }}&owner=${{ steps['create-docs'].output.owner }} branchName: confluence-to-markdown title: Confluence to Markdown - description: PR for converting confluence page to mkdocs + description: PR for converting Confluence page to mkdocs ``` Replace `` with your GitHub URL without `https://`. diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/config.d.ts b/plugins/scaffolder-backend-module-confluence-to-markdown/config.d.ts index 9e3ba5df28..259d34cbf6 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/config.d.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/config.d.ts @@ -31,7 +31,7 @@ export interface Config { */ token?: string; /** - * Email encoded with the token for the bearer auth method + * Email used with the token for the basic auth method * @visibility secret */ email?: string; diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/docs/sample-template.yaml b/plugins/scaffolder-backend-module-confluence-to-markdown/docs/sample-template.yaml index 3b37096db1..bd708b915c 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/docs/sample-template.yaml +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/docs/sample-template.yaml @@ -3,7 +3,7 @@ kind: Template metadata: name: confluence-to-markdown title: Confluence to Markdown - description: This template converts a single confluence document to Markdown for Techdocs and adds it to a given GitHub repo. + description: This template converts a single Confluence document to Markdown for Techdocs and adds it to a given GitHub repo. tags: - do-not-use - poc @@ -15,10 +15,9 @@ spec: properties: confluenceUrls: type: array - description: Urls for confluence doc to be converted to markdown. In format /display// or /spaces//pages// for Confluence cloud + description: URLs for Confluence doc to be converted to markdown. In format /display// or /spaces//pages// for Confluence cloud items: type: string - default: confluence url ui:options: addable: true minItems: 1 @@ -41,4 +40,4 @@ spec: repoUrl: ?repo=${{ steps['create-docs'].output.repo }}&owner=${{ steps['create-docs'].output.owner }} branchName: confluence-to-markdown title: Confluence to Markdown - description: PR for converting confluence page to mkdocs + description: PR for converting Confluence page to mkdocs diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/confluenceToMarkdown.ts b/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/confluenceToMarkdown.ts index 67db15453e..9b666fd99e 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/confluenceToMarkdown.ts +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/src/actions/confluence/confluenceToMarkdown.ts @@ -58,7 +58,7 @@ export const createConfluenceToMarkdownAction = (options: { type: 'array', title: 'Confluence URL', description: - 'Paste your confluence url. Ensure it follows this format: https://{confluence+base+url}/display/{spacekey}/{page+title} or https://{confluence+base+url}/spaces/{spacekey}/pages/1234567/{page+title} for Confluence Cloud', + 'Paste your Confluence url. Ensure it follows this format: https://{confluence+base+url}/display/{spacekey}/{page+title} or https://{confluence+base+url}/spaces/{spacekey}/pages/1234567/{page+title} for Confluence Cloud', items: { type: 'string', default: 'Confluence URL', 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 6d290a6e8c..b2156a1103 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 @@ -90,28 +90,23 @@ export const getConfluenceConfig = (config: Config) => { }; export const getAuthorizationHeaderValue = (config: ConfluenceConfig) => { - let authHeaderValue: string = ''; switch (config.auth) { case 'bearer': - authHeaderValue = `Bearer ${config.token}`; - break; + return `Bearer ${config.token}`; case 'basic': { const buffer = Buffer.from(`${config.email}:${config.token}`, 'utf8'); - authHeaderValue = `Basic ${buffer.toString('base64')}`; - break; + return `Basic ${buffer.toString('base64')}`; } case 'userpass': { const buffer = Buffer.from( `${config.username}:${config.password}`, 'utf8', ); - authHeaderValue = `Basic ${buffer.toString('base64')}`; - break; + return `Basic ${buffer.toString('base64')}`; } default: throw new Error(`Unknown auth method '${config.auth}' provided`); } - return authHeaderValue; }; export const readFileAsString = async (fileDir: string) => {