diff --git a/pr_agent/servers/github_action_runner.py b/pr_agent/servers/github_action_runner.py index 94577211..0bda9150 100644 --- a/pr_agent/servers/github_action_runner.py +++ b/pr_agent/servers/github_action_runner.py @@ -37,7 +37,6 @@ async def run_action(): OPENAI_KEY = os.environ.get('OPENAI_KEY') or os.environ.get('OPENAI.KEY') OPENAI_ORG = os.environ.get('OPENAI_ORG') or os.environ.get('OPENAI.ORG') GITHUB_TOKEN = os.environ.get('GITHUB_TOKEN') - # get_settings().set("CONFIG.PUBLISH_OUTPUT_PROGRESS", False) # Check if required environment variables are set if not GITHUB_EVENT_NAME: @@ -54,7 +53,6 @@ async def run_action(): if OPENAI_KEY: get_settings().set("OPENAI.KEY", OPENAI_KEY) else: - # Might not be set if the user is using models not from OpenAI print("OPENAI_KEY not set") if OPENAI_ORG: get_settings().set("OPENAI.ORG", OPENAI_ORG) @@ -83,10 +81,13 @@ async def run_action(): # Handle pull request event if GITHUB_EVENT_NAME == "pull_request": action = event_payload.get("action") - if action in ["opened", "reopened", "ready_for_review", "review_requested"]: + + # Retrieve the list of actions from the configuration + pr_actions = get_settings().get("GITHUB_ACTION_CONFIG.PR_ACTIONS", ["opened", "reopened", "ready_for_review", "review_requested"]) + + if action in pr_actions: pr_url = event_payload.get("pull_request", {}).get("url") if pr_url: - # legacy - supporting both GITHUB_ACTION and GITHUB_ACTION_CONFIG auto_review = get_setting_or_env("GITHUB_ACTION.AUTO_REVIEW", None) if auto_review is None: auto_review = get_setting_or_env("GITHUB_ACTION_CONFIG.AUTO_REVIEW", None) @@ -97,7 +98,6 @@ async def run_action(): if auto_improve is None: auto_improve = get_setting_or_env("GITHUB_ACTION_CONFIG.AUTO_IMPROVE", None) - # invoke by default all three tools if auto_describe is None or is_true(auto_describe): get_settings().pr_description.final_update_message = False # No final update message when auto_describe is enabled await PRDescription(pr_url).run() @@ -127,7 +127,7 @@ async def run_action(): if event_payload.get("issue", {}).get("pull_request"): url = event_payload.get("issue", {}).get("pull_request", {}).get("url") is_pr = True - elif event_payload.get("comment", {}).get("pull_request_url"): # for 'pull_request_review_comment + elif event_payload.get("comment", {}).get("pull_request_url"): url = event_payload.get("comment", {}).get("pull_request_url") is_pr = True disable_eyes = True