我正在使用 VersionOne Java Api 来修改故事的不同属性。但我想将 VersionOne 与我的持续集成环境集成。我已经阅读了一些关于 BuildRuns 的内容,但我在 API 中看不到太多关于如何创建 buildrun 然后将其分配给故事的内容。有人可以简要介绍一下 buildrun 应该完成什么以及是否/如何使用 Java API 创建它。一个代码示例将非常有帮助。
谢谢
我正在使用 VersionOne Java Api 来修改故事的不同属性。但我想将 VersionOne 与我的持续集成环境集成。我已经阅读了一些关于 BuildRuns 的内容,但我在 API 中看不到太多关于如何创建 buildrun 然后将其分配给故事的内容。有人可以简要介绍一下 buildrun 应该完成什么以及是否/如何使用 Java API 创建它。一个代码示例将非常有帮助。
谢谢
BuildRun 代表您正在处理的项目的构建,它包括有关与其相关的 BuildProject、它包含的变更集以及其中解决的故事和缺陷 (PrimaryWorkitems) 的信息。
此外,BuildRuns 是资产层次结构的一部分:
您可以使用此 VersionOne 元 API 查询查看 BuildRun 资产的属性:
http://{server}/{instance}/meta.v1/BuildRun?xsl=api.xsl
正如您将在元数据中看到的,BuildRun 所需的属性是 BuildProject、日期和名称。这意味着在创建 BuildRun 之前,您必须首先创建一个 BuildProject 以将其与之关联。
假设您已经有一个 BuildProject,您可以发出一个 HTTP POST 来创建一个 BuildRun,如下所示:
网址:
http://{server}/{instance}/rest-1.v1/Data/BuildRun
XML 有效负载:
<Asset>
<Attribute name="BuildProject" act="set">BuildProject:4049</Attribute>
<Attribute name="Name" act="set">My New BuildRun</Attribute>
<Attribute name="Date" act="set">12/17/2014</Attribute>
</Asset>
或者,使用 Java SDK,它看起来像这样:
public static void createBuildRun() throws V1Exception {
V1APIConnector _dataConnector = new V1APIConnector("http://{server}/{instance}/rest-1.v1/", "username", "password");
V1APIConnector _metaConnector = new V1APIConnector("http://{server}/{instance}/meta.v1/");
IMetaModel _metaModel = new MetaModel(_metaConnector);
IServices _services = new Services(_metaModel, _dataConnector);
Oid buildProjectId = Oid.fromToken("BuildProject:4049", _metaModel);
IAssetType assetType = _metaModel.getAssetType("BuildRun");
Asset newAsset = _services.createNew(assetType, buildProjectId);
IAttributeDefinition nameAttribute = assetType.getAttributeDefinition("Name");
IAttributeDefinition dateAttribute = assetType.getAttributeDefinition("Date");
newAsset.setAttributeValue(nameAttribute, "My New BuildRun");
newAsset.setAttributeValue(dateAttribute, new Date("12/17/2014"));
_services.save(newAsset);
}