Merge pull request #1952 from github/robertbrignull/open_logs_command

Convert opening variant analysis logs to a command
This commit is contained in:
Robert
2023-01-11 15:37:28 +00:00
committed by GitHub
3 changed files with 29 additions and 22 deletions

View File

@@ -1164,6 +1164,15 @@ async function activateWithInstalledDistribution(
}),
);
ctx.subscriptions.push(
commandRunner(
"codeQL.openVariantAnalysisLogs",
async (variantAnalysisId: number) => {
await variantAnalysisManager.openVariantAnalysisLogs(variantAnalysisId);
},
),
);
ctx.subscriptions.push(
commandRunner(
"codeQL.copyVariantAnalysisRepoList",

View File

@@ -19,6 +19,7 @@ import { DisposableObject } from "../pure/disposable-object";
import { Credentials } from "../authentication";
import { VariantAnalysisMonitor } from "./variant-analysis-monitor";
import {
getActionsWorkflowRunUrl,
isVariantAnalysisComplete,
parseVariantAnalysisQueryLanguage,
VariantAnalysis,
@@ -585,6 +586,20 @@ export class VariantAnalysisManager
await cancelVariantAnalysis(credentials, variantAnalysis);
}
public async openVariantAnalysisLogs(variantAnalysisId: number) {
const variantAnalysis = this.variantAnalyses.get(variantAnalysisId);
if (!variantAnalysis) {
throw new Error(`No variant analysis with id: ${variantAnalysisId}`);
}
const actionsWorkflowRunUrl = getActionsWorkflowRunUrl(variantAnalysis);
await commands.executeCommand(
"vscode.open",
Uri.parse(actionsWorkflowRunUrl),
);
}
public async copyRepoListToClipboard(
variantAnalysisId: number,
filterSort: RepositoriesFilterSortStateWithIds = defaultFilterSortState,

View File

@@ -1,4 +1,4 @@
import { commands, ExtensionContext, Uri, ViewColumn } from "vscode";
import { commands, ExtensionContext, ViewColumn } from "vscode";
import { AbstractWebview, WebviewPanelConfig } from "../abstract-webview";
import { extLogger } from "../common";
import {
@@ -7,7 +7,6 @@ import {
} from "../pure/interface-types";
import { assertNever } from "../pure/helpers-pure";
import {
getActionsWorkflowRunUrl,
VariantAnalysis,
VariantAnalysisScannedRepositoryResult,
VariantAnalysisScannedRepositoryState,
@@ -147,7 +146,10 @@ export class VariantAnalysisView
);
break;
case "openLogs":
await this.openLogs();
await commands.executeCommand(
"codeQL.openVariantAnalysisLogs",
this.variantAnalysisId,
);
break;
default:
assertNever(msg);
@@ -183,23 +185,4 @@ export class VariantAnalysisView
repoStates,
});
}
private async openLogs(): Promise<void> {
const variantAnalysis = await this.manager.getVariantAnalysis(
this.variantAnalysisId,
);
if (!variantAnalysis) {
void showAndLogWarningMessage(
"Could not open variant analysis logs. Variant analysis not found.",
);
return;
}
const actionsWorkflowRunUrl = getActionsWorkflowRunUrl(variantAnalysis);
await commands.executeCommand(
"vscode.open",
Uri.parse(actionsWorkflowRunUrl),
);
}
}