Просмотр исходного кода

only return open PRs for selected git branches of an environment

Mohammed Nafees 3 лет назад
Родитель
Сommit
e25ac3b8e6
1 измененных файлов с 13 добавлено и 0 удалено
  1. 13 0
      api/server/handlers/environment/list_deployments_by_cluster.go

+ 13 - 0
api/server/handlers/environment/list_deployments_by_cluster.go

@@ -235,6 +235,13 @@ func fetchOpenPullRequests(
 	env *models.Environment,
 	env *models.Environment,
 	deplInfoMap map[string]bool,
 	deplInfoMap map[string]bool,
 ) ([]*types.PullRequest, error) {
 ) ([]*types.PullRequest, error) {
+	branchesMap := make(map[string]bool)
+	envType := env.ToEnvironmentType()
+
+	for _, br := range envType.GitRepoBranches {
+		branchesMap[br] = true
+	}
+
 	openPRs, resp, err := client.PullRequests.List(ctx, env.GitRepoOwner, env.GitRepoName,
 	openPRs, resp, err := client.PullRequests.List(ctx, env.GitRepoOwner, env.GitRepoName,
 		&github.PullRequestListOptions{
 		&github.PullRequestListOptions{
 			ListOptions: github.ListOptions{
 			ListOptions: github.ListOptions{
@@ -269,6 +276,12 @@ func fetchOpenPullRequests(
 	}
 	}
 
 
 	for _, pr := range openPRs {
 	for _, pr := range openPRs {
+		if len(envType.GitRepoBranches) > 0 {
+			if _, ok := branchesMap[pr.GetHead().GetRef()]; !ok {
+				continue
+			}
+		}
+
 		if _, ok := deplInfoMap[fmt.Sprintf("%s-%s-%d", env.GitRepoOwner, env.GitRepoName, pr.GetNumber())]; !ok {
 		if _, ok := deplInfoMap[fmt.Sprintf("%s-%s-%d", env.GitRepoOwner, env.GitRepoName, pr.GetNumber())]; !ok {
 			prs = append(prs, &types.PullRequest{
 			prs = append(prs, &types.PullRequest{
 				Title:      pr.GetTitle(),
 				Title:      pr.GetTitle(),