プログラムで別のシステムから Anthill ジョブを開始し、いくつかのビルド プロパティ (Git ブランチ) を設定したいと考えています。
それを行うのに役立つ API は何ですか?
プログラムで別のシステムから Anthill ジョブを開始し、いくつかのビルド プロパティ (Git ブランチ) を設定したいと考えています。
それを行うのに役立つ API は何ですか?
別の (よりシンプルだが柔軟性の低い) アプローチ... ビルド ワークフローでトリガーを作成し、wget または curl を使用して HTTP POST を Anthill に送信し、POST で必要なパラメーターを渡します。
HTML FORM を使用して HTTP POST を送信する方法を次に示します。
http://anthillizer.com/display/main/How+to+create+a+simple+tool+to+fire+an+AnthillPro+CI+Trigger wgetでも同じことができます。
お役に立てれば!エリック
Anthill SDK が必要です (Anthill Pro 画面の上部にある [ツール] リンクをクリックします)。
remoting/lib
andremoting/conf
をクラスパスに追加します。これらのインポートの使用:
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;
このコードはプロジェクトとワークフローを検索し、ビルドを開始します。
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);