diff --git a/lib/workers/repository/dependency-dashboard.spec.ts b/lib/workers/repository/dependency-dashboard.spec.ts
index 8fb40454cde2b9504f4c0d793303d9bb7f239e6f..2deacf4f168860be48cd6631bd35635597196133 100644
--- a/lib/workers/repository/dependency-dashboard.spec.ts
+++ b/lib/workers/repository/dependency-dashboard.spec.ts
@@ -10,23 +10,54 @@ import {
 } from '../../../test/util';
 import { GlobalConfig } from '../../config/global';
 import { PlatformId } from '../../constants';
+import type {
+  PackageDependency,
+  PackageFile,
+} from '../../modules/manager/types';
 import type { Platform } from '../../modules/platform';
+import { massageMarkdown } from '../../modules/platform/github';
 import { BranchConfig, BranchResult, BranchUpgradeConfig } from '../types';
 import * as dependencyDashboard from './dependency-dashboard';
 import { PackageFiles } from './package-files';
 
 type PrUpgrade = BranchUpgradeConfig;
 
+const massageMdSpy = jest.spyOn(platform, 'massageMarkdown');
 let config: RenovateConfig;
 
 beforeEach(() => {
   jest.clearAllMocks();
+  massageMdSpy.mockImplementation(massageMarkdown);
   config = getConfig();
   config.platform = PlatformId.Github;
   config.errors = [];
   config.warnings = [];
 });
 
+function genRandString(length: number): string {
+  let result = '';
+  const chars = 'abcdefghijklmnopqrstuvwxyz';
+  const charsLen = chars.length;
+  for (let i = 0; i < length; i++) {
+    result += chars.charAt(Math.floor(Math.random() * charsLen));
+  }
+  return result;
+}
+
+function genRandPackageFile(
+  depsNum: number,
+  depNameLen: number
+): Record<string, PackageFile[]> {
+  const deps: PackageDependency[] = [];
+  for (let i = 0; i < depsNum; i++) {
+    deps.push({
+      depName: genRandString(depNameLen),
+      currentVersion: '1.0.0',
+    });
+  }
+  return { npm: [{ packageFile: 'package.json', deps }] };
+}
+
 async function dryRun(
   branches: BranchConfig[],
   platform: jest.Mocked<Platform>,
@@ -666,6 +697,21 @@ describe('workers/repository/dependency-dashboard', () => {
           // same with dry run
           await dryRun(branches, platform);
         });
+
+        it('truncates the body of a really big repo', async () => {
+          const branches: BranchConfig[] = [];
+          const truncatedLength = 60000;
+          const packageFilesBigRepo = genRandPackageFile(100, 700);
+          PackageFiles.add('main', packageFilesBigRepo);
+          await dependencyDashboard.ensureDependencyDashboard(config, branches);
+          expect(platform.ensureIssue).toHaveBeenCalledTimes(1);
+          expect(platform.ensureIssue.mock.calls[0][0].body).toHaveLength(
+            truncatedLength
+          );
+
+          // same with dry run
+          await dryRun(branches, platform);
+        });
       });
     });
   });
diff --git a/lib/workers/repository/dependency-dashboard.ts b/lib/workers/repository/dependency-dashboard.ts
index 7289c6b79ec61c712b0190d4cfaa653cec7ecfca..6aea032c04c99c47cdc3d9389c91fbf2ab61c08b 100644
--- a/lib/workers/repository/dependency-dashboard.ts
+++ b/lib/workers/repository/dependency-dashboard.ts
@@ -358,7 +358,7 @@ export async function ensureDependencyDashboard(
     await platform.ensureIssue({
       title: config.dependencyDashboardTitle!,
       reuseTitle,
-      body: issueBody,
+      body: platform.massageMarkdown(issueBody),
       labels: config.dependencyDashboardLabels,
       confidential: config.confidential,
     });