Plugins: Fix levitate detailed report and improve error treatment (#91617)

This commit is contained in:
Hugo Kiyodi Oshiro 2024-08-08 11:20:58 +02:00 committed by GitHub
parent 875fdb18b4
commit bf24454007
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 24 additions and 3 deletions

View File

@ -30,6 +30,8 @@ if (data.changes.length > 0) {
markdown += printSection('Changes', data.changes);
}
markdown += printAffectedPluginsSection(data);
if (data.removals.length > 0 || data.changes.length > 0) {
markdown += printAffectedPluginsSection(data);
}
console.log(markdown);

View File

@ -5,6 +5,7 @@
*/
const { execSync } = require('child_process');
const fs = require('fs');
/**
* Extracts the package name from a given location string.
@ -13,8 +14,18 @@ const { execSync } = require('child_process');
* @returns {string} - The extracted package name, or an empty string if no match is found.
*/
function getPackage(location) {
const match = location.match(/\/(@[^@]+)@/);
return match ? match[1] : '';
const match = location.match(/(.+\/)dist\//);
if (match) {
const packageJsonPath = match[1] + 'package.json';
const data = fs.readFileSync(packageJsonPath, 'utf8');
if (!data) {
return '';
}
return JSON.parse(data)?.name || '';
}
return '';
}
const PANEL_URL = 'https://ops.grafana-ops.net/d/dmb2o0xnz/imported-property-details?orgId=1';
@ -63,6 +74,10 @@ function makeQuery(section) {
.filter((item) => item !== undefined)
.join(' OR ');
if (!whereClause) {
return '';
}
return `
SELECT
property_name,
@ -113,6 +128,10 @@ function printAffectedPluginsSection(data) {
try {
const sqlQuery = makeQuery([...removals, ...changes]);
if (!sqlQuery) {
throw new Error("Couldn't generate SQL query");
}
const cmd = `bq query --nouse_legacy_sql "${sqlQuery}"`;
const stdout = execSync(cmd, { encoding: 'utf-8' });