private static Connection getServiceConnection(YouTrackExtensionConfigFacade pConfig)
        {
            var password  = pConfig.GetDecryptedPassword();
            var serverUrl = pConfig.HostUri.ToString();

            return(password.StartsWith("perm:")
                ? (Connection) new BearerTokenConnection(serverUrl, password)
                : new UsernamePasswordConnection(serverUrl, pConfig.UserId, password));
        }
Exemple #2
0
        public IPlasticIssueTrackerExtension GetIssueTrackerExtension(IssueTrackerConfiguration pConfiguration)
        {
            _log.Debug("YouTrackExtensionFactory: GetIssueTrackerExtension - start");
            var youtrackConfigFacade         = new YouTrackExtensionConfigFacade(pConfiguration);
            var plasticIssueTrackerExtension = new YouTrackExtension(youtrackConfigFacade);

            _log.Debug("YouTrackExtensionFactory: GetIssueTrackerExtension - completed");
            return(plasticIssueTrackerExtension);
        }
        public bool TestConnection(IssueTrackerConfiguration pConfiguration)
        {
            _log.Debug("YouTrackExtension: TestConnection - start");

            try
            {
                var config = new YouTrackExtensionConfigFacade(pConfiguration);
                YouTrackService.VerifyConfiguration(config);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public static void VerifyConfiguration(YouTrackExtensionConfigFacade pConfig)
        {
            validateConfig(pConfig);

            try
            {
                var testConnection = getServiceConnection(pConfig);
                testConnection.CreateIssuesService().GetIssueCount().Wait(1000);
            }
            catch (Exception e)
            {
                _log.Warn(string.Format("Failed to verify configuration against host '{0}'.", pConfig.HostUri), e);
                throw new ApplicationException(string.Format("Failed to authenticate against the host. Message: {0}", e.Message), e);
            }
        }