File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22import requests
33
44def get_diff ():
5- # GitHub repo info and PR number are available in GitHub Actions env
65 repo = os .environ .get ("GITHUB_REPOSITORY" ) # e.g. "owner/repo"
7- pr_number = os .environ .get ("GITHUB_REF" ). split ( "/" )[ - 1 ] # e.g. "42 "
6+ ref = os .environ .get ("GITHUB_REF" ) # e.g. "refs/pull/123/merge "
87
9- if not repo or not pr_number :
10- raise Exception ("Missing GitHub repository or PR number environment variables." )
8+ if not repo or not ref :
9+ raise Exception ("Missing GitHub repository or ref environment variables." )
10+
11+ # Extract PR number safely:
12+ parts = ref .split ("/" )
13+ if len (parts ) >= 3 and parts [- 3 ] == "pull" :
14+ pr_number = parts [- 2 ]
15+ else :
16+ raise Exception (f"Unexpected GITHUB_REF format: { ref } " )
1117
1218 token = os .environ .get ("GITHUB_TOKEN" )
1319 if not token :
@@ -21,8 +27,6 @@ def get_diff():
2127 url = f"https://api.github.com/repos/{ repo } /pulls/{ pr_number } /files"
2228
2329 diffs = []
24-
25- # Pagination handling in case there are many files
2630 page = 1
2731 while True :
2832 response = requests .get (url , headers = headers , params = {"page" : page , "per_page" : 100 })
@@ -39,4 +43,3 @@ def get_diff():
3943 page += 1
4044
4145 return "\n " .join (diffs )
42-
You can’t perform that action at this time.
0 commit comments