1

我正在使用以下 RallyApi 服务与 RallyDev 进行通信:

https://rally1.rallydev.com/slm/webservice/1.40/RallyService

我有以下方法:

    public HierarchicalRequirement GetFeedbackById(string usid)
    {
        var query = string.Format("(FormattedID = \"{0}\")", usid);
        const string orderByString = "CreationDate desc";
        var rallyService = GetRallyService();
        var rtnval = rallyService.query(Workspace, Projs["XXX"], true, true,"HierarchicalRequirement", query,
                           orderByString, true, 1, 20).Results[0] as HierarchicalRequirement;
        return rtnval;
    }

虽然我使用“FormattedID”成功检索了“HierarchicalRquirement”对象,但我无法为这个故事加载关联的“ConversationPost”对象,因为“HierarchicalRquirement”的所有嵌套复杂对象都包含“ref”和“ reffield”属性,仅此而已。

请让我知道当我们查询故事时是否有办法主动加载所有相关讨论,或者是否有如下查询:

   rallyService.query(Workspace, Projs["XXX"], true, true, "ConversationPost", query, orderByString, true, 1, 20)

使用上述内容,我可以使用 FormattedID 搜索讨论(ConversationPost)吗?

谢谢你的帮助。

问候, 瓦伦

4

1 回答 1

0

使用 rallyService.read() 是正确的。使用 SOAP,即使使用 fetchFullObjects=true,任何本身就是 Rally 对象的 Artifact 属性都会与这些对象的引用相结合。

特别是如果您刚刚开始构建集成,我强烈建议您使用 REST:

http://developer.help.rallydev.com/rest-apis

而不是 SOAP。

REST 更健壮、性能更高,而且即将发布的 Webservices API 1.41 将是支持 SOAP 的最终 API 版本。Webservices 2.x 将仅支持 REST,因此对于任何希望推进新的 Web 服务功能的人来说,使用 REST 将是必不可少的。

于 2013-03-01T01:27:36.223 回答