Skip to content

Commit 9d45730

Browse files
Convert opening variant analysis logs to a command
1 parent 0b6f2c2 commit 9d45730

File tree

3 files changed

+29
-22
lines changed

3 files changed

+29
-22
lines changed

extensions/ql-vscode/src/extension.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1164,6 +1164,15 @@ async function activateWithInstalledDistribution(
11641164
}),
11651165
);
11661166

1167+
ctx.subscriptions.push(
1168+
commandRunner(
1169+
"codeQL.openVariantAnalysisLogs",
1170+
async (variantAnalysisId: number) => {
1171+
await variantAnalysisManager.openVariantAnalysisLogs(variantAnalysisId);
1172+
},
1173+
),
1174+
);
1175+
11671176
ctx.subscriptions.push(
11681177
commandRunner(
11691178
"codeQL.copyVariantAnalysisRepoList",

extensions/ql-vscode/src/remote-queries/variant-analysis-manager.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { DisposableObject } from "../pure/disposable-object";
1919
import { Credentials } from "../authentication";
2020
import { VariantAnalysisMonitor } from "./variant-analysis-monitor";
2121
import {
22+
getActionsWorkflowRunUrl,
2223
isVariantAnalysisComplete,
2324
parseVariantAnalysisQueryLanguage,
2425
VariantAnalysis,
@@ -585,6 +586,20 @@ export class VariantAnalysisManager
585586
await cancelVariantAnalysis(credentials, variantAnalysis);
586587
}
587588

589+
public async openVariantAnalysisLogs(variantAnalysisId: number) {
590+
const variantAnalysis = this.variantAnalyses.get(variantAnalysisId);
591+
if (!variantAnalysis) {
592+
throw new Error(`No variant analysis with id: ${variantAnalysisId}`);
593+
}
594+
595+
const actionsWorkflowRunUrl = getActionsWorkflowRunUrl(variantAnalysis);
596+
597+
await commands.executeCommand(
598+
"vscode.open",
599+
Uri.parse(actionsWorkflowRunUrl),
600+
);
601+
}
602+
588603
public async copyRepoListToClipboard(
589604
variantAnalysisId: number,
590605
filterSort: RepositoriesFilterSortStateWithIds = defaultFilterSortState,

extensions/ql-vscode/src/remote-queries/variant-analysis-view.ts

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { commands, ExtensionContext, Uri, ViewColumn } from "vscode";
1+
import { commands, ExtensionContext, ViewColumn } from "vscode";
22
import { AbstractWebview, WebviewPanelConfig } from "../abstract-webview";
33
import { extLogger } from "../common";
44
import {
@@ -7,7 +7,6 @@ import {
77
} from "../pure/interface-types";
88
import { assertNever } from "../pure/helpers-pure";
99
import {
10-
getActionsWorkflowRunUrl,
1110
VariantAnalysis,
1211
VariantAnalysisScannedRepositoryResult,
1312
VariantAnalysisScannedRepositoryState,
@@ -147,7 +146,10 @@ export class VariantAnalysisView
147146
);
148147
break;
149148
case "openLogs":
150-
await this.openLogs();
149+
await commands.executeCommand(
150+
"codeQL.openVariantAnalysisLogs",
151+
this.variantAnalysisId,
152+
);
151153
break;
152154
default:
153155
assertNever(msg);
@@ -183,23 +185,4 @@ export class VariantAnalysisView
183185
repoStates,
184186
});
185187
}
186-
187-
private async openLogs(): Promise<void> {
188-
const variantAnalysis = await this.manager.getVariantAnalysis(
189-
this.variantAnalysisId,
190-
);
191-
if (!variantAnalysis) {
192-
void showAndLogWarningMessage(
193-
"Could not open variant analysis logs. Variant analysis not found.",
194-
);
195-
return;
196-
}
197-
198-
const actionsWorkflowRunUrl = getActionsWorkflowRunUrl(variantAnalysis);
199-
200-
await commands.executeCommand(
201-
"vscode.open",
202-
Uri.parse(actionsWorkflowRunUrl),
203-
);
204-
}
205188
}

0 commit comments

Comments
 (0)