コード例 #1
0
        public void GetCurrentUser()
        {
            RallyRestApi restApi = GetRallyRestApi();
            dynamic      user    = restApi.GetCurrentUser();

            Assert.AreEqual("user", Ref.GetTypeFromRef(user._ref), "Type test");
            Assert.AreEqual(Settings.Default.UserName, user.UserName, "Name test");
        }
コード例 #2
0
        public void ApiKeyGetCurrentUser()
        {
            RallyRestApi restApi = GetRallyRestApiWithApiKey();
            dynamic      user    = restApi.GetCurrentUser();

            Assert.IsNotNull(user);
            Assert.AreEqual("user", Ref.GetTypeFromRef(user._ref), "Type test");
        }
コード例 #3
0
        public void GetCurrentUser()
        {
            RallyRestApi restApi = GetRallyRestApi();
            dynamic      user    = restApi.GetCurrentUser();

            Assert.AreEqual("user", Ref.GetTypeFromRef(user._ref), "Type test");
            Assert.AreEqual(IntegrationTestInfo.USER_NAME, user.UserName, "Name test");
        }
コード例 #4
0
        public void GetSubscription()
        {
            RallyRestApi restApi      = GetRallyRestApi();
            dynamic      user         = restApi.GetCurrentUser("Subscription", "ObjectID");
            dynamic      subscription = restApi.GetSubscription();

            Assert.AreEqual("subscription", Ref.GetTypeFromRef(subscription._ref), "Type test");
            Assert.AreEqual(user.Subscription.ObjectID, subscription.ObjectID, "Subscription Id");
        }
コード例 #5
0
        static void Main(string[] args)
        {
            string tagName = "T3$T";

            RallyRestApi restApi = new RallyRestApi("*****@*****.**", "secret", "https://rally1.rallydev.com", "v2.0");

            //get current user
            DynamicJsonObject user = new DynamicJsonObject();

            user = restApi.GetCurrentUser();
            Console.Out.WriteLine("owner " + user["_ref"]);


            //find workspaces owned by this user
            //equivalent to this endpoint: https://rally1.rallydev.com/slm/webservice/v2.0/subscription/1154643/workspaces?query=(Owner%20=%20%22/user/12345%22)

            DynamicJsonObject sub = restApi.GetSubscription("Workspaces");

            Request wRequest = new Request(sub["Workspaces"]);

            wRequest.Query = new Query("Owner", Query.Operator.Equals, user["_ref"]);
            QueryResult wResult = restApi.Query(wRequest);

            foreach (var workspace in wResult.Results)
            {
                //Console.Out.WriteLine(workspace["_refObjectName"] + " : " + workspace["_ref"]);
                Request tagRequest = new Request("tag");
                tagRequest.Query = new Query("Name", Query.Operator.Equals, tagName);
                QueryResult tagResult = restApi.Query(tagRequest);
                if (tagResult.TotalResultCount == 0)
                {
                    Console.Out.WriteLine("TAG " + tagName + " not found, creating");
                    DynamicJsonObject newTag = new DynamicJsonObject();
                    newTag["Name"]      = tagName;
                    newTag["Workspace"] = workspace["_ref"];
                    CreateResult createResult = restApi.Create("Tag", newTag);
                    Console.Out.WriteLine(createResult.Reference + " created in workspace " + workspace["_refObjectName"]);
                }
                else
                {
                    Console.Out.WriteLine("TAG " + tagName + " found in " + workspace["_refObjectName"]);
                    Console.Out.WriteLine(tagResult.Results.First()["_refObjectName"] + " " + tagResult.Results.First()["_ref"]);
                }
            }
        }
コード例 #6
0
        private string TestHelperCreateDefect(RallyRestApi restApi, bool includeFullData = false)
        {
            var dynamicJson = new DynamicJsonObject();

            dynamicJson["Name"] = "C# Json Rest Toolkit Test Defect";
            if (includeFullData)
            {
                dynamicJson["Owner"]   = restApi.GetCurrentUser()["_ref"];
                dynamicJson["Package"] = "Package A";
            }

            CreateResult response = restApi.Create("defect", dynamicJson);

            Assert.AreEqual(0, response.Errors.Count);
            Assert.IsTrue(response.Reference.ToLower().Contains("defect"));

            return(response.Reference);
        }
コード例 #7
0
    static void Main(string[] args)
    {
        RallyRestApi      restApi      = new RallyRestApi("*****@*****.**", "secret", "https://rally1.rallydev.com", "v2.0");
        DynamicJsonObject user         = restApi.GetCurrentUser();
        String            userRef      = user["_ref"];
        String            workspaceRef = "/workspace/11111"; //use valid workspace OID in your Rally
        String            projectRef   = "/project/12345";   //use valid project OID in your Rally

        DynamicJsonObject myStory = new DynamicJsonObject();

        myStory["Name"]    = "my story";
        myStory["Project"] = projectRef;
        myStory["Owner"]   = userRef;
        CreateResult createResult = restApi.Create(workspaceRef, "HierarchicalRequirement", myStory);

        myStory = restApi.GetByReference(createResult.Reference, "FormattedID", "Owner", "Project");
        Console.WriteLine(myStory["FormattedID"] + " " + myStory["Owner"]._refObjectName + " " + myStory["Project"]._refObjectName);
    }
