コード例 #1
0
        public override UploadResult Upload(Stream stream, string fileName)
        {
            using (new SSLBypassHelper())
            {
                using (JiraUpload up = new JiraUpload(_jiraIssuePrefix, GetSummary))
                {
                    if (up.ShowDialog() == DialogResult.Cancel)
                    {
                        return(new UploadResult
                        {
                            IsSuccess = true,
                            IsURLExpected = false
                        });
                    }

                    Uri    uri   = Combine(_jiraBaseAddress, string.Format(PathIssueAttachments, up.IssueId));
                    string query = OAuthManager.GenerateQuery(uri.ToString(), null, HttpMethod.POST, AuthInfo);

                    NameValueCollection headers = new NameValueCollection();
                    headers.Set("X-Atlassian-Token", "nocheck");

                    UploadResult res = UploadData(stream, query, fileName, headers: headers);
                    if (res.Response.Contains("errorMessages"))
                    {
                        res.Errors.Add(res.Response);
                    }
                    else
                    {
                        res.IsURLExpected = true;
                        var anonType   = new[] { new { thumbnail = "" } };
                        var anonObject = JsonConvert.DeserializeAnonymousType(res.Response, anonType);
                        res.ThumbnailURL = anonObject[0].thumbnail;
                        res.URL          = Combine(_jiraBaseAddress, string.Format(PathBrowseIssue, up.IssueId)).ToString();
                    }

                    return(res);
                }
            }
        }
コード例 #2
0
ファイル: Jira.cs プロジェクト: yuhongfang/ShareX
        public override UploadResult Upload(Stream stream, string fileName)
        {
            using (new SSLBypassHelper())
            {
                using (JiraUpload up = new JiraUpload(_jiraIssuePrefix, GetSummary))
                {
                    if (up.ShowDialog() == DialogResult.Cancel)
                    {
                        return new UploadResult
                        {
                            IsSuccess = true,
                            IsURLExpected = false
                        };
                    }

                    Uri uri = Combine(_jiraBaseAddress, string.Format(PathIssueAttachments, up.IssueId));
                    string query = OAuthManager.GenerateQuery(uri.ToString(), null, HttpMethod.POST, AuthInfo);

                    NameValueCollection headers = new NameValueCollection();
                    headers.Set("X-Atlassian-Token", "nocheck");

                    UploadResult res = UploadData(stream, query, fileName, headers: headers);
                    if (res.Response.Contains("errorMessages"))
                    {
                        Errors.Add(res.Response);
                    }
                    else
                    {
                        res.IsURLExpected = true;
                        var anonType = new[] { new { thumbnail = "" } };
                        var anonObject = JsonConvert.DeserializeAnonymousType(res.Response, anonType);
                        res.ThumbnailURL = anonObject[0].thumbnail;
                        res.URL = Combine(_jiraBaseAddress, string.Format(PathBrowseIssue, up.IssueId)).ToString();
                    }

                    return res;
                }
            }
        }