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;
        }