Endless-zby/dsh-jenkins-plugin ↗★ 0

dsh-jenkins-plugin

在DSH中集成Jenkins构建进度面板与操作工具 适合需要在DSH内触发Jenkins构建、查看日志和工作区的研发人员。

包名
dsh-jenkins-plugin
兼容性
待验证
Harness 依赖范围
0.1.6-alpha.2
Cordis 依赖范围
^4.0.2
版本
0.1.1
许可证
MIT
最近更新
2026年10月8日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Endless-zby/dsh-jenkins-plugin

Configuration

Static configuration is only the fallback layer: instances configured in the settings page win, and static configuration applies when no panel settings exist (as an instance with id config). baseUrl/username may be left empty — that is exactly the "configure everything in the panel" setup.

The Jenkins settings page: several instances, test-connection result, save

- id: jenkins
  name: dsh-jenkins-plugin
  config:
    baseUrl: https://ci.example.com/jenkins
    username: ci-bot
    tokenRef: JENKINS_TOKEN
    denyJobs: ['infra/*']
FieldDefaultMeaning
baseUrlemptyJenkins root URL; empty means panel settings only
usernameemptylogin name paired with the token
tokenRefJENKINS_TOKENcredential reference holding the API token; resolved per call, so a rotation applies without a restart
settingsFilejenkins.jsonpanel settings file: an absolute path, or a name under the harness home
tlsModeverifyverify validates the certificate; allowSelfSigned accepts an untrusted one
tlsCaFile—PEM bundle used to validate the certificate under verify
timeoutMs15000bound on one HTTP request
crumbModeautoauto fetches a CSRF crumb before mutating requests; off skips it
denyJobs[]job paths that may never be triggered or cancelled; folder/* matches a folder
allowTriggertruewhether triggering builds is allowed
allowCancelfalsewhether cancelling builds is allowed
progressIntervalMs3000stage polling interval for tracked builds
logIntervalMs1500console-log polling interval for the build the panel shows
idleBackoffMaxMs30000upper bound of the idle backoff
queueTimeoutMs300000how long a build may stay queued before it reports a timeout
maxTrackedBuilds5advisory cap on tracked builds (not enforced)
retainMs600000how long a finished build stays in the tracking table
historyCount10default build-history rows (max 50)
maxLogBytes262144byte cap on one console-log response
logReadBytes8388608byte window read from the controller per log call
maxListingBytes4194304byte cap on one response of the recursive job walk
maxWorkspaceEntries500entry cap on one workspace directory listing
maxReadFileBytes1048576byte cap on one workspace file read
notifyOnCompletetrueannounce a followed build when it finishes
notifyWakeOnFailurefalsehand a failed followed build to the session that followed it
allowAnalyzetrueallow handing a failed build to the model
analyzeLogBytes16384log-tail bytes handed to the model
uiAutoOpenOnTriggertrueopen the panel on trigger (not active yet)

maxLogBytes and logReadBytes are two different things because real Jenkins ignores ?start=: the read window has to be far larger than a page, or the "tail" you get back is really the head of the log. That is why this plugin reads a window and slices locally.