2014-12-11 3 views
0

Я работаю с VersionOne Java Api, чтобы изменить различные атрибуты рассказов. Но я хочу интегрировать VersionOne с моей средой непрерывной интеграции. Я немного поработал над BuildRuns, но я не вижу много в API того, как вы должны создать buildrun, а затем назначьте его истории. Может кто-нибудь дать краткое представление о том, что buildrun должен выполнить, и если/как его создать с помощью Java API. Пример кода был бы очень полезен.Build Run Concept

Благодаря

ответ

0

BuildRun представляет собой сборку проекта, над которым вы работаете, и включает в себя информацию о BuildProject она связана, ее ревизиях она содержит, и Истории и дефекты (PrimaryWorkitems), которые в нем.

Кроме того, BuildRuns является частью иерархии активов:

  • Проектов имеют BuildProjects
  • BuildProjects имеет BuildRuns
  • BuildRuns имеет ревизии

Вы можете увидеть атрибуты BuildRun с этим API-интерфейсом VersionOne:

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); 
}