예제 #1
0
        /// <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());
        }
예제 #2
0
        /// <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);
        }