如何在C#中使用JIRA REST API和HttpWebRequest将附件发布到JIRA?
从/ rest/api/2/issue/{issueIdOrKey}/attachments下的文档:
POST
为问题添加一个或多个附件.
此资源需要一个多部分帖子.媒体类型的multipart/form-data在RFC 1867中定义.大多数客户端库都有类,使得处理多部分帖子变得简单.例如,在Java中,Apache HTTP Components库提供了一个MultiPartEntity,使得提交多部分POST变得简单.
为了防止XSRF攻击,因为此方法接受multipart/form-data,所以它具有XSRF保护.这意味着您必须提交X-Atlassian-Token标头:nocheck请求,否则将被阻止.
包含附件的multipart/form-data参数的名称必须是"file"
上传名为"myfile.txt"的文件以发布REST-123的简单示例:
curl -D- -u admin:admin -X POST -H"X-Atlassian-Token:nocheck"-F"file=@myfile.txt" http://myhost.test/rest/api/2/issue/TEST -123 /附件
我有
foreach (JIRAAttachments attachm in attachments.attachments)
{
request = HttpWebRequest.Create(
logInformation.GetUri() + "/rest/api/2/issue/" + key + "/attachments"
) as HttpWebRequest;
request.Headers.Add("Authorization: Basic " + logInformation.GetEncodeAuthentication());
request.Method = "POST";
request.ContentType = "multipart/form-data";
request.Headers.Add("X-Atlassian-Token: nocheck file=@" + Path.GetFullPath(@"..\Attachments\" + attachm.filename));
request.KeepAlive = true;
request.Proxy = wp;
response = (HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
FileStream …
Run Code Online (Sandbox Code Playgroud)