/// <summary> /// Add attachement to issue /// </summary> /// <param name="data"></param> /// <returns></returns> public Attachement AddAttachementToIssue(Issue issue, Attachement attachement) { // Create upload request IRestRequest request = new RestRequest(String.Format("{0}/issue/{1}/attachments", JiraAPIServiceURI, issue.Key), Method.POST); request.RequestFormat = DataFormat.Json; request.AddHeader("X-Atlassian-Token", "no-check"); request.AddHeader("Content-Type", "multipart/form-data" + (String.IsNullOrEmpty(attachement.MimeType) ? "" : "; " + attachement.MimeType)); request.AddFileBytes("file", attachement.Data, attachement.Filename); // Get response IRestResponse <Attachements> response = Client.Post <Attachements>(request); if (response.ErrorException != null) { throw response.ErrorException; } if (response.ResponseStatus != ResponseStatus.Completed) { throw new Exception(response.ErrorMessage); } if (response.StatusCode != System.Net.HttpStatusCode.OK) { throw new Exception(response.StatusDescription, new Exception(response.Content)); } // Parse return(response.Data.First()); }
/// <summary> /// Download attachement /// </summary> /// <param name="attachement"></param> public void DownloadAttachement(Attachement attachement) { // Download attachement data IRestRequest request = new RestRequest(attachement.Content, Method.GET); attachement.Data = Client.DownloadData(request); }