{
//检测界面填写的字段是否合法
public FormValidation doCheckName(@QueryParameter String name)
throws IOException, ServletException {
if (name.length() == 0)
return FormValidation.error("名称不能为空");
return FormValidation.ok();
}
@Override
public boolean isApplicable(Class extends AbstractProject> aClass) {
return true;
}
//重写DisplayName方法,该名称会在界面的构建阶段下拉框中显示
@Override
public String getDisplayName() {
return "Demo";
}
}
resources内容分析
创建HelloWorldBuilder文件夹
在/resource/io.jenkins.plugins.sample包创建HelloWorldBuilder文件夹,与HelloWorldBuilder.java的类名对应,界面的数据字段才能通过HelloWorldBuilder.java构造函数进行绑定
jelly界面开发
#界面开发主要包括以下模块
1. config.jelly #插件主页面
2. help-name.html #jenkins界面点击问号出现的提示内容,命名规则:help-字段名.html
3. index.jelly #整体布局,扩展构建阶段不涉及index.jelly
config.jelly
#这里是一个文本输入框,字段为name,name和HelloBuild.java构造函数传入的name对应,在HelloBuilder.java中即可获取到界面传过来的值
jelly语法参考:
http://commons.apache.org/proper/commons-jelly/tutorial.html
打包 & 离线部署
- 运行 mvn hpi:run
- 打包 mvn package or mvn clean package -Dmaven.test.skip=true #生成插件的路径在target/demo.hpi
- 部署 jenkins-系统管理-插件管理-高级 上传demo.hpi插件,重启jenkins
Demo效果展示
构建下拉框增加Demo选项
设置名称为:demo
执行日志
参考文档
jenkins插件入门:https://jenkins.io/doc/developer/tutorial/
jenkins开发文档:https://jenkins.io/doc/developer/book/
jenkins扩展点:https://jenkins.io/doc/developer/extensions/
maven hpi插件:https://jenkinsci.github.io/maven-hpi-plugin/
jelly:http://commons.apache.org/proper/commons-jelly/tutorial.html
关于Wise2C睿云智合
深圳睿云智合科技有限公司成立于2012年,总部位于深圳,并分别在成都、深圳设立了研发中心,北京、上海设立了分支机构,核心骨干人员全部为来自金融、科技行业知名企业资深业务专家、技术专家。早期专注于为中国金融保险等大型企业提供创新技术、电子商务、CRM等领域专业咨询服务。
自2016年始,在率先将容器技术引进到中国保险行业客户后,公司组建了专业的容器技术产品研发和实施服务团队,旨在帮助中国金融行业客户将容器创新技术应用于企业信息技术支持业务发展的基础能力改善与提升,成为中国金融保险行业容器技术服务领导品牌。
此外,凭借多年来在呼叫中心领域的业务经验与技术积累,睿云智合率先在业界推出基于开源软交换平台FreeSwitch的微服务架构多媒体数字化业务平台,将语音、视频、webchat、微信、微博等多种客户接触渠道集成,实现客户统一接入、精准识别、智能路由的CRM策略,并以容器化治理来支持平台的全应用生命周期管理,显著提升了数字化业务处理的灵活、高效、弹性、稳定等特性,为帮助传统企业向“以客户为中心”的数字化业务转型提供完美的一站式整体解决方案。
客户与合作伙伴
閱讀更多 睿雲智合Wise2C 的文章