static bool GetIssueInfo( RestApi restApi, string taskNumber, TrunkBotConfiguration.IssueTracker issuesConfig, out string taskTittle, out string taskUrl) { taskTittle = null; taskUrl = null; if (issuesConfig == null) { return(false); } mLog.InfoFormat("Obtaining task {0} title...", taskNumber); taskTittle = TrunkMergebotApi.Issues.GetIssueField( restApi, issuesConfig.Plug, issuesConfig.ProjectKey, taskNumber, issuesConfig.TitleField); mLog.InfoFormat("Obtaining task {0} URL...", taskNumber); taskUrl = TrunkMergebotApi.Issues.GetIssueUrl( restApi, issuesConfig.Plug, issuesConfig.ProjectKey, taskNumber); return(true); }
static bool IsTaskReady( RestApi restApi, string taskNumber, TrunkBotConfiguration.IssueTracker issuesConfig, bool bIsApprovedCodeReviewFilterEnabled, string branchRepository, string branchId, string codeReviewsStorageFile) { if (taskNumber == null) { return(false); } if (issuesConfig == null && !bIsApprovedCodeReviewFilterEnabled) { return(true); } if (bIsApprovedCodeReviewFilterEnabled && !AreAllCodeReviewsApprovedAtLeastOne( branchRepository, branchId, codeReviewsStorageFile)) { return(false); } if (issuesConfig == null) { return(true); } mLog.InfoFormat("Checking if issue tracker [{0}] is available...", issuesConfig.Plug); if (!TrunkMergebotApi.Issues.Connected(restApi, issuesConfig.Plug)) { mLog.WarnFormat("Issue tracker [{0}] is NOT available...", issuesConfig.Plug); return(false); } mLog.InfoFormat("Checking if task {0} is ready in the issue tracker [{1}].", taskNumber, issuesConfig.Plug); string status = TrunkMergebotApi.Issues.GetIssueField( restApi, issuesConfig.Plug, issuesConfig.ProjectKey, taskNumber, issuesConfig.StatusField.Name); mLog.DebugFormat("Issue tracker status for task [{0}]: expected [{1}], was [{2}]", taskNumber, issuesConfig.StatusField.ResolvedValue, status); return(status == issuesConfig.StatusField.ResolvedValue); }