如何修改Jenkins插件以阻止它在构建页面上放置链接?

kha*_*ler 6 java jenkins jenkins-plugins

我正在尝试修改现有的EnvInject插件,以便Environment Variables隐藏它在构建页面上的链接.如果我正确理解Jenkins API,我应该能够通过查找Action接口的实现位置和getIconFileName()返回来实现这一点null.

我发现在EnvInjectAction.java中实现的方法并将其修改为返回null,但这没有任何效果 - 链接在构建页面上仍然可见.我甚至尝试修改getDisplayName()getUrlName()返回null,但这也没有效果.这是修改后的方法:

public String getIconFileName() {
        return null;
}
Run Code Online (Sandbox Code Playgroud)

我已经注意遵循从Jenkins插件教程部署核心插件的自定义构建的说明,我也尝试重新启动Jenkins运行的机器,但都无济于事.

我显然缺少一些重要的东西,但我无法弄清楚它可能是什么.我还需要做些什么来使插件显示环境变量链接?

Ger*_*ica 1

你为什么要这么做?隐藏敏感信息?

您是否知道,即使删除链接,变量也可以通过以下方式显示:
http://jenkins/job/YourJob/1/injectedEnvVars

或者根据EnvInjectPlugin-VariablesTraceability

“您还可以通过以下方式获取构建环境变量
HTTP GET URL: <jenkins_url>/job/<job_name>/<build_number>/injectedEnvVars/export

但是,如果只是删除链接并修改插件,则不必将以下内容添加到 Jenkins' run/jenkins/war/css/style.css

a[href*='/injectedEnvVars'] {
  display: none;
}
Run Code Online (Sandbox Code Playgroud)

制作改编版本的备份副本,style.css因为它可能会被以下内容覆盖:

$ sudo service jenkins --full-restart
Run Code Online (Sandbox Code Playgroud)

更新

您可以将自定义 CSS 与以下内容一起使用:

管理 Jenkins → 配置系统 →主题主题 CSS 的 URL...