export function reportAnIssue()

in src/extension/src/telemetry/reportAnIssue.ts [15:55]


export function reportAnIssue(
  vscodeContext: vscode.ExtensionContext,
  actionId: string,
  parsedError: IParsedError
): void {
  const { extensionName, extensionVersion, bugsUrl } = getPackageInfo(vscodeContext);

  let body = `
<!-- IMPORTANT: Please be sure to remove any private information before submitting. -->

Repro steps:
<!-- TODO: Enter steps to reproduce issue -->

1.
2.

Action: ${actionId}
Error type: ${parsedError.errorType}
Error Message: ${parsedError.message}

Version: ${extensionVersion}
OS: ${process.platform}
VS Code Version: ${vscode.version}`;

  if (parsedError.stack) {
    body = body.concat(`

<details>
<summary>Call Stack</summary>

\`\`\`
${parsedError.stack.substring(0, 5000)}
\`\`\`

</details>`);
  }

  const baseUrl: string = bugsUrl || `https://github.com/Microsoft/${extensionName}/issues`;
  const url = `${baseUrl}/new?body=${encodeURIComponent(body)}`;
  opn(url);
}