/// <summary> /// Gets a list of issues from a project. To narrow the list of /// returned issues, use a simple query string in the request URL. /// </summary> /// <param name="accessToken"> /// accessToken to use for the request /// </param> /// <returns> /// IssueList JSON object /// </returns> static async Task<IssuesList> GetIssuesList(AccessToken accessToken) { IssuesList responseBody = null; try { // Builds the request var url = projectName + "/issues"; var request = new HttpRequestMessage(HttpMethod.Get, url); SetRequestAccessToken(ref request, accessToken); responseBody = await SendRequest<IssuesList>(request); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); } if (responseBody != null) { for (int index = 0; index < responseBody.issues.Length; index++) System.Diagnostics.Debug.WriteLine(responseBody.issues[index].tag); } return responseBody; }
/// <summary> /// Runs the program and blocks until it completes. Most HttpClient methods are async /// because they perform network I/O. All of the async tasks are done inside RunAsync. /// Normally, an app does note block the main thread, but this app does not allow any interaction. /// </summary> static async Task RunAsync() { // S etup the client InitClient(); // Gets the list of projects ProjectList projectList; projectList = await GetProjectList(); // Gets an authorization token AccessToken accessToken; accessToken = await GetAuthorizationToken(); // Gets a list of issues IssuesList issuesList = await GetIssuesList(accessToken); // Gets issue 1 and changes a value await UpdateIssuePriorityExample(accessToken); // Adds a new Reported by record await AddReportedByRecordExample(accessToken); // Adds a workflow event await AddWorkflowEventExample(accessToken); // Generates and passes a test run await GenerateAndPassTestRun(accessToken); }