コード例 #8
0
    static void Main(string[] args)
    {
        RallyRestApi      restApi      = new RallyRestApi("*****@*****.**", "secret", "https://sandbox.rallydev.com", "v2.0");
        DynamicJsonObject user         = restApi.GetCurrentUser();
        String            userRef      = user["_ref"];
        String            workspaceRef = "/workspace/12352608129"; //use valid workspace OID in your Rally
        String            projectRef   = "/project/14018981229";   //use valid project OID in your Rally

        System.Diagnostics.TextWriterTraceListener myListener = new System.Diagnostics.TextWriterTraceListener("log.log", "myListener");

        try
        {
            //create story
            DynamicJsonObject myStory = new DynamicJsonObject();
            myStory["Name"]    = "my story " + DateTime.Now;
            myStory["Project"] = projectRef;
            myStory["Owner"]   = userRef;
            CreateResult createStory = restApi.Create(workspaceRef, "HierarchicalRequirement", myStory);
            myStory = restApi.GetByReference(createStory.Reference, "FormattedID", "Owner", "Project");
            myListener.WriteLine(DateTime.Now + "___________\r\n" + myStory["FormattedID"] + " Owner: " + myStory["Owner"]._refObjectName + " Project: " + myStory["Project"]._refObjectName);

            //update story
            myStory["Description"] = "updated " + DateTime.Now;

            //create tasks
            for (int i = 1; i <= 3; i++)
            {
                DynamicJsonObject myTask = new DynamicJsonObject();
                myTask["Name"]        = "task " + i + DateTime.Now;
                myTask["Owner"]       = userRef;
                myTask["State"]       = "In-Progress";
                myTask["WorkProduct"] = myStory["_ref"];
                CreateResult createTask = restApi.Create(workspaceRef, "Task", myTask);
                myTask = restApi.GetByReference(createTask.Reference, "FormattedID", "Owner", "State");
                myListener.WriteLine(myTask["FormattedID"] + " State: " + myTask["StateX"]);
            }
        }
        catch (Exception e)
        {
            myListener.WriteLine(e);
        }

        myListener.Flush();
    }
コード例 #9
0
        private void AssertCanDelete(RallyRestApi restApi, bool includeFullData = false)
        {
            var dynamicJson = new DynamicJsonObject();

            dynamicJson["Name"] = "C# Json Rest Toolkit Test Defect";
            if (includeFullData)
            {
                dynamicJson["Owner"]   = restApi.GetCurrentUser()["_ref"];
                dynamicJson["Package"] = "Package A";
            }
            CreateResult response = restApi.Create("defect", dynamicJson);

            Assert.AreEqual(0, response.Errors.Count);
            Assert.IsTrue(response.Reference.ToLower().Contains("defect"));
            OperationResult deleteResponse  = restApi.Delete(Ref.GetRelativeRef(response.Reference));
            dynamic         testDefectEmpty = restApi.GetByReference(response.Reference);

            Assert.IsNull(testDefectEmpty);
        }
コード例 #10
0
        public UserInfo GetCurrentUserInfo(string username, string password)
        {
            UserInfo userInfo;

            restApi.Authenticate(username, password, serverUrl, proxy: null, allowSSO: false);
            if (restApi.AuthenticationState == RallyRestApi.AuthenticationResult.Authenticated)
            {
                userInfo = new UserInfo();
                var response = restApi.GetCurrentUser();
                userInfo.EmailAddress = response["EmailAddress"];
                userInfo.FirstName    = response["FirstName"];
                userInfo.LastName     = response["LastName"];
                userInfo.UserName     = response["UserName"];

                return(userInfo);
            }

            return(null);
        }
コード例 #11
0
		private void AssertCanDelete(RallyRestApi restApi, bool includeFullData = false)
		{
			var dynamicJson = new DynamicJsonObject();
			dynamicJson["Name"] = "C# Json Rest Toolkit Test Defect";
			if (includeFullData)
			{
				dynamicJson["Owner"] = restApi.GetCurrentUser()["_ref"];
				dynamicJson["Package"] = "Package A";
			}
			CreateResult response = restApi.Create("defect", dynamicJson);
			Assert.AreEqual(0, response.Errors.Count);
			Assert.IsTrue(response.Reference.ToLower().Contains("defect"));
			OperationResult deleteResponse = restApi.Delete(Ref.GetRelativeRef(response.Reference));
			dynamic testDefectEmpty = restApi.GetByReference(response.Reference);
			Assert.IsNull(testDefectEmpty);
		}
コード例 #12
0
 /// <summary>
 /// Gives the current user details
 /// </summary>
 /// <returns></returns>
 public QueryResult GetCurrentUserDetails()
 {
     return(restApi.GetCurrentUser());
 }
コード例 #13
0
		private string TestHelperCreateDefect(RallyRestApi restApi, bool includeFullData = false)
		{
			var dynamicJson = new DynamicJsonObject();
			dynamicJson["Name"] = "C# Json Rest Toolkit Test Defect";
			if (includeFullData)
			{
				dynamicJson["Owner"] = restApi.GetCurrentUser()["_ref"];
				dynamicJson["Package"] = "Package A";
			}

			CreateResult response = restApi.Create("defect", dynamicJson);
			Assert.AreEqual(0, response.Errors.Count);
			Assert.IsTrue(response.Reference.ToLower().Contains("defect"));

			return response.Reference;
		}