JIRA Web请求导致问题

时间:2018-07-13 08:31:48

标签: c# visual-studio rest jira jira-rest-api

我正在尝试通过JIRA REST API从C#应用程序中从Jira提取数据。为此,我执行此方法:

public string RunQuery(JiraRessource resource, string project_id, int startAt, int maxResults, string method = "GET")
{
            string url = string.Format(m_BaseUrl);

            if (project_id != null)
            {
                string jql = "search?jql=project=" + project_id;
                url = string.Format("{0}{1}", url, jql);
            }

            string jqr = "&startAt=" + startAt + "&maxResults=" + maxResults;
            url = string.Format("{0}{1}", url, jqr);

            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.ContentType = "application/json";
            request.Method = method;

            string base64Credentials = GetEncodedCredentials();
            request.Headers.Add("Authorization", "Basic " + base64Credentials);
            string result = string.Empty;

            using (WebResponse response = request.GetResponse())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    result = reader.ReadToEnd();
                    return result;
                }
            }
}

我阅读了REST API每次仅给出50个问题后,便在循环中执行此方法,以便能够获得所有问题。我收到诸如“连接超时”或“无法从传输连接读取数据”之类的错误。我在线搜索,发现与服务器的连接已丢失,但我不知道如何解决。

如果有人对我得到此错误的原因或如何解决有任何了解,我将非常感激。

1 个答案:

答案 0 :(得分:0)

下面尝试一些方法。如果上述任何一项有效,它将帮助您找到问题的根源。

尝试请求少量数据:

string url = "<your base url>/search?jql=startAt=1&maxResults=1&fields=created";

在Web浏览器中尝试相同的URL(首先使用您在C#代码中使用的相同凭据登录Jira)

在通话前尝试以下代码:

        System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate (Object obj, X509Certificate X509certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
        {
            return true;
        };

检查Jira中用于api调用的用户ID的权限。