首页 > 解决方案 > 如何使用 api c# 从简单的 redmine 中获取所有未解决的问题

问题描述

var baseAddress = new Uri("http://www.easyredmine.com/");

using (var httpClient = new HttpClient { BaseAddress = baseAddress })
{

    using (var response = await httpClient.GetAsync("issues/{id}.xml{?include}"))
    {

        string responseData = await response.Content.ReadAsStringAsync();
    }
}

标签: c#asp.net-mvcredmine-api

解决方案


在此链接中,您可以找到 Redmine 的 API 文档: https ://easyredmine.docs.apiary.io/

但是,您可以使用此 url 获取所有问题列表: http ://www.easyredmine.com/issues.xml

您必须创建模型以映射调用结果,然后使用 linq 您可以过滤获得的对象列表。

响应模型是这样的:

<issues total_count="1" offset="0" limit="25" type="array">
    <issue>
        <id>765</id>
        <project id="71" name="Administration"/>
        <tracker id="13" name="Other"/>
        <status id="1" name="Planned"/>
        <priority id="12" name="High"/>
        <author id="5" name="Andrew Smith"/>
        <assigned_to id="5" name="Andrew Smith"/>
        <subject>issue subject</subject>
        <description>
            issue description
        </description>
        <start_date>2014-04-11</start_date>
        <due_date>2014-04-11</due_date>
        <done_ratio>0</done_ratio>
        <estimated_hours>1.0</estimated_hours>
        <easy_email_to>test@test.com</easy_email_to>
        <easy_email_cc>test@test.com</easy_email_cc>
        <created_on>2014-04-11T08:24:47Z</created_on>
        <updated_on>2014-04-11T08:24:47Z</updated_on>
        <closed_on/>
        <sprint id="1" name="Sprint" due_date="2014-04-11"></sprint>
    </issue>
</issues>

我认为您必须过滤“状态”字段


推荐阅读