public void Connect(VersionOneSettings settings) { var path = settings.Path; var username = settings.Username; var password = settings.Password; var integrated = settings.Integrated; var proxy = GetProxy(settings.ProxySettings); VersionOneSettings = settings; if (VersionOneSettings.OAuth2) { var storage = OAuth2Client.Storage.JsonFileStorage.Default; var metaConnector = new V1OAuth2APIConnector(path + MetaUrlSuffix, storage, proxy); MetaModel = new MetaModel(metaConnector); var localizerConnector = new V1OAuth2APIConnector(path + LocalizerUrlSuffix, storage, proxy); Localizer = new Localizer(localizerConnector); var dataConnector = new V1OAuth2APIConnector(path + DataUrlSuffix, storage, proxy); Services = new Services(MetaModel, dataConnector); } else { var metaConnector = new V1APIConnector(path + MetaUrlSuffix, username, password, integrated, proxy); MetaModel = new MetaModel(metaConnector); var localizerConnector = new V1APIConnector(path + LocalizerUrlSuffix, username, password, integrated, proxy); Localizer = new Localizer(localizerConnector); var dataConnector = new V1APIConnector(path + DataUrlSuffix, username, password, integrated, proxy); Services = new Services(MetaModel, dataConnector); } V1Configuration = LoadV1Configuration(); }
public IServices CreateServices(string baseUrl, string userName, string password, bool integratedAuth = false) { var dataConnector = new V1APIConnector(baseUrl + "/rest-1.v1/", userName, password, integratedAuth); var metaConnector = new V1APIConnector(baseUrl + "/meta.v1/"); _metaModel = new MetaModel(metaConnector); var services = new Services(_metaModel, dataConnector); return(services); }
public void QueryProjects() { var proxyProvider = new ProxyProvider(new Uri(ProxyPath), ProxyUsername, ProxyPassword); IAPIConnector metaConnector = new V1APIConnector(V1Path + "meta.v1/", V1Username, V1Password, false, proxyProvider); IMetaModel metaModel = new MetaModel(metaConnector); IAPIConnector dataConnector = new V1APIConnector(V1Path + "rest-1.v1/", V1Username, V1Password, false, proxyProvider); IServices services = new Services(metaModel, dataConnector); var projectType = metaModel.GetAssetType("Scope"); var scopeQuery = new Query(projectType); var result = services.Retrieve(scopeQuery); Assert.IsTrue(result.Assets.Count > 0); }
public void TestFixtureSetUp() { V1APIConnector dataConnector = new V1APIConnector(v1Url + dataPath, username, password); V1APIConnector metaConnector = new V1APIConnector(v1Url + metaPath); V1APIConnector localConnector = new V1APIConnector(v1Url + localizationPath); localizer = new Localizer(localConnector); metaModel = new MetaModel(metaConnector); services = new Services(metaModel, dataConnector); timeboxType = metaModel.GetAssetType("Timebox"); timeboxName = timeboxType.GetAttributeDefinition("Name"); timeboxID = timeboxType.GetAttributeDefinition("ID"); }
public void TestFixtureSetUp() { var metaConnector = new V1APIConnector(V1Url + "/meta.v1/"); var dataConnector = new V1APIConnector(V1Url + "/rest-1.v1/", Username, Password); metaModel = new MetaModel(metaConnector); services = new Services(metaModel, dataConnector); storyType = metaModel.GetAssetType("Story"); storyDeleteOperation = storyType.GetOperation("Delete"); nameDef = storyType.GetAttributeDefinition("Name"); scopeDef = storyType.GetAttributeDefinition("Scope"); changeDateDef = storyType.GetAttributeDefinition("ChangeDate"); momentDef = storyType.GetAttributeDefinition("Moment"); attributesToQuery = new[] {nameDef, scopeDef, changeDateDef, momentDef}; }
private IAPIConnector CreateConnector(string url) { // TODO check integratedAuth here if (_oauthStorage == null) { var cc = new V1APIConnector(url, _username, _password, _integratedAuth, proxyProvider); cc.SetCallerUserAgent(MyUserAgent); return(cc); } else { var cc = new V1OAuth2APIConnector(url, _oauthStorage, proxyProvider); cc.SetCallerUserAgent(MyUserAgent); return(cc); } }
public void TestFixtureSetUp() { var metaConnector = new V1APIConnector(V1Url + "/meta.v1/"); var dataConnector = new V1APIConnector(V1Url + "/rest-1.v1/", Username, Password); metaModel = new MetaModel(metaConnector); services = new Services(metaModel, dataConnector); storyType = metaModel.GetAssetType("Story"); storyDeleteOperation = storyType.GetOperation("Delete"); nameDef = storyType.GetAttributeDefinition("Name"); scopeDef = storyType.GetAttributeDefinition("Scope"); changeDateDef = storyType.GetAttributeDefinition("ChangeDate"); momentDef = storyType.GetAttributeDefinition("Moment"); attributesToQuery = new[] { nameDef, scopeDef, changeDateDef, momentDef }; }
public void QueryTrackedEpicsByProject() { var metaConnector = new V1APIConnector(VersionOneUrl + "meta.v1/", "admin", "admin"); var metaModel = new MetaModel(metaConnector); var epicType = metaModel.GetAssetType("Epic"); var scopeType = metaModel.GetAssetType("Scope"); var query = new Query(epicType); const string scopeId = "Scope:1025"; var notClosedScopeAttribute = scopeType.GetAttributeDefinition("AssetState"); var notClosedEpicAttribute = epicType.GetAttributeDefinition("AssetState"); var notClosedEpicTerm = new FilterTerm(notClosedEpicAttribute); notClosedEpicTerm.NotEqual("Closed"); var notClosedScopeTerm = new FilterTerm(notClosedScopeAttribute); notClosedScopeTerm.NotEqual("Closed"); var scopeAttribute = epicType.GetAttributeDefinition("Scope.ParentMeAndUp"); scopeAttribute = scopeAttribute.Filter(notClosedScopeTerm); var scopeTerm = new FilterTerm(scopeAttribute); scopeTerm.Equal(scopeId); var superAndUpAttribute = epicType.GetAttributeDefinition("SuperAndUp"); superAndUpAttribute = superAndUpAttribute.Filter(scopeTerm); var superAndUpTerm = new FilterTerm(superAndUpAttribute); superAndUpTerm.NotExists(); var filter = new AndFilterTerm(scopeTerm, notClosedEpicTerm, superAndUpTerm); query.Filter = filter; var builder = new QueryURLBuilder(query); var result = builder.ToString(); Assert.AreEqual("Data/Epic?sel=&where=(Epic.Scope.ParentMeAndUp[AssetState!='Closed']='Scope%3a1025';Epic.AssetState!='Closed';-Epic.SuperAndUp[Scope.ParentMeAndUp[AssetState!='Closed']='Scope:1025'])", result); }
public static V1Instance GetV1Instance() { string V1Instance = ConfigurationManager.AppSettings["V1Instance"]; string V1Login = ConfigurationManager.AppSettings["V1InstanceUsername"]; string V1Password = ConfigurationManager.AppSettings["V1InstancePassword"]; string proxyServerUri = ConfigurationManager.AppSettings["proxyServerUri"]; string defaultRole = ConfigurationManager.AppSettings["V1UserDefaultRole"]; string useIntegratedAuth = ConfigurationManager.AppSettings["IntegratedAuth"]; if (!V1Instance.EndsWith("/")) { V1Instance += "/"; } try { IAPIConnector metaConnector; IAPIConnector dataConnector; bool useIntegrated = useIntegratedAuth.Equals("true"); logger.Info("Attaching to VersionOne at: " + V1Instance); if (!string.IsNullOrEmpty(proxyServerUri)) { ProxyProvider proxyProvider = GetProxyProvider(); metaConnector = new V1APIConnector(V1Instance + @"meta.v1/", null, null, false, proxyProvider); dataConnector = new V1APIConnector(V1Instance + @"rest-1.v1/", V1Login, V1Password, useIntegrated, proxyProvider); } else { metaConnector = new V1APIConnector(V1Instance + @"meta.v1/"); dataConnector = new V1APIConnector(V1Instance + @"rest-1.v1/", V1Login, V1Password, useIntegrated); } IMetaModel metaModel = new MetaModel(metaConnector); IServices services = new Services(metaModel, dataConnector); return(new V1Instance(services, metaModel, defaultRole)); } catch (Exception ex) { logger.Error(ex.Message); throw ex; } }
public void QueryTrackedEpicsForMultipleProjectsUsingVariables() { var metaConnector = new V1APIConnector(VersionOneUrl + "meta.v1/", "admin", "admin"); var metaModel = new MetaModel(metaConnector); var scopeVariable = new QueryVariable("Scope", "Scope:2176"); var epicType = metaModel.GetAssetType("Epic"); var query = new Query(epicType); var notClosedEpicAttribute = epicType.GetAttributeDefinition("AssetState"); var notClosedEpicTerm = new FilterTerm(notClosedEpicAttribute); notClosedEpicTerm.NotEqual("Closed"); var scopeAttribute = epicType.GetAttributeDefinition("Scope"); var scopeTerm = new FilterTerm(scopeAttribute); scopeTerm.Operate(FilterTerm.Operator.Equal, scopeVariable); var superAndUpAttribute = epicType.GetAttributeDefinition("SuperAndUp").Filter(scopeTerm); var superAndUpTerm = new FilterTerm(superAndUpAttribute); superAndUpTerm.NotExists(); var filter = new AndFilterTerm(notClosedEpicTerm, scopeTerm, superAndUpTerm); query.Filter = filter; query.Variables.Add(scopeVariable); var builder = new QueryURLBuilder(query); var result = builder.ToString(); Assert.AreEqual("Data/Epic?sel=&where=(Epic.AssetState!='Closed';Epic.Scope=$Scope;-Epic.SuperAndUp[Scope=$Scope])&with=$Scope=Scope%3A2176", result); }
public ExportAttachments(SqlConnection sqlConn, MetaModel MetaAPI, Services DataAPI, V1APIConnector ImageConnector, MigrationConfiguration Configurations) : base(sqlConn, MetaAPI, DataAPI, Configurations) { _imageConnector = ImageConnector; }
//To View all Teams public IEnumerable <Team> GetAllTeams() { try { string _data = "https://www15.v1host.com/Greenway/rest-1.v1/"; string _metaUrl = "https://www15.v1host.com/Greenway/meta.v1/"; string sUsername = "******"; string sPassword = "******"; V1APIConnector dataConnector = new V1APIConnector(_data, sUsername, sPassword); //VersionOneAPIConnector metaConnector = new VersionOneAPIConnector(_metaUrl); //IMetaModel metaModel = new MetaModel(metaConnector); //IServices services = new Services(metaModel, dataConnector); //IAssetType TeamType = metaModel.GetAssetType("Team"); //Query query1 = new Query(TeamType); //IAttributeDefinition teamAttribute = TeamType.GetAttributeDefinition("Team.Name"); List <Team> lstTeam = new List <Team>(); //query1.Selection.Add(teamAttribute); //QueryResult result1 = services.Retrieve(query1); //foreach (Asset story in result1.Assets) //{ //} //using (SqlConnection con = new SqlConnection(connectionString)) //{ // SqlCommand cmd = new SqlCommand("spGetAllTeams", con); // cmd.CommandType = CommandType.StoredProcedure; // con.Open(); // SqlDataReader rdr = cmd.ExecuteReader(); // while (rdr.Read()) // { // Team team = new Team(); // team.ID = Convert.ToInt32(rdr["TeamID"]); // team.Name = rdr["Name"].ToString(); // team.Category = rdr["Category"].ToString(); // lstTeam.Add(team); // } // con.Close(); //} lstTeam.Add(new Team { ID = 1, Name = "Patriots", Category = "NFT" }); lstTeam.Add(new Team { ID = 2, Name = "Raiders", Category = "NFT" }); lstTeam.Add(new Team { ID = 3, Name = "Titans", Category = "PDT" }); return(lstTeam); } catch { throw; } }