RallyDev:ConversationPost-如何查询RallyDev故事中的讨论

RallyDev:ConversationPost-如何查询RallyDev故事中的讨论,rally,hierarchical,Rally,Hierarchical,我正在使用以下RallyApi服务与RallyDev通信: 我有以下方法: public HierarchicalRequirement GetFeedbackById(string usid) { var query = string.Format("(FormattedID = \"{0}\")", usid); const string orderByString = "CreationDate desc"; var ral

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

我有以下方法:

    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)

谢谢你的帮助

问候,,
Varun

您使用rallyService.read()是正确的。使用SOAP,即使使用fetchFullObjects=true,任何本身就是集合对象的工件属性都会被引用到这些对象中

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

而不是肥皂


REST更健壮、性能更高,而且即将发布的WebServicesAPI1.41将是具有SOAP支持的最终API版本。Webservices 2.x将只支持REST,因此使用REST对于任何想要开发新Webservices功能的人来说都是必不可少的。

我想我已经知道了如何为给定的层次结构需求加载讨论,在上面提到的方法(GetFeedbackById)中添加了以下行:rtnval.Discussion.Select(Discussion=>rallyService.read)(讨论)作为对话帖子)如果有更好的方法,请告诉我。谢谢