From 6ed1b7567dd2cf1d9e5fbac66c57e172bdf5060a Mon Sep 17 00:00:00 2001 From: Sem Postma Date: Wed, 25 Feb 2026 09:31:45 +0100 Subject: [PATCH 1/3] feat: add configurable issue url --- packages/decap-cms-core/src/components/UI/ErrorBoundary.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/decap-cms-core/src/components/UI/ErrorBoundary.js b/packages/decap-cms-core/src/components/UI/ErrorBoundary.js index cc564e65ac4e..c0ce99e8f5ad 100644 --- a/packages/decap-cms-core/src/components/UI/ErrorBoundary.js +++ b/packages/decap-cms-core/src/components/UI/ErrorBoundary.js @@ -8,7 +8,7 @@ import copyToClipboard from 'copy-text-to-clipboard'; import { localForage } from 'decap-cms-lib-util'; import { buttons, colors } from 'decap-cms-ui-default'; -const ISSUE_URL = 'https://github.com/decaporg/decap-cms/issues/new?'; +const ISSUE_URL = 'https://github.com/decaporg/decap-cms/issues/new'; function getIssueTemplate({ version, provider, browser, config }) { return ` @@ -52,6 +52,7 @@ function buildIssueTemplate({ config }) { } function buildIssueUrl({ title, config }) { + const issueUrl = config?.issue_reports?.url ?? ISSUE_URL; try { const body = buildIssueTemplate({ config }); @@ -60,10 +61,10 @@ function buildIssueUrl({ title, config }) { params.append('body', truncate(body, { length: 4000, omission: '\n...' })); params.append('labels', 'type: bug'); - return `${ISSUE_URL}${params.toString()}`; + return `${issueUrl}?${params.toString()}`; } catch (e) { console.log(e); - return `${ISSUE_URL}template=bug_report.md`; + return `${issueUrl}?template=bug_report.md`; } } From e4975485412561d2b8e236244316b6330ca82368 Mon Sep 17 00:00:00 2001 From: Sem Postma Date: Thu, 26 Feb 2026 12:11:14 +0100 Subject: [PATCH 2/3] fix: updated schemas --- packages/decap-cms-core/index.d.ts | 5 +++++ packages/decap-cms-core/src/constants/configSchema.js | 6 ++++++ packages/decap-cms-core/src/types/redux.ts | 5 +++++ 3 files changed, 16 insertions(+) diff --git a/packages/decap-cms-core/index.d.ts b/packages/decap-cms-core/index.d.ts index f29c08c4e2e6..8c41d54f4450 100644 --- a/packages/decap-cms-core/index.d.ts +++ b/packages/decap-cms-core/index.d.ts @@ -386,6 +386,10 @@ declare module 'decap-cms-core' { allowed_hosts?: string[]; } + export interface CmsIssueReports { + url?: string; + } + export interface CmsConfig { backend: CmsBackend; collections: CmsCollection[]; @@ -403,6 +407,7 @@ declare module 'decap-cms-core' { media_folder_relative?: boolean; media_library?: CmsMediaLibrary; publish_mode?: CmsPublishMode; + issue_reports?: CmsIssueReports; load_config_file?: boolean; integrations?: { hooks: string[]; diff --git a/packages/decap-cms-core/src/constants/configSchema.js b/packages/decap-cms-core/src/constants/configSchema.js index 279f80bf0bb8..5822a659b416 100644 --- a/packages/decap-cms-core/src/constants/configSchema.js +++ b/packages/decap-cms-core/src/constants/configSchema.js @@ -193,6 +193,12 @@ function getConfigSchema() { clean_accents: { type: 'boolean' }, }, }, + issue_reports: { + type: 'object', + properties: { + url: { type: 'string', examples: ['https://example.com/report-issue'] }, + } + }, collections: { type: 'array', minItems: 1, diff --git a/packages/decap-cms-core/src/types/redux.ts b/packages/decap-cms-core/src/types/redux.ts index 3c059b4801fc..4587741e24a5 100644 --- a/packages/decap-cms-core/src/types/redux.ts +++ b/packages/decap-cms-core/src/types/redux.ts @@ -399,6 +399,10 @@ export interface CmsLocalBackend { allowed_hosts?: string[]; } +export interface CmsIssueReports { + url?: string; +} + export interface CmsConfig { backend: CmsBackend; collections: CmsCollection[]; @@ -427,6 +431,7 @@ export interface CmsConfig { }[]; slug?: CmsSlug; i18n?: CmsI18nConfig; + issue_reports?: CmsIssueReports; local_backend?: boolean | CmsLocalBackend; editor?: { preview?: boolean; From 54cba3b58ba6daac8f6080e45816af269c127fc0 Mon Sep 17 00:00:00 2001 From: Sem Postma Date: Fri, 6 Mar 2026 09:51:27 +0100 Subject: [PATCH 3/3] fix: format issue --- packages/decap-cms-core/src/constants/configSchema.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/decap-cms-core/src/constants/configSchema.js b/packages/decap-cms-core/src/constants/configSchema.js index 5822a659b416..a5fa3a13c5c9 100644 --- a/packages/decap-cms-core/src/constants/configSchema.js +++ b/packages/decap-cms-core/src/constants/configSchema.js @@ -197,7 +197,7 @@ function getConfigSchema() { type: 'object', properties: { url: { type: 'string', examples: ['https://example.com/report-issue'] }, - } + }, }, collections: { type: 'array',