【问题标题】:Jenkins Extension Point for Job API工作 API 的 Jenkins 扩展点
【发布时间】:2015-02-06 13:24:48
【问题描述】:

作业 REST API 是否有扩展点?

我想在调用http://server/jenkins/job/job_name/job_number/api/json 时添加一些信息。

有什么提示吗?

【问题讨论】:

    标签: java api plugins jenkins


    【解决方案1】:

    好的,经过大量研究和尝试,我找到了答案。

    要在 Job/Build REST API 中公开其他数据,TransientActionFactory (http://javadoc.jenkins-ci.org/jenkins/model/TransientActionFactory.html) 需要在键入时使用 AbstractBuild (http://javadoc.jenkins-ci.org/hudson/model/AbstractBuild.html) 进行扩展。

    你会有这样的东西:

    import hudson.Extension;
    import hudson.model.AbstractBuild;
    import hudson.model.Action;
    import java.util.Collection;
    import java.util.Collections;
    import jenkins.model.TransientActionFactory;
    
    
    @Extension
    public class MyTransientActionFactory extends TransientActionFactory<AbstractBuild> {
        @Override
        public Class<AbstractBuild> type() {
            return AbstractBuild.class;
        }
    
        @Override
        public Collection<? extends Action> createFor(AbstractBuild target) {
            return Collections.singleton(new MyAction(target));
        }
    }
    

    这会将 MyAction 添加到 REST API 中显示的 AbstractBuild 操作列表中。

    【讨论】:

    • 能否请您也分享一下 MyAction 的代码.. 我无法正常工作..
    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2018-05-22
    • 2023-02-04
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 2018-07-02
    相关资源
    最近更新 更多