Esempio n. 1
0
        // / <summary>
        // /
        // / </summary>
        // / <param name="project"></param>
        // / <returns></returns>
        public GetWorkItemsWIQLResponse.Results GetListOfWorkItems_ByWiql(string project)
        {
            GetWorkItemsWIQLResponse.Results viewModel = new GetWorkItemsWIQLResponse.Results();

            // create wiql object
            Object wiql = new {
                query = "Select [State], [Title] " +
                        "From WorkItems " +
                        "Where [Work Item Type] = 'Bug' " +
                        "And [System.TeamProject] = '" + project + "' " +
                        "And [System.State] = 'New' " +
                        "Order By [State] Asc, [Changed Date] Desc"
            };

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

                var postValue = new StringContent(JsonConvert.SerializeObject(wiql), Encoding.UTF8, "application/json"); // mediaType needs to be application/json-patch+json for a patch call

                // set the httpmethod to Patch
                var method = new HttpMethod("POST");

                // send the request
                var request = new HttpRequestMessage(method, _configuration.UriString + "_apis/wit/wiql?api-version=2.2")
                {
                    Content = postValue
                };
                var response = client.SendAsync(request).Result;

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

                viewModel.HttpStatusCode = response.StatusCode;

                return(viewModel);
            }
        }
Esempio n. 2
0
        public void WIQL_GetListOfWorkItemsByWiql_Success()
        {
            // arrange
            WIQL request = new WIQL(_configuration);

            // act
            GetWorkItemsWIQLResponse.Results response = request.GetListOfWorkItems_ByWiql(_configuration.Project);

            // assert
            if (response.HttpStatusCode == HttpStatusCode.NotFound)
            {
                Assert.Inconclusive("no query results found");
            }
            else
            {
                Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode);
            }

            request = null;
        }
Esempio n. 3
0
        // / <summary>
        // / get list of work item by query id
        // / </summary>
        // / <param name="id">query id</param>
        // / <returns></returns>
        public GetWorkItemsWIQLResponse.Results GetListOfWorkItems_ByQueryId(string project, string id)
        {
            GetWorkItemsWIQLResponse.Results viewModel = new GetWorkItemsWIQLResponse.Results();

            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/wiql/" + id + "?api-version=2.2").Result;

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

                viewModel.HttpStatusCode = response.StatusCode;

                return(viewModel);
            }
        }