How to create build definition programmatically?
3 answers
I suggest that you give some more details about your request, but I have a sample that uses Plain Java API.
import com.ibm.team.build.common.BuildItemFactory;
import com.ibm.team.build.common.builddefinition.BuildConfigurationRegistry;
import com.ibm.team.build.common.builddefinition.IBuildDefinitionTemplate;
// create build definition
IBuildDefinition newbuildDef = BuildItemFactory.createBuildDefinition((com.ibm.team.process.common.IProcessArea) projectArea);
Once you have the IBuildDefinition object, you can set its properties using the BuildItemFactory methods.
The easiest is to use ANT to create the build definitions.
Here is an example:
<project name="BuildServer"
xmlns:ld="antlib:com.ibm.team.enterprise.zos.systemdefinition.toolkit"
xmlns:xt="antlib:com.ibm.team.build.extensions.toolkit">
.......
<xt:updatebuilddefinition buildworkspace="build.mortgage.test"
repositoryAddress="${repo.url}"
userId="${repo.adminid}"
password="${repo.adminpw}"
buildid="mortgage.test"
processareaname="${jke}"
processAreaNameDefinitions="${zproject.name}"
updateOnly="true"
verbose="true"
failOnError="true">
<xt:buildEngineDefine id="zos.my.co" />
</xt:updatebuilddefinition>
........
</project>
The easiest is to use ANT to create the build definitions.
Here is an example:
<project name="BuildServer"xmlns:ld="antlib:com.ibm.team.enterprise.zos.systemdefinition.toolkit"xmlns:xt="antlib:com.ibm.team.build.extensions.toolkit">.......<xt:updatebuilddefinition buildworkspace="build.mortgage.test"repositoryAddress="${repo.url}"userId="${repo.adminid}"password="${repo.adminpw}"buildid="mortgage.test"processareaname="${jke}"processAreaNameDefinitions="${zproject.name}"updateOnly="true"verbose="true"failOnError="true"><xt:buildEngineDefine id="zos.my.co" /></xt:updatebuilddefinition>........Myloweslife</project>
Thanks for the update and quick reply. I'll be sure to keep an eye on this thread. Looking for the same issue. the solution worked for me.