File tree Expand file tree Collapse file tree 2 files changed +7
-3
lines changed Expand file tree Collapse file tree 2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -211,7 +211,7 @@ module Action (Github_api : Api.Github) (Slack_api : Api.Slack) = struct
211
211
let do_github_tasks ctx (req : Github.t ) =
212
212
let cfg = Context. get_config_exn ctx in
213
213
let project_owners (pull_request : pull_request ) repository number =
214
- match Github. get_project_owners pull_request.labels cfg.project_owners with
214
+ match Github. get_project_owners pull_request cfg.project_owners with
215
215
| Some reviewers ->
216
216
( match % lwt Github_api. request_reviewers ~ctx ~repo: repository ~number ~reviewers with
217
217
| Ok () -> Lwt. return_unit
Original file line number Diff line number Diff line change @@ -140,8 +140,8 @@ let gh_link_of_string url_str =
140
140
end
141
141
| _ | (exception Re2.Exceptions. Regex_match_failed _ ) -> None
142
142
143
- let get_project_owners (labels : label list ) ({ rules } : Config_t.project_owners ) =
144
- List. fold_left labels ~init: [] ~f: (fun acc l -> List. rev_append (Rule.Project_owners. match_rules l ~rules ) acc)
143
+ let get_project_owners (pr : pull_request ) ({ rules } : Config_t.project_owners ) =
144
+ List. fold_left pr. labels ~init: [] ~f: (fun acc l -> List. rev_append (Rule.Project_owners. match_rules l ~rules ) acc)
145
145
|> List. dedup_and_sort ~compare: String. compare
146
146
|> List. partition_map ~f: (fun reviewer ->
147
147
try
@@ -150,4 +150,8 @@ let get_project_owners (labels : label list) ({ rules } : Config_t.project_owner
150
150
with Re2.Exceptions. Regex_match_failed _ -> First reviewer
151
151
)
152
152
|> fun (reviewers , team_reviewers ) ->
153
+ let already_requested = List. map ~f: (fun r -> r.login) pr.requested_reviewers in
154
+ let already_requested_team = List. map ~f: (fun r -> r.slug) pr.requested_teams in
155
+ let reviewers = List. filter ~f: (not $ List. mem already_requested ~equal: String. equal) reviewers in
156
+ let team_reviewers = List. filter ~f: (not $ List. mem already_requested_team ~equal: String. equal) team_reviewers in
153
157
if List. is_empty reviewers && List. is_empty team_reviewers then None else Some { reviewers; team_reviewers }
You can’t perform that action at this time.
0 commit comments