mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-04 21:00:40 +08:00
35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
import os
|
|
from pr_agent.agent.pr_agent import PRAgent
|
|
from pr_agent.config_loader import get_settings
|
|
from pr_agent.tools.pr_reviewer import PRReviewer
|
|
import asyncio
|
|
|
|
async def run_action():
|
|
try:
|
|
pull_request_id = os.environ.get("BITBUCKET_PR_ID", '')
|
|
slug = os.environ.get("BITBUCKET_REPO_SLUG", '')
|
|
workspace = os.environ.get("BITBUCKET_WORKSPACE", '')
|
|
bearer_token = os.environ.get('BITBUCKET_BEARER_TOKEN', None)
|
|
OPENAI_KEY = os.environ.get('OPENAI_API_KEY') or os.environ.get('OPENAI.KEY')
|
|
OPENAI_ORG = os.environ.get('OPENAI_ORG') or os.environ.get('OPENAI.ORG')
|
|
# Check if required environment variables are set
|
|
if not bearer_token:
|
|
print("BITBUCKET_BEARER_TOKEN not set")
|
|
return
|
|
|
|
if not OPENAI_KEY:
|
|
print("OPENAI_KEY not set")
|
|
return
|
|
# Set the environment variables in the settings
|
|
get_settings().set("BITBUCKET.BEARER_TOKEN", bearer_token)
|
|
get_settings().set("OPENAI.KEY", OPENAI_KEY)
|
|
if OPENAI_ORG:
|
|
get_settings().set("OPENAI.ORG", OPENAI_ORG)
|
|
if pull_request_id and slug and workspace:
|
|
pr_url = f"https://bitbucket.org/{workspace}/{slug}/pull-requests/{pull_request_id}"
|
|
await PRReviewer(pr_url).run()
|
|
except Exception as e:
|
|
print(f"An error occurred: {e}")
|
|
if __name__ == "__main__":
|
|
asyncio.run(run_action())
|