Ejemplo n.º 1
0
        protected T PostObject <T>(string extendedUrl, object data, Model.UserSession userSession) where T : class
        {
            string jsonResult;
            string Url = userSession.AuthClientConfig.BaseUri + "/" + extendedUrl;

            // CommentNew newc = new CommentNew { body = data };

            // StringContent queryString = new StringContent(, Encoding.UTF8, "application/json");
            StringContent queryString = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");

            using (var client = new HttpClient())
            {
                var response = client.PostAsync(Url, queryString).GetAwaiter().GetResult();
                if (response.StatusCode == HttpStatusCode.Unauthorized)
                {
                    throw new UnauthorizedAccessException();
                }

                else if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Created)
                {
                    jsonResult = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
                    return(JsonConvert.DeserializeObject <T>(jsonResult));
                }
            }
            return(null);
        }
Ejemplo n.º 2
0
        public void Get(string boardId, int clientId)
        {
            var userSession = _taskTrackerContext.UserSessions.Where(session => session.UserSessionId == clientId)
                              .Include(session => session.AuthClientConfig).ToList();

            Model.UserSession userSessionModel = ExpressMapper.Mapper.Map <UserSession, Model.UserSession>(userSession.FirstOrDefault());

            _projectManagementClient.GetIssue("SPRIN-1", userSessionModel);
            _projectManagementClient.GetProjects(userSessionModel);
        }
Ejemplo n.º 3
0
 public Issue GetIssue(string KeyId, Model.UserSession userSession)
 {
     try
     {
         var apiResponse = GetObject <Issue>($"issue/{KeyId}", userSession);
         return(apiResponse);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Ejemplo n.º 4
0
 public List <User> GetUsers(string projectKey, Model.UserSession userSession)
 {
     try
     {
         var apiResponse = GetObject <List <User> >($"user/assignable/multiProjectSearch?projectKeys={ projectKey }");
         return(apiResponse);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Ejemplo n.º 5
0
        //OAuth oauth_consumer_key = "jira", oauth_nonce = "LyiqlQJcnUmcvqNvMPJLzNyPTEQnlKFFrFqlGayGg", oauth_signature_method = "RSA-SHA1", oauth_timestamp = "1539430294", oauth_version = "1.0", oauth_token = "fdfgfgfg", oauth_signature = "X%2F%2BVnUmrxKOqQxgXPJ6n1kBTMI1Igq7b1Cd6Kziq8QbkF7yVZGnP8c6azof0hlzf2LF013oFqDnf2NEpvSqeCWpn7YPg7PgAzEY%2Bzn5RI3NQcXsGMoSLZeVjQL%2FthWbAzeAfZUrz9fx2tV%2BQzSZS7bpmQ%2BeShO5IEGeq6EjgajU%3D"
        private void SetAuthorizatonHeader(HttpClient client, Model.UserSession userSession, string url, string requestType)
        {
            var key = PemKeyUtils.GetRSAProviderFromString(userSession.AuthClientConfig.ConsumerSecret);

            var oauth = new OAuth.OAuthRequest();

            oauth.RequestUrl      = url;
            oauth.Method          = requestType;
            oauth.ConsumerKey     = userSession.AuthClientConfig.ConsumerKey;
            oauth.ConsumerSecret  = userSession.AuthClientConfig.ConsumerSecret;
            oauth.SignatureMethod = OAuthSignatureMethod.RsaSha1;
            oauth.Token           = userSession.AccessToken;
            oauth.TokenSecret     = userSession.AccessSecret;
            oauth.Version         = "1.0";
            oauth.Type            = OAuthRequestType.ProtectedResource;

            var authorizationHeader = oauth.GetAuthorizationHeader();

            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", authorizationHeader.Substring(5));
        }
Ejemplo n.º 6
0
        protected T GetObject <T>(string extendedUrl, Model.UserSession userSession = null)
        {
            string jsonResult;
            string Url = userSession.AuthClientConfig.BaseUri + "/rest/api/2/" + extendedUrl;

            using (var client = new HttpClient())
            {
                SetAuthorizatonHeader(client, userSession, Url, Http.Get);
                var response = client.GetAsync(Url).GetAwaiter().GetResult();
                if (response.StatusCode == HttpStatusCode.Unauthorized)
                {
                    throw new UnauthorizedAccessException();
                }
                else if (response.StatusCode == HttpStatusCode.OK)
                {
                    jsonResult = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
                    return(JsonConvert.DeserializeObject <T>(jsonResult));
                }
            }
            return(JsonConvert.DeserializeObject <T>(""));
        }
Ejemplo n.º 7
0
 public IEnumerable <CreateIssueResponse> CreateBulkIssue(IEnumerable <CreateIssue> issues, Model.UserSession userSession)
 {
     try
     {
         var apiResponse = PostObject <IEnumerable <CreateIssueResponse> >($"issue/bulk", issues, userSession);
         return(apiResponse);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Ejemplo n.º 8
0
        public IEnumerable <Project> GetProjects(Model.UserSession userSession)
        {
            IEnumerable <Project> projects = GetObject <IEnumerable <Project> >("project", userSession);

            return(projects);
        }