Job REST API是否有扩展点?

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

有什么提示吗?

最佳答案

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

要在Job / Build REST API中公开其他数据,需要在输入时使用AbstractBuild(http://javadoc.jenkins-ci.org/jenkins/model/TransientActionFactory.html)扩展TransientActionFactory(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操作列表中。

关于java - Jenkins Job API扩展点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28366813/

10-10 17:58