public void UpdateTestCaseInVersion(string testCaseKey, string versionName, JiraTestOutcome status)
        {
            var issue = _jiraCloudApi.GetIssue(testCaseKey);

            if (issue == null)
            {
                Debug.WriteLine($"Test case {testCaseKey} is not found in Jira");
                return;
            }

            var version = _jiraCloudApi.GetVersion(versionName);

            if (version == null)
            {
                Debug.WriteLine($"Test version {versionName} is not found in Jira");
                return;
            }

            var executions          = _zephyrCloudApi.GetExecutionsForIssue(issue.Id, issue.ProjectId);
            var executionsInVersion = executions.Where(e => e.VersionId.Equals(version.Id));

            foreach (var execution in executionsInVersion)
            {
                _zephyrCloudApi.UpdateExecution(execution, status);
            }
        }
 public void UpdateTestStatus(string testCaseKey, string versionName, JiraTestOutcome outcome)
 {
     try
     {
         UpdateTestCaseInVersion(testCaseKey, versionName, outcome);
     }
     catch (Exception e)
     {
         Debug.WriteLine($"Update test({testCaseKey}) status({outcome.ToString()}) to Zephyr failed due to {e.Message}");
     }
 }
        public void UpdateExecution(Execution execution, JiraTestOutcome status)
        {
            var updateExecution = new UpdateExecution
            {
                status = new Status {
                    id = (int)status
                },
                id        = execution.Id,
                projectId = execution.ProjectId,
                issueId   = execution.IssueId,
                cycleId   = execution.CycleId,
                versionId = execution.VersionId
            };

            UpdateExecution(execution.Id, updateExecution);
        }