0

VersionOne Java API を使用して、ストーリーのさまざまな属性を修正しています。しかし、VersionOne を継続的インテグレーション環境に統合したいと考えています。BuildRuns について少し調べましたが、API で buildrun を作成してストーリーに割り当てる方法についてはあまりわかりません。buildrun が何を達成すると想定されているか、Java API を使用してそれを作成するかどうか/どのように作成するかについて、誰かが簡単な考えを与えることができますか? コード例は非常に役立ちます。

ありがとう

4

1 に答える 1

0

BuildRun は、作業中のプロジェクトのビルドを表し、関連する BuildProject、含まれる ChangeSet、および対処される Stories と Defects (PrimaryWorkitems) に関する情報が含まれます。

さらに、BuildRun はアセット階層の一部です。

  • プロジェクトには BuildProjects があります
  • BuildProjects には BuildRuns があります
  • BuildRun には ChangeSet があります

この VersionOne Meta API クエリを使用して、BuildRun アセットの属性を確認できます。

http://{server}/{instance}/meta.v1/BuildRun?xsl=api.xsl

メタでわかるように、BuildRun の必須属性は BuildProject、日付、および名前です。つまり、BuildRun を作成する前に、まず BuildProject を作成して関連付ける必要があります。

既に BuildProject があると仮定すると、次のように HTTP POST を発行して BuildRun を作成できます。

URL:

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);
}
于 2014-12-17T12:44:56.603 に答える