jenkins 已安装的'github-autostatus'插件未在GitHub中更新Job & stage监控状态

eivgtgni  于 2023-05-28  发布在  Jenkins
关注(0)|答案(2)|浏览(146)

已安装https://plugins.jenkins.io/github-autostatus/插件

Watches pipeline jobs and provides job and stage stats such as time and pass/fail. Can be configured to update GitHub commit status 
(one status per stage) and send stats to an InfluxDB instance, or StatsD collector, for build health monitoring of job/stage timing and success rate.

如链接中突出显示的,我希望在PR合并到目标按钮启用之前,此选项会出现在阶段中。但插件安装后&重新启动它不出现在公关。

Jenkins->Configure System下的“自动状态配置”下选择“发送到GitHub”

在Github中针对目标分支创建新PR时,没有看到任何行为差异。
在此分支上将“Poll SCM”配置为true,以检查仅在“Merge”完成后才会在Jenkins中触发行为和构建,但不会在PR创建和审查挂起时触发。我是否错过了一些东西来实现这个设置?
声明性管道中的后期构建步骤是否需要添加以显式更新?。是否有详细说明这些步骤的文档?.
在插件网站上看不到配置说明。

rseugnpd

rseugnpd1#

这是很难回答这个问题没有任何额外的信息(如评论@smac89),但我试图给予一些一般信息,安装/使用插件的任何人来到这里,他们最好的搜索引擎。
一般来说,要让它工作,你需要安装这个插件和GitHub Branch Source(这是一个依赖项)。对我来说,它可以很好地与GitHub组织(添加一个新的 *GitHub组织 * 管道,并在管道配置中的 * 项目 * 下使用正确的GitHub凭据配置它)。这将扫描您的GitHub组织中任何带有Jenkinsfile的存储库,但您可以添加一些过滤器以排除org pipeline配置中的存储库。
然后,流水线自动将所有阶段结果报告给相应的提交,并且当该提交是链接分支上的最新提交时,GitHub在Pull Request中显示这些结果。
但是非组织管道似乎有一个错误,参见issue 86

6ie5vjzr

6ie5vjzr2#

你可以使用这段代码在github上发布build status

void setBuildStatus(String message, String state) {
  step([
      $class: "GitHubCommitStatusSetter",
      reposSource: [$class: "ManuallyEnteredRepositorySource", url: "https://github.com/my-org/my-repo"],
      contextSource: [$class: "ManuallyEnteredCommitContextSource", context: "ci/jenkins/build-status"],
      errorHandlers: [[$class: "ChangingBuildStatusErrorHandler", result: "UNSTABLE"]],
      statusResultSource: [ $class: "ConditionalStatusResultSource", results: [[$class: "AnyBuildResult", message: message, state: state]] ]
  ]);
}

setBuildStatus("Build complete", "SUCCESS");

相关问题