Beispiel #1
0
        static bool HasToTriggerTryMerge(
            IRestApi restApi,
            string taskNumber,
            BotConfiguration.IssueTracker issueTrackerConfig)
        {
            if (issueTrackerConfig == null) //no issue tracker config -> just check the branch status attr
            {
                return(true);
            }

            mLog.InfoFormat("Checking if issue tracker [{0}] is available...", issueTrackerConfig.PlugName);
            if (!restApi.IsIssueTrackerConnected(issueTrackerConfig.PlugName))
            {
                mLog.WarnFormat("Issue tracker [{0}] is NOT available...", issueTrackerConfig.PlugName);
                return(false);
            }

            mLog.InfoFormat("Checking if task {0} is ready in the issue tracker [{1}].",
                            taskNumber, issueTrackerConfig.PlugName);

            string status = restApi.GetIssueTrackerField(
                issueTrackerConfig.PlugName,
                issueTrackerConfig.ProjectKey,
                taskNumber,
                issueTrackerConfig.StatusField.Name);

            mLog.DebugFormat("Issue tracker status for task [{0}]: expected [{1}], was [{2}]",
                             taskNumber, issueTrackerConfig.StatusField.ResolvedValue, status);

            return(status.ToLowerInvariant().Trim().Equals(
                       issueTrackerConfig.StatusField.ResolvedValue.ToLowerInvariant().Trim()));
        }