public static JiraIssue CreateIssue(string testCaseName, bool attachReport) { CheckIfClientConnected(); JiraConfiguration config = JiraConfiguration.Instance; if (GetIssueType(config.JiraProjectKey, config.JiraIssueType) == null) { throw (new Exception(String.Format("Issue Type '{0}' not found!", config.JiraIssueType))); } Issue issue = client.CreateIssue(config.JiraProjectKey); issue.Type = config.JiraIssueType; updateStandardFields(issue, testCaseName); addCustomFields(issue, testCaseName); addCustomCascadingFields(issue); issue.SaveChanges(); string newDesc = updateDescription(issue, config); if (newDesc.Length > 0) { issue.Description = newDesc; } if (attachReport) { addRanorexReport(issue); } issue.SaveChanges(); var jiraIssue = new JiraIssue(issue.Key.ToString(), issue.JiraIdentifier); return(jiraIssue); }
public static JiraIssue ChangeState(string issueKey, string transitionName, bool attachReport) { CheckIfClientConnected(); Issue issue = client.Issues.GetIssueAsync(issueKey, CancellationToken.None).Result; JiraIssue jiraIssue = new JiraIssue(issue.Key.ToString(), issue.JiraIdentifier); issue.WorkflowTransitionAsync(transitionName).GetAwaiter().GetResult(); if (issue == null) { throw new Ranorex.RanorexException(String.Format("Transition '{0}' was not found, unable to change the state of the issue", transitionName)); } if (attachReport) { addRanorexReport(issue); } issue.SaveChanges(); return(jiraIssue); }
public static JiraIssue CreateIssue(string testCaseName, string summary, string description, List<string> labels, string issueType, string projectKey, bool attachReport) { CheckIfClientConnected(); TechTalk.JiraRestClient.IssueFields fields = new TechTalk.JiraRestClient.IssueFields(); fields.summary = testCaseName + ": " + summary; fields.description = description; fields.labels = labels; fields.timetracking = null; // not supported by the JiraClient yet //fields.issuePriority = "1"; if (GetIssueType(issueType) == null) throw (new Exception(String.Format("Issue Type '{0}' not found!", issueType))); var createdIssue = _client.CreateIssue(projectKey, issueType, fields); if (attachReport) UploadRannorexReport(createdIssue); var issue = new JiraIssue(createdIssue.key, createdIssue.id); return (issue); }
public static JiraIssue ResolveIssue(string issueKey, bool attachReport) { CheckIfClientConnected(); var curIssue = _client.LoadIssue(issueKey); if(curIssue == null) throw (new Exception(String.Format("Could not load issue '{0}'!", issueKey))); JiraIssue issue = null; IEnumerable<TechTalk.JiraRestClient.Transition> transitions = _client.GetTransitions(curIssue); foreach (TechTalk.JiraRestClient.Transition trans in transitions) { if (trans.to.name.Contains("Resolved")) { trans.fields = null; _client.TransitionIssue(curIssue, trans); issue = new JiraIssue(curIssue.key, curIssue.id); break; } } if (attachReport) UploadRannorexReport(curIssue); return issue; }