danger-js icon indicating copy to clipboard operation
danger-js copied to clipboard

GitHub: use files API with pagination

Open fabianehlert opened this issue 9 months ago • 0 comments

Switched from using the GitHub API Get a pull request to the List pull requests files API, incorporating pagination to retrieve pull request diffs. This change enables the analysis of pull requests containing more than 300 files.

Although the 300 file limit on the "Get a pull request" API isn't new, GitHub recently began enforcing it with a HTTP 406 status code. Currently, Danger is failing when analyzing pull requests exceeding this limit.

The "List pull requests files" API returns a slightly different git diff format, omitting the initial diff --git … part which parse-diff expects. As a hack, I'm adding it manually now.

Happy to hear your feedback on this approach :)

Fixes https://github.com/danger/danger-js/issues/1432 and https://github.com/danger/swift/issues/606

fabianehlert avatar Apr 27 '24 20:04 fabianehlert