【问题标题】:obtain requirements from HP ALM executing a query of a concrete target version从执行具体目标版本查询的 HP ALM 获取需求
【发布时间】:2020-12-02 14:50:15
【问题描述】:

我需要获取企业 HPE ALM 中具体目标版本(字段 user-template-18)的所有要求。为了获得这些要求,我在我正在开发的 C# 项目中的代码中使用了下一个 url: http:///qcbin/rest/domains//projects//requirements/?fields=id,name,description,user-03,user-template-18

使用之前的 url,我通过 url navigator 获取企业 HPE ALM 中可用的具体 id 的所有这些字段。我的最终目标是实现如何在我的代码项目中实现/执行下一个 sql。

如果我直接在 HP ALM 控制台中执行下一个 sql,则正确返回具体目标版本的所需要求: 选择 id、名称、描述、user-03、user-template-18 从请求 其中 type_id = '108' 和 user-template-18 = ''

谁能指定如何实现代码以获取执行c#项目中具体目标版本的先前sql的所有要求?

提前致谢 问候

【问题讨论】:

  • 到底是什么问题?您在实现目标方面陷入了困境?你试过什么?出了什么问题?

标签: c# api rest alm requirements


【解决方案1】:

我开发了下一个方法来获取 HP ALM 的具体目标版本 () 的所有要求,并且在 XmlSerializer 行中出现错误。

您能否确认附加代码中存在哪个错误?

public Entity LoginAlm (string url, string username, string password, string domain, string project, string targetVersion) {

        var client = new RestClient(url + "/qcbin/");
        client.Authenticator = new HttpBasicAuthenticator(username, password);
        client.CookieContainer = new System.Net.CookieContainer();
        var Domain = domain;
        var Project = project;

        var getItems1 = new RestRequest("authentication-point/authenticate");
        IRestResponse response1 = client.Execute(getItems1);

        var getItems2 = new RestRequest("rest/site-session", Method.GET);
        IRestResponse response2 = client.Execute(getItems2);

        string sql = "select id,name,description,user-03,user-31,user-template-03,father-name " +
            "from req where type_id = '108' and user-template-18 = '<target_version>'";

        var getReqs = new RestRequest("rest/domains/" + Domain + "/projects/" + Project + "/requirements?query=[{" + sql + '}' + ']');

        getReqs.AddHeader("Content-Type", "application/xml");
        getReqs.AddHeader("Accept", "application/xml");

        getReqs.AddParameter("domain", Domain, ParameterType.UrlSegment);
        getReqs.AddParameter("project", Project, ParameterType.UrlSegment);

        IRestResponse response = client.Execute(getReqs);

        var reader = new StringReader(response.Content);
        var serializer = new XmlSerializer(typeof(Entity));
        var instance = (Entity)serializer.Deserialize(reader);

        return instance;//JsonConvert.SerializeObject(instance, Newtonsoft.Json.Formatting.Indented);
        
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多