/// <summary>
 /// Get Iteration
 /// </summary>
 /// <param name="projectName"></param>
 /// <returns></returns>
 public GetNodesResponse.Nodes GetIterations(string projectName)
 {
     try
     {
         GetNodesResponse.Nodes viewModel = new GetNodesResponse.Nodes();
         using (HttpClient client = GetHttpClient())
         {
             HttpResponseMessage response = client.GetAsync(string.Format("{0}/_apis/wit/classificationNodes/iterations?$depth=5&api-version=" + _configuration.VersionNumber, projectName)).Result;
             if (response.IsSuccessStatusCode)
             {
                 if (response.IsSuccessStatusCode)
                 {
                     viewModel = response.Content.ReadAsAsync <GetNodesResponse.Nodes>().Result;
                     return(viewModel);
                 }
                 viewModel.HttpStatusCode = response.StatusCode;
             }
         }
     }
     catch (Exception ex)
     {
         logger.Debug(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + "CreateNewTeam" + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n");
     }
     return(new GetNodesResponse.Nodes());
 }
        /// <summary>
        /// Get Iteration
        /// </summary>
        /// <param name="projectName"></param>
        /// <returns></returns>
        public GetNodesResponse.Nodes GetIterations(string projectName)
        {
            GetNodesResponse.Nodes viewModel = new GetNodesResponse.Nodes();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_configuration.UriString);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _credentials);

                HttpResponseMessage response = client.GetAsync(string.Format("{0}/_apis/wit/classificationNodes/iterations?$depth=5&api-version=1.0", projectName)).Result;
                if (response.IsSuccessStatusCode)
                {
                    if (response.IsSuccessStatusCode)
                    {
                        viewModel = response.Content.ReadAsAsync <GetNodesResponse.Nodes>().Result;
                    }

                    viewModel.HttpStatusCode = response.StatusCode;
                }
            }

            return(viewModel);
        }
        private void walkTreedNode(HttpClient client, string project, GetNodesResponse.Nodes node, string nodePath, List <string> list)
        {
            HttpResponseMessage response;

            GetNodesResponse.Nodes result;
            string name = string.Empty;

            foreach (var item in node.children)
            {
                if (String.IsNullOrEmpty(nodePath))
                {
                    name = item.name;
                }
                else
                {
                    name = nodePath + "/" + item.name;
                }

                list.Add(name);

                if (item.hasChildren)
                {
                    response = client.GetAsync(project + "/_apis/wit/classificationNodes/iterations/" + name + "?api-version=2.2&$depth=2").Result;

                    if (response.IsSuccessStatusCode)
                    {
                        result = response.Content.ReadAsAsync <GetNodesResponse.Nodes>().Result;

                        walkTreedNode(client, project, result, name, list);
                    }
                }
            }
        }
        public List <string> GetIterationTree(string project)
        {
            GetNodesResponse.Nodes result = new GetNodesResponse.Nodes();
            List <string>          list   = new List <string>();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_configuration.UriString);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _credentials);

                HttpResponseMessage response = client.GetAsync(project + "/_apis/wit/classificationNodes/iterations?api-version=2.2&$depth=2").Result;

                if (response.IsSuccessStatusCode)
                {
                    result = response.Content.ReadAsAsync <GetNodesResponse.Nodes>().Result;

                    //list.Add(result.name);
                    walkTreedNode(client, project, result, "", list);
                }

                return(list);
            }
        }
Example #5
0
        public void GetIterations()
        {
            ClassificationNodes cNodes = new ClassificationNodes(_sourceConfig);

            GetNodesResponse.Nodes iterationNodes = cNodes.GetIterations(_sourceConfig.Project);

            string fetchedPBIsJSON = JsonConvert.SerializeObject(iterationNodes, Formatting.Indented);

            System.IO.File.WriteAllText(@"Templates\Iterations.json", fetchedPBIsJSON);
        }
        public void WorkItemTracking_Nodes_GetIterations_Success()
        {
            // arrange
            ClassificationNodes request = new ClassificationNodes(_configuration);

            // act
            GetNodesResponse.Nodes response = request.GetIterations(_configuration.Project);

            //assert
            Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode);

            request = null;
        }
        public void WorkItemTracking_Nodes_GetIteration_Success()
        {
            // arrange
            string path = System.Guid.NewGuid().ToString().ToUpper().Substring(0, 15);
            ClassificationNodes request = new ClassificationNodes(_configuration);

            // act
            GetNodeResponse.Node   createResponse = request.CreateIteration(_configuration.Project, path);
            GetNodesResponse.Nodes getResponse    = request.GetIteration(_configuration.Project, path);

            //assert
            Assert.AreEqual(HttpStatusCode.Created, createResponse.HttpStatusCode);
            Assert.AreEqual(HttpStatusCode.OK, getResponse.HttpStatusCode);

            request = null;
        }
Example #8
0
        public GetNodesResponse.Nodes GetArea(string project, string path)
        {
            GetNodesResponse.Nodes viewModel = new GetNodesResponse.Nodes();

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_configuration.UriString);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _credentials);

                HttpResponseMessage response = client.GetAsync(project + "/_apis/wit/classificationNodes/areas/" + path + "?api-version=2.2").Result;

                if (response.IsSuccessStatusCode)
                {
                    viewModel = response.Content.ReadAsAsync <GetNodesResponse.Nodes>().Result;
                }

                viewModel.HttpStatusCode = response.StatusCode;

                return(viewModel);
            }
        }