feat(tooling): add Jenkins build status checker#243
Open
rlorenzo wants to merge 1 commit into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Adds lightweight developer tooling to observe Jenkins deploy job status from the CLI, and aligns local git hooks/package scripts to support Jenkins interactions in the current internal/self-signed TLS environment.
Changes:
- Added
scripts/jenkins-status.jsto fetch Jenkins job status and optionally poll (--watch) until completion. - Added
jenkins:status/jenkins:watchnpm scripts for consistent invocation with.env.localloading. - Updated
.husky/pre-pushJenkins trigger to usecurl -kto tolerate the internal self-signed certificate.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scripts/jenkins-status.js | New Node.js CLI tool to query/poll Jenkins deploy build status via the Jenkins JSON API. |
| package.json | Adds npm entry points for one-shot and watch mode execution of the Jenkins status checker. |
| .husky/pre-push | Adjusts the Jenkins trigger curl invocation to work against internal TLS (self-signed). |
rlorenzo
added a commit
that referenced
this pull request
Jul 2, 2026
Prevents --watch from hanging on a stalled connection and guards getJson against unbounded recursive redirects (per PR #243 review).
- scripts/jenkins-status.js: one-shot or --watch status for the deploy job via Node https (rejectUnauthorized:false for the internal self-signed cert); adds jenkins:status / jenkins:watch npm scripts - .husky/pre-push: add curl -k so the push-to-Development Jenkins trigger succeeds against the self-signed cert (interim until the CA is trusted)
a57dff5 to
33d954e
Compare
Contributor
Author
|
@bsedwards Ignoring Jenkins invalid SSL, and while we are at it, added a script to monitor deployment without having to log in to Jenkins. |
bsedwards
approved these changes
Jul 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Stacked on #237 (
dependabot/npm_and_yarn/npm-root-dd79dbcc37). Base is that branch, so this diff shows only the 3-file change below. GitHub will auto-retarget this PR tomainonce #237 merges. Review/merge #237 first.What
scripts/jenkins-status.js(new) — checks the deploy job's build status. One-shot (npm run jenkins:status) or--watch(npm run jenkins:watch) to poll an in-progress build until it finishes (🔨 Building #N — ~X% (elapsed / est)). Uses NodehttpswithrejectUnauthorized: false(no curl), follows redirects, and readsJENKINS_*from the env (--env-file-if-exists=.env.local) or by parsing.env.local..husky/pre-push— addscurl -kto the Jenkins trigger so the push-to-Developmentauto-deploy succeeds against the internal self-signed cert (interim, until the CA is trusted).package.json—jenkins:status/jenkins:watchscripts.Why stacked
The checker is a
scripts/**CommonJS build script, so it depends on theno-implicit-globals/node/no-syncoxlint override that #237 adds to.oxlintrc.json. Stacking on #237 lets it inherit that override instead of duplicating the config change (which would add/add-conflict).Testing
node scripts/jenkins-status.js→✅ Last build #2183: SUCCESS (348s)(verified against the live deploy job)oxlint0 issues,oxfmtclean, CRLF preserved (hook stays CRLF)Note
The
-kis a deliberate interim measure while the Jenkins certificate is being replaced; it should be removed once the CA is trusted. Pushing this branch does not trigger a deploy (the pre-push hook only fires Jenkins for pushes toDevelopment).