|
1 | 1 | import { Container } from "./container"; |
2 | 2 | import { JobStatus } from "./types"; |
3 | 3 | import * as vscode from 'vscode'; |
4 | | -import {load} from './settings'; |
| 4 | +import { load } from './settings'; |
5 | 5 |
|
6 | | -export const trackJob = (id : number) => { |
| 6 | +export const trackJob = (id: number) => { |
7 | 7 |
|
8 | | - var lastStatus = JobStatus.Queued; |
| 8 | + var lastStatus = JobStatus.Queued; |
9 | 9 |
|
10 | 10 | const token = setInterval(async () => { |
11 | 11 | const job = await Container.universal.getJob(id); |
12 | 12 |
|
13 | | - var result : any = ''; |
14 | | - if (job.status === JobStatus.Canceled) |
15 | | - { |
| 13 | + var result: any = ''; |
| 14 | + if (job.status === JobStatus.Canceled) { |
16 | 15 | clearInterval(token); |
17 | 16 | result = await vscode.window.showWarningMessage(`Job ${id} canceled.`, "View Job"); |
18 | 17 | } |
19 | 18 |
|
20 | | - if (job.status === JobStatus.Failed) |
21 | | - { |
| 19 | + if (job.status === JobStatus.Failed) { |
22 | 20 | clearInterval(token); |
23 | 21 | result = await vscode.window.showErrorMessage(`Job ${id} failed.`, "View Job"); |
24 | 22 | } |
25 | 23 |
|
26 | | - if (job.status === JobStatus.Completed) |
27 | | - { |
| 24 | + if (job.status === JobStatus.Completed) { |
28 | 25 | clearInterval(token); |
29 | 26 | result = await vscode.window.showInformationMessage(`Job ${id} succeeded.`, "View Job"); |
30 | 27 | } |
31 | 28 |
|
32 | | - if (job.status === JobStatus.WaitingOnFeedback && lastStatus != JobStatus.WaitingOnFeedback) |
33 | | - { |
| 29 | + if (job.status === JobStatus.WaitingOnFeedback && lastStatus != JobStatus.WaitingOnFeedback) { |
34 | 30 | result = await vscode.window.showInformationMessage(`Job ${id} is waiting on feedback.`, "View Job"); |
35 | 31 | } |
36 | 32 |
|
37 | | - if (result === "View Job") |
38 | | - { |
| 33 | + if (result === "View Job") { |
39 | 34 | const settings = load(); |
40 | | - vscode.env.openExternal(vscode.Uri.parse(`${settings.url}/admin/automation/jobs/${id}`)); |
| 35 | + const connectionName = Container.context.globalState.get("universal.connection"); |
| 36 | + |
| 37 | + var url = settings.url; |
| 38 | + |
| 39 | + if (connectionName && connectionName !== 'Default') { |
| 40 | + const connection = settings.connections.find(m => m.name === connectionName); |
| 41 | + if (connection) { |
| 42 | + url = connection.url; |
| 43 | + } |
| 44 | + } |
| 45 | + |
| 46 | + vscode.env.openExternal(vscode.Uri.parse(`${url}/admin/automation/jobs/${id}`)); |
41 | 47 | } |
42 | 48 |
|
43 | 49 | lastStatus = job.status; |
|
0 commit comments