Skip to content

Add script to run Helix Job Monitor for Azure DevOps builds - #17326

Merged
mmitche merged 2 commits into
dotnet:mainfrom
premun:prvysoky/run-monitor-job
Aug 13, 2026
Merged

Add script to run Helix Job Monitor for Azure DevOps builds#17326
mmitche merged 2 commits into
dotnet:mainfrom
premun:prvysoky/run-monitor-job

Conversation

@premun

@premun premun commented Aug 12, 2026

Copy link
Copy Markdown
Member

A quick tool that you give build URI and it runs the monitor locally

@premun
premun requested review from mmitche and a lite review from Copilot August 12, 2026 13:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new PowerShell utility script to help developers run the Helix Job Monitor locally for a given Azure DevOps build results URL, resolving the relevant repo/stage metadata from the build timeline.

Changes:

  • Introduces scripts/run-helix-job-monitor.ps1 to fetch build + timeline metadata from Azure DevOps and locate Helix Job Monitor jobs.
  • Resolves the owning stage/stage attempt and constructs the Microsoft.DotNet.Helix.JobMonitor command-line arguments (with an -ArgsOnly output mode).
  • Runs the Job Monitor via eng/common/dotnet.ps1 against the JobMonitor project.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/run-helix-job-monitor.ps1 Outdated
Copilot AI review requested due to automatic review settings August 12, 2026 13:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Suppressed comments (2)

scripts/run-helix-job-monitor.ps1:228

  • eng/common/dotnet.ps1 is Windows-only (it invokes dotnet.exe with Windows path separators). As written, this script will fail when run under PowerShell on Linux/macOS. Use OS detection to select dotnet.ps1 vs dotnet.sh, and build paths with platform-neutral APIs instead of embedding ..\... in the child path.
$projectPath = Join-Path $PSScriptRoot '..\src\Microsoft.DotNet.Helix\JobMonitor\Microsoft.DotNet.Helix.JobMonitor.csproj'
$dotnetScript = Join-Path $PSScriptRoot '..\eng\common\dotnet.ps1'

scripts/run-helix-job-monitor.ps1:255

  • When $dotnetScript resolves to eng/common/dotnet.sh (non-Windows), invoking it as & $dotnetScript ... may fail unless the file is executable. Calling it via bash is more reliable from PowerShell.
    & $dotnetScript run --project $projectPath --configuration Debug -- @jobMonitorArguments

@mmitche
mmitche merged commit b3f12b0 into dotnet:main Aug 13, 2026
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants