Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JIRA Rest API 405拒收C#_C#_Rest_Jira_Jira Rest Api - Fatal编程技术网

JIRA Rest API 405拒收C#

JIRA Rest API 405拒收C#,c#,rest,jira,jira-rest-api,C#,Rest,Jira,Jira Rest Api,我试图通过C#使用REST API在我的JIRA服务器实例中创建一个问题 我可以使用REST很好地检索数据,但是当我尝试创建时,我也会得到一个405错误,原因短语是405 到目前为止,我已经尝试了在谷歌上找到的解决方案,包括使用https而不是http,我可以确认我的凭据是正确的 我真的被卡住了,所以任何帮助都会很好 文件: 查看您的代码,我发现: 将postrl变量值更改为https://url.com/rest/api/2/issue 将client.PostAsync调用中的reques

我试图通过C#使用REST API在我的JIRA服务器实例中创建一个问题

我可以使用REST很好地检索数据,但是当我尝试创建时,我也会得到一个405错误,原因短语是405

到目前为止,我已经尝试了在谷歌上找到的解决方案,包括使用https而不是http,我可以确认我的凭据是正确的

我真的被卡住了,所以任何帮助都会很好

文件:


查看您的代码,我发现:

  • postrl
    变量值更改为
    https://url.com/rest/api/2/issue
  • client.PostAsync
    调用中的
    requestUri
    参数更改为
    createmeta

我认为URL应该是
https://url.com/rest/api/2/issue
(不带“/createmeta”),如“使用项目键和字段名创建问题”一节所述@Xerilio就是这样!!!我瞎了!如果你想把它作为一个答案,我可以把它标记为正确的。非常感谢。
   public string CreateJiraIssue()
    {

        string data = @"{ ""fields"": { 
                                        ""project"":
                                           {
                                               ""key"": ""TESTREST""
                                           },
                                        ""summary"": ""Test Ticket"",
                                        ""description"": ""Creating of an issue using project keys and issue type names using the REST API"",
                                        ""issuetype"": {""name"": ""Task""}
                                        }
                        }";

        string postUrl = "https://url.com/rest/api/2/issue/createmeta";
        System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
        client.BaseAddress = new System.Uri(postUrl);
        byte[] cred = UTF8Encoding.UTF8.GetBytes("username:pwd");
        client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(cred));
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

        var content = new StringContent(data, Encoding.UTF8, "application/json");
        System.Net.Http.HttpResponseMessage response = client.PostAsync("issue", content).Result;
        if (response.IsSuccessStatusCode)
        {
            string result = response.Content.ReadAsStringAsync().Result;
            return result;
        }
        else
        {
            return response.StatusCode.ToString();
        }
    }
}