private void CheckAndConnectJira(bool useRestApi = true) { if (jira == null) { if (string.IsNullOrWhiteSpace(jiraConnectionSettings.JiraUrl) || string.IsNullOrWhiteSpace(jiraConnectionSettings.JiraUsername) || string.IsNullOrWhiteSpace(jiraConnectionSettings.JiraPassword)) { throw new MissingJiraConfigException("Required settings to create connection to jira are missing"); } try { var url = jiraConnectionSettings.JiraUrl.Replace("/secure/Dashboard.jspa", ""); if (useRestApi) { jira = new JiraRestClient(url, jiraConnectionSettings.JiraUsername, jiraConnectionSettings.JiraPassword); } else { jira = new JiraSoapClient(url, jiraConnectionSettings.JiraUsername, jiraConnectionSettings.JiraPassword); } CurrentUser = jira.GetCurrentUser(); TrackingType trackingType; if (useRestApi) { trackingType = url.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudRest : TrackingType.JiraConnectSelfhostRest; } else { trackingType = url.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudSoap : TrackingType.JiraConnectSelfhostSoap; } trackUsage.TrackAppUsage(trackingType); } catch (Exception ex) { jira = null; if (useRestApi) { CheckAndConnectJira(false); } else { throw new JiraConnectionException("Error creating instance of Jira", ex); } } } }
private void CheckAndConnectJira(bool useRestApi = true) { if (jira == null) { if (string.IsNullOrWhiteSpace(jiraConnectionSettings.JiraUrl) || string.IsNullOrWhiteSpace(jiraConnectionSettings.JiraUsername) || string.IsNullOrWhiteSpace(jiraConnectionSettings.JiraPassword)) { throw new MissingJiraConfigException("Required settings to create connection to jira are missing"); } try { if (useRestApi) { jira = new JiraRestClient(jiraConnectionSettings.JiraUrl.Replace("/secure/Dashboard.jspa", ""), jiraConnectionSettings.JiraUsername, jiraConnectionSettings.JiraPassword); } else { jira = new JiraSoapClient(jiraConnectionSettings.JiraUrl.Replace("/secure/Dashboard.jspa", ""), jiraConnectionSettings.JiraUsername, jiraConnectionSettings.JiraPassword); } CurrentUser = jira.GetCurrentUser(); } catch (Exception ex) { jira = null; if (useRestApi) { CheckAndConnectJira(false); } else { throw new JiraConnectionException("Error creating instance of Jira", ex); } } } }
private void CheckAndConnectJira() { if (jira == null) { try { jira = JiraClientFactory.BuildJiraClient(jiraConnectionSettings.JiraUrl, jiraConnectionSettings.JiraUsername, jiraConnectionSettings.JiraPassword, jiraConnectionSettings.UseTempo); CurrentUser = jira.GetCurrentUser(); LoggedIn?.Invoke(this, null); TrackingType trackingType; if (jira.GetType() == typeof(JiraRestClient) && jira.HasTempo) { trackingType = jiraConnectionSettings.JiraUrl.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudRestWithTempo : TrackingType.JiraConnectSelfhostRestWithTempo; } else if (jira.GetType() == typeof(JiraRestClient)) { trackingType = jiraConnectionSettings.JiraUrl.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudRest : TrackingType.JiraConnectSelfhostRest; } else { trackingType = jiraConnectionSettings.JiraUrl.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudSoap : TrackingType.JiraConnectSelfhostSoap; } trackUsage.TrackAppUsage(trackingType); } catch (InvalidCredentialException) { throw new MissingJiraConfigException("Required settings to create connection to jira are missing"); } catch (Exception ex) { throw new JiraConnectionException("Error creating instance of Jira", ex); } } }
private void CheckAndConnectJira() { if (jira == null) { try { jira = JiraClientFactory.BuildJiraClient(jiraConnectionSettings.JiraUrl, jiraConnectionSettings.JiraUsername, jiraConnectionSettings.JiraPassword); CurrentUser = jira.GetCurrentUser(); LoggedIn?.Invoke(this, null); TrackingType trackingType; if (jira.GetType() == typeof(JiraRestClient)) { trackingType = jiraConnectionSettings.JiraUrl.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudRest : TrackingType.JiraConnectSelfhostRest; } else { trackingType = jiraConnectionSettings.JiraUrl.Contains(".atlassian.net") ? TrackingType.JiraConnectCloudSoap : TrackingType.JiraConnectSelfhostSoap; } trackUsage.TrackAppUsage(trackingType); } catch (InvalidCredentialException) { throw new MissingJiraConfigException("Required settings to create connection to jira are missing"); } catch (Exception ex) { throw new JiraConnectionException("Error creating instance of Jira", ex); } } }