public IssueTrackerConfiguration GetConfiguration(IssueTrackerConfiguration storedConfiguration) { // // Extension parameters // var parameters = new List <IssueTrackerConfigurationParameter> { new IssueTrackerConfigurationParameter { Name = Globals.USER_KEY, Value = storedConfiguration.GetValidParameterValue(Globals.USER_KEY, Globals.DEFAULT_USER_KEY), Type = IssueTrackerConfigurationParameterType.User, IsGlobal = false }, new IssueTrackerConfigurationParameter { Name = Globals.BRANCH_PREFIX_KEY, Value = storedConfiguration.GetValidParameterValue(Globals.BRANCH_PREFIX_KEY, Globals.DEFAULT_BRANCH_PREFIX_KEY), Type = IssueTrackerConfigurationParameterType.BranchPrefix, IsGlobal = true }, new IssueTrackerConfigurationParameter { Name = Globals.PROJECT_OWNER, Value = storedConfiguration.GetValidParameterValue(Globals.PROJECT_OWNER, Globals.DEFAULT_PROJECT_OWNER), Type = IssueTrackerConfigurationParameterType.Text, IsGlobal = false }, new IssueTrackerConfigurationParameter { Name = Globals.PROJECT_NAME, Value = storedConfiguration.GetValidParameterValue(Globals.PROJECT_NAME, Globals.DEFAULT_PROJECT_NAME), Type = IssueTrackerConfigurationParameterType.Text, IsGlobal = false }, new IssueTrackerConfigurationParameter { Name = Globals.AUTH_TOKEN, Value = storedConfiguration.GetValidParameterValue(Globals.AUTH_TOKEN, Globals.DEFAULT_AUTH_TOKEN), Type = IssueTrackerConfigurationParameterType.Text, IsGlobal = false }, new IssueTrackerConfigurationParameter { Name = Globals.PLASTIC_WEBUI_URL, Value = storedConfiguration.GetValidParameterValue(Globals.PLASTIC_WEBUI_URL, Globals.DEFAULT_PLASTIC_WEBUI_URL), Type = IssueTrackerConfigurationParameterType.Text, IsGlobal = false } }; // // Other params // var workingMode = storedConfiguration.GetWorkingMode(); return(new IssueTrackerConfiguration(workingMode, parameters)); }
public bool TestConnection(IssueTrackerConfiguration configuration) { // This should throw an exception for a bad configuration _provider.TestConnection(configuration); // Otherwise succeded return(true); }
// // URL Helpers // // API Urls public static string GetApiUrlForTasks(this IssueTrackerConfiguration configuration, string assignee) { string assigneeFilter = !string.IsNullOrEmpty(assignee) ? $"assignee={ assignee.MapToCleanAssignee() }&" : string.Empty; return($"{ configuration.GetApiUrl() }/issues?{ assigneeFilter }state=open"); }
private IFavroConnection CreateConnection(IssueTrackerConfiguration connectionConfiguration) { var user = connectionConfiguration.GetValue(KEY_USER); var password = connectionConfiguration.GetValue(KEY_PASSWORD); var connection = new Connection(user, GetDecryptedPassword(password)); connection.OrganizationId = connectionConfiguration.GetValue(KEY_ORGANIZATION); return(connection); }
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); }
private static string GetValidParameterValue(IssueTrackerConfiguration configuration, string key, string defaultValue) { string result = configuration != null?configuration.GetValue(key) : null; if (string.IsNullOrEmpty(result)) { result = defaultValue; } return(result); }
private ExtensionWorkingMode GetWorkingMode(IssueTrackerConfiguration configuration) { var mode = ExtensionWorkingMode.TaskOnBranch; if (configuration != null && configuration.WorkingMode != ExtensionWorkingMode.None) { mode = configuration.WorkingMode; } return(mode); }
public static string GetPlasticChangesetURL(this IssueTrackerConfiguration configuration, PlasticChangeset changeset) { var customUrl = configuration.GetPlasticWebURL()?.Trim(); if (!string.IsNullOrEmpty(customUrl)) { return($"{ configuration.GetPlasticWebURL().Trim() }{ changeset.Id }"); } return(string.Empty); }
public static string GetValidParameterValue( this IssueTrackerConfiguration configuration, string paramName, string defaultValue) { var value = configuration?.GetValue(paramName); if (string.IsNullOrEmpty(value)) { return(defaultValue); } return(value); }
private YouTrackExtensionConfigFacade getTestConfig() { var testStoredConfig = new IssueTrackerConfiguration() { WorkingMode = ExtensionWorkingMode.TaskOnBranch, Parameters = getTestConfigParams() }; var ytConfig = new YouTrackExtensionConfigFacade(testStoredConfig); return(ytConfig); }
// // Misc // public static ExtensionWorkingMode GetWorkingMode(this IssueTrackerConfiguration configuration) { if (configuration == null) { return(ExtensionWorkingMode.TaskOnBranch); } if (configuration.WorkingMode == ExtensionWorkingMode.None) { return(ExtensionWorkingMode.TaskOnBranch); } return(configuration.WorkingMode); }
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); } }
private static RedmineManager CreateRedmineManager(IssueTrackerConfiguration config) { string host = config.GetValue(CSRedmineExtension.HOST_KEY); string apikey = config.GetValue(CSRedmineExtension.APIKEY_KEY); if (apikey == null || apikey == String.Empty) { string user = config.GetValue(CSRedmineExtension.USER_KEY); // config.User; string password = CryptoServices.GetDecryptedPassword(config.GetValue(CSRedmineExtension.PASSWORD_KEY)); return(new RedmineManager(host, user, password)); } return(new RedmineManager(host, apikey)); }
public bool CsTestConnection(IssueTrackerConfiguration configuration) { IssueTrackerConfiguration redmineConfig = configuration as IssueTrackerConfiguration; try { var manager = CreateRedmineManager(redmineConfig); User user = manager.GetCurrentUser(); return(!string.IsNullOrEmpty(user.Login)); } catch (Exception) { throw; } }
public bool TestConnection(IssueTrackerConfiguration configuration) { var testConnection = CreateConnection(configuration); var testMethods = new FavroApiFacade(testConnection, logger); try { return(testMethods.GetOrganization(testConnection.OrganizationId) != null); } catch (Exception) { // When the plugin is not well configured the previous call throws an exception // In that case return false return(false); } }
public IssueTrackerConfiguration GetConfiguration(IssueTrackerConfiguration pStoredConfiguration) { _log.Debug("YouTrackExtensionFactory: GetConfiguration - start"); var configFacade = pStoredConfiguration != null ? new YouTrackExtensionConfigFacade(pStoredConfiguration) : new YouTrackExtensionConfigFacade(new IssueTrackerConfiguration()); var workingMode = configFacade.WorkingMode; var parameters = configFacade.GetYouTrackParameters(); var issueTrackerConfiguration = new IssueTrackerConfiguration(workingMode, parameters); _log.Debug("YouTrackExtensionFactory: GetConfiguration - completed"); return(issueTrackerConfiguration); }
public IssueTrackerConfiguration GetConfiguration(IssueTrackerConfiguration storedConfiguration) { var workingMode = GetWorkingMode(storedConfiguration); var parameters = new List <IssueTrackerConfigurationParameter>(); parameters.Add(GetUserParameter(storedConfiguration)); parameters.Add(GetPasswordParameter(storedConfiguration)); parameters.Add(new IssueTrackerConfigurationParameter("WorkflowInfoSeparator", "Workflow configuration:", IssueTrackerConfigurationParameterType.Label, false)); parameters.Add(GetBranchPrefixParameter(storedConfiguration)); parameters.Add(GetBranchSuffixParameter(storedConfiguration)); parameters.Add(GetDoingColumnNameParameter(storedConfiguration)); parameters.Add(new IssueTrackerConfigurationParameter("FilterInfoSeparator", "Filters Favro Cards by:", IssueTrackerConfigurationParameterType.Label, false)); parameters.Add(GetOrganizationParameter(storedConfiguration)); parameters.Add(GetCollectionIdParameter(storedConfiguration)); parameters.Add(GetWidgetCommonIdParameter(storedConfiguration)); return(new IssueTrackerConfiguration(workingMode, parameters)); }
public YouTrackExtensionConfigFacade(IssueTrackerConfiguration pConfig) { _log.Debug("YouTrackExtensionConfigFacade: configured ctor called"); Config = pConfig; BranchPrefix = getValidParameterValue(Config, ConfigParameterNames.BranchPrefix, pDefaultValue: "yt_"); HostUri = getValidParameterValue(Config, ConfigParameterNames.HostUri, pDefaultValue: new Uri("http://issues.domain.com"), converter: new UriTypeConverter()); UserId = getValidParameterValue(Config, ConfigParameterNames.UserId, pDefaultValue: "api"); Password = getValidParameterValue(Config, ConfigParameterNames.Password, pDefaultValue: string.Empty); ShowIssueStateInBranchTitle = getValidParameterValue (Config, ConfigParameterNames.ShowIssueStateInBranchTitle, pDefaultValue: true); PostCommentsToTickets = getValidParameterValue(Config, ConfigParameterNames.PostCommentsToTickets, pDefaultValue: true); _ignoreIssueStateForBranchTitle = getValidParameterValue (Config, ConfigParameterNames.ClosedIssueStates, pDefaultValue: "Completed"); _usernameMapping = getValidParameterValue(Config, ConfigParameterNames.UsernameMapping, pDefaultValue: "api:ytusername"); WebGuiRootUrl = getValidParameterValue (Config, ConfigParameterNames.WebGuiRootUrl, pDefaultValue: new Uri("http://plastic-gui.domain.com:7178/"), converter: new UriTypeConverter()); WorkingMode = getValidParameterValue(Config, nameof(ExtensionWorkingMode), pDefaultValue: ExtensionWorkingMode.TaskOnBranch); _createBranchIssueQuery = getValidParameterValue (Config, ConfigParameterNames.CreateBranchIssueQuery, pDefaultValue: "#unresolved order by: updated desc"); _createBranchTransitions = getValidParameterValue (Config, ConfigParameterNames.CreateBranchTransitions, pDefaultValue: "Submitted:Start Work;Planned:Start Work;Incomplete:Start Work"); _log.Debug("YouTrackExtensionConfigFacade: configured ctor completed"); }
protected static T getValidParameterValue <T> (IssueTrackerConfiguration pConfig, string pParamName, TypeConverter converter = null, T pDefaultValue = default(T)) { if (string.IsNullOrEmpty(pParamName)) { throw new ApplicationException("The parameter name cannot be null or empty!"); } if (pConfig == null || pConfig.Parameters.Length == 0) { return(pDefaultValue); } if (pParamName == nameof(ExtensionWorkingMode)) { return(pDefaultValue); } var configValue = pConfig.GetValue(pParamName); if (string.IsNullOrEmpty(configValue)) { return(pDefaultValue); } try { return(converter != null ? (T)converter.ConvertFromString(configValue) : (T)Convert.ChangeType(configValue, typeof(T))); } catch (Exception e) { _log.Error(e.Message); return(pDefaultValue); } }
public static string GetUserKey(this IssueTrackerConfiguration configuration) => configuration.GetValue(Globals.USER_KEY);
public IPlasticIssueTrackerExtension GetIssueTrackerExtension(IssueTrackerConfiguration configuration) { return(new GitHubExtension(configuration)); }
public void TestConnection(IssueTrackerConfiguration byPassConfiguration) { var url = byPassConfiguration.GetApiUrlForTasks(null); _httpHelper.CallApi(url, byPassConfiguration.GetAuthToken()); }
public GitHubProvider(IssueTrackerConfiguration configuration, IGitHubHttpHelper httpHelper) { _configuration = configuration; _httpHelper = httpHelper; }
public bool TestConnection(IssueTrackerConfiguration configuration) { var testConfig = new YouTrackExtensionConfiguration(configuration); _authRetryCount = 0; Authenticate(testConfig.BaseURL, testConfig.User, testConfig.Password); var result = _authRetryCount == 0; //cleanup Authenticate(mConfig.BaseURL, mConfig.User, mConfig.Password); return result; }
public static string GetUrl(this IssueTrackerConfiguration configuration) => $"{ Globals.GITHUB_URL }{ configuration.GetProjectOwner() }/{ configuration.GetProjectName() }";
// Browsing Urls public static string GetUrlForTask(this IssueTrackerConfiguration configuration, string taskId) => $"{ configuration.GetUrl() }/issues/{ taskId }";
public static string GetApiUrlForTaskCommenting(this IssueTrackerConfiguration configuration, string taskId) => $"{ configuration.GetApiUrl() }/issues/{ taskId }/comments";
internal YoutrackExtension(IssueTrackerConfiguration config) { mConfig = new YouTrackExtensionConfiguration(config); mLog.Info("Youtrack issue tracker is initialized"); }
public static string GetPlasticWebURL(this IssueTrackerConfiguration configuration) => configuration.GetValue(Globals.PLASTIC_WEBUI_URL);
public static string GetAuthToken(this IssueTrackerConfiguration configuration) => configuration.GetValue(Globals.AUTH_TOKEN);
public static string GetProjectName(this IssueTrackerConfiguration configuration) => configuration.GetValue(Globals.PROJECT_NAME);
public static string GetProjectOwner(this IssueTrackerConfiguration configuration) => configuration.GetValue(Globals.PROJECT_OWNER);