diff --git a/github_assign/autokitteh.yaml b/github_assign/autokitteh.yaml index d3c58993..d33cb39a 100644 --- a/github_assign/autokitteh.yaml +++ b/github_assign/autokitteh.yaml @@ -10,12 +10,12 @@ project: triggers: - name: assign_issue_comment connection: github - event_type: issue_comment + event_type: slash_command call: handlers.py:on_assign_issue_comment - filter: "data.comment.body.startsWith('/assign') && (data.action in ['created', 'edited'])" + filter: "data.actual_event_type == 'issue_comment' && data.actual_data.action == 'created' && data.command.name == 'assign'" - name: unassign_issue_comment connection: github - event_type: issue_comment + event_type: slash_command call: handlers.py:on_unassign_issue_comment - filter: "data.comment.body.startsWith('/unassign') && (data.action in ['created', 'edited'])" + filter: "data.actual_event_type == 'issue_comment' && data.actual_data.action == 'created' && data.command.name == 'unassign'" diff --git a/github_assign/handlers.py b/github_assign/handlers.py index 536aa823..5e0d8843 100644 --- a/github_assign/handlers.py +++ b/github_assign/handlers.py @@ -9,18 +9,9 @@ def on_assign_issue_comment(event: Event) -> None: """Handle /assign commands in issue comments""" - data = event.data - + assignees = [a.removeprefix("@") for a in event.data.command.args] + data = event.data.actual_data comment = data["comment"] - cmd = comment["body"].strip().split() - - print(f"command: {cmd!r}") - - if not cmd[0].startswith("/assign"): - print("irrelevant command") - return - - assignees = [a.removeprefix("@") for a in cmd[1:]] repo = github.get_repo(data["repository"]["full_name"]) issue = repo.get_issue(number=data["issue"]["number"]) @@ -61,18 +52,9 @@ def on_assign_issue_comment(event: Event) -> None: def on_unassign_issue_comment(event: Event) -> None: """Handle /unassign commands in issue comments""" - data = event.data - + assignees = [a.removeprefix("@") for a in event.data.command.args] + data = event.data.actual_data comment = data["comment"] - cmd = comment["body"].strip().split() - - print(f"command: {cmd!r}") - - if not cmd[0].startswith("/unassign"): - print("irrelevant command") - return - - assignees = [a.removeprefix("@") for a in cmd[1:]] repo = github.get_repo(data["repository"]["full_name"]) issue = repo.get_issue(number=data["issue"]["number"]) diff --git a/github_review/autokitteh.yaml b/github_review/autokitteh.yaml index 79e82be0..8a61bd3a 100644 --- a/github_review/autokitteh.yaml +++ b/github_review/autokitteh.yaml @@ -10,12 +10,12 @@ project: triggers: - name: review_issue_comment connection: github - event_type: issue_comment + event_type: slash_command call: handlers.py:on_review_issue_comment - filter: "data.comment.body.startsWith('/review') && (data.action in ['created', 'edited'])" + filter: "data.actual_event_type == 'issue_comment' && data.actual_data.action == 'created' && data.command.name == 'review'" - name: unreview_issue_comment connection: github - event_type: issue_comment + event_type: slash_command call: handlers.py:on_unreview_issue_comment - filter: "data.comment.body.startsWith('/unreview') && (data.action in ['created', 'edited'])" + filter: "data.actual_event_type == 'issue_comment' && data.actual_data.action == 'created' && data.command.name == 'unreview'" diff --git a/github_review/handlers.py b/github_review/handlers.py index c34a3143..a4991743 100644 --- a/github_review/handlers.py +++ b/github_review/handlers.py @@ -9,18 +9,9 @@ def on_review_issue_comment(event: Event) -> None: """Handle /review commands in issue comments""" - data = event.data - + reviewers = [a.removeprefix("@") for a in event.data.command.args] + data = event.data.actual_data comment = data["comment"] - cmd = comment["body"].strip().split() - - print(f"command: {cmd!r}") - - if not cmd[0].startswith("/review"): - print("irrelevant command") - return - - reviewers = [a.removeprefix("@") for a in cmd[1:]] repo = github.get_repo(data["repository"]["full_name"]) n = data["issue"]["number"] @@ -68,18 +59,9 @@ def on_review_issue_comment(event: Event) -> None: def on_unreview_issue_comment(event: Event) -> None: """Handle /unreview commands in issue comments""" - data = event.data - + reviewers = [a.removeprefix("@") for a in event.data.command.args] + data = event.data.actual_data comment = data["comment"] - cmd = comment["body"].strip().split() - - print(f"command: {cmd!r}") - - if not cmd[0].startswith("/unreview"): - print("irrelevant command") - return - - reviewers = [a.removeprefix("@") for a in cmd[1:]] repo = github.get_repo(data["repository"]["full_name"]) n = data["issue"]["number"]