在 C# 中通过 versionone.sdk.Api 将特定属性访问到 rest 1-v1

Accesing to specific attribute into rest1-v1 threw versionone.sdk.Api in C#

我正在尝试访问存储在 versionOne 的 rest1-v1 api 中的特定值。

我可以访问它,将整个地址输入我最喜欢的导航器

rest-1.v1/Data/Actual?sel=Date,Value&where=Workitem.ID='Story:114192'

其中 return 个:

<Assets total="1" pageSize="2147483647" pageStart="0">
    <Asset href="/VersionOne/rest-1.v1/Data/Actual/158630" id="Actual:158630">
        <Attribute name="Date">2014-10-23</Attribute>
        <Attribute name="Value">40</Attribute>
    </Asset>
</Assets>

我想做的是访问上面列出的属性 "Value" 但抛出了 versionone.sdk.ApiClient.

我做了所有关于连接器(元数据和数据)的事情,但我真的不知道如何查询 return 这个存储在 API 中的值。

希望我说得够清楚,

此致,

        V1APIConnector dataConnector = new V1APIConnector("YourVersionOne/rest-1.v1/","username", "password");
        V1APIConnector metaConnector = new V1APIConnector("YourVersionOne/meta.v1/");

        IMetaModel metaModel = new MetaModel(metaConnector);
        IServices services = new Services(metaModel, dataConnector);
        IAssetType actualType = metaModel.GetAssetType("Actual");

        IAttributeDefinition dateAttribute = actualType.GetAttributeDefinition("Date");
        IAttributeDefinition valueAttribute = actualType.GetAttributeDefinition("Value");
        IAttributeDefinition workitemAttribute = actualType.GetAttributeDefinition("Workitem");
        Query query = new Query(actualType);

        query.Selection.Add(dateAttribute);
        query.Selection.Add(valueAttribute);

        FilterTerm term = new FilterTerm(workitemAttribute);
        term.Equal("Story:114192");
        query.Filter = term;

        QueryResult result = services.Retrieve(query);

顺便说一句,您的 url 查询中不需要 Workitem.ID。工作项目很好。