0

我正在使用 Rally 1.4 版本,我正在尝试使用 Rally API 返回一个完整的缺陷对象;

String myQuery = "(FormattedID = " + defectID + ")";
QueryResult myArtifactReturn = RallyService.RallyService.query(SelectedWorkspace, "Defect", myQuery, "", true, 0, 100);
long mycount = myArtifactReturn.TotalResultCount;
if (mycount > 0)
{
    SelectedDefect = (Defect)myArtifactReturn.Results[0];
    SelectedDefect = (Defect)RallyService.RallyService.read(SelectedDefect);
}

此请求在发现缺陷并返回对象时起作用,但是我面临的问题是某些信息可用而某些信息不可用。例如,我可以获得名称、描述和关闭日期,但是我看不到 FixedInBuild、VerifiedInBuild 属性,因为它们设置为 null。

当我通过他们提供的 URL 上的 Rally Web 服务调用该方法时,我可以清楚地看到所有对象,因此它一定与我进行查询的方式有关。

查询详情是;

    /// <remarks/>
    [System.Web.Services.Protocols.SoapHeaderAttribute("RallyIntegrationInfo")]
    [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="http://rallydev.com/webservice/v1_40/service", ResponseNamespace="http://rallydev.com/webservice/v1_40/service", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
    [return: System.Xml.Serialization.XmlElementAttribute("queryOriginalReturn")]
    public QueryResult query(Workspace workspace, string artifactType, [System.Xml.Serialization.XmlElementAttribute("query")] string query1, string order, bool fetch, long start, long pagesize) {
        object[] results = this.Invoke("query", new object[] {
                    workspace,
                    artifactType,
                    query1,
                    order,
                    fetch,
                    start,
                    pagesize});
        return ((QueryResult)(results[0]));
    }

这也发生在 UserStory 对象中,在这种情况下,我们没有得到测试用例和计划状态,而是将它们归为 null。

任何帮助将非常感激。

谢谢

4

1 回答 1

0

最近对 Rally 的 Webservices API 进行了一些更改,导致对 Rally 的 SOAP 接口进行了非向后兼容的更改。Rally 的工程团队记录了一个与此相关的缺陷。我建议您向Rally 支持(rallysupport@rallydev.com) 提交有关此问题的案例。您的案例可以链接到缺陷,并且您将在发布修复程序时收到通知。

提供 Rally 支持的一些有用信息:

  • 您正在使用的 WSAPI 版本
  • 以上信息来自您的帖子
  • Visual Studio 版本
于 2013-08-09T17:45:34.313 回答