首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Anthill Pro,我如何以编程方式启动一个新的构建?

使用Anthill Pro,我如何以编程方式启动一个新的构建?
EN

Stack Overflow用户
提问于 2014-01-26 01:25:37
回答 2查看 2K关注 0票数 1

我想以编程方式从另一个系统启动一个Anthill作业,并设置一些构建属性( Git分支)。

有什么API可以帮助我做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2014-01-26 11:06:38

另一种(更简单但灵活性较差的)方法...在构建工作流上创建一个触发器,并使用wget或curl向Anthill发送HTTP POST,将所需的参数与POST一起传递。

这是一种使用HTML表单发送HTTP POST的方法。

你可以用http://anthillizer.com/display/main/How+to+create+a+simple+tool+to+fire+an+AnthillPro+CI+Trigger做同样的事情。

希望这能有所帮助!埃里克

票数 2
EN

Stack Overflow用户

发布于 2014-01-26 01:25:37

您需要使用Anthill SDK (单击Anthill Pro屏幕顶部的'tools‘链接)

remoting/libremoting/conf添加到类路径中。使用这些导入:

代码语言:javascript
复制
import com.urbancode.anthill3.domain.buildrequest.BuildRequest;
import com.urbancode.anthill3.domain.buildrequest.RequestSourceEnum;
import com.urbancode.anthill3.domain.project.Project;
import com.urbancode.anthill3.domain.project.ProjectFactory;
import com.urbancode.anthill3.domain.security.User;
import com.urbancode.anthill3.domain.security.UserFactory;
import com.urbancode.anthill3.domain.trigger.remoterequest.repository.RepositoryRequestTrigger;
import com.urbancode.anthill3.domain.workflow.Workflow;
import com.urbancode.anthill3.main.client.AnthillClient;
import com.urbancode.anthill3.persistence.UnitOfWork;
import com.urbancode.anthill3.runtime.scripting.helpers.WorkflowLookup;
import com.urbancode.anthill3.services.build.BuildService;

这段代码将查找项目和工作流,然后启动构建。

代码语言:javascript
复制
    AnthillClient anthill = AnthillClient.connect(hostStage, remotingPort, username, password);
    UnitOfWork uow = anthill.createUnitOfWork();

    Project prj = ProjectFactory.getInstance().restoreForName("My Project");  //'My Project' is the project name.
    Workflow wflow = WorkflowLookup.getForProjectAndName(prj, "My Workflow"); //'My Workflow' is the workflows name/key

    User usr = UserFactory.getInstance().restoreForName("username");

    RepositoryRequestTrigger req1 = new RepositoryRequestTrigger();
    req1.setWorkflow(wflow);
    req1.setNew();
    req1.setName("Git Repository Trigger");

    uow.register(req1);
    uow.commit();

    BuildRequest br = BuildRequest.createOriginatingRequest(wflow.getBuildProfile(),usr, RequestSourceEnum.EVENT,req1);
    br.setForcedFlag(true);

    //Set any build properties here
    br.setPropertyValue("gitBranch","develop",false);
    BuildService.getInstance().runBuild(br);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21353713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档