GitHub アプリを作成し、プライベート リポジトリにインストールしました。
プル リクエストを検出し、自動的にコメントを追加し、着信 PR のテストを実行します。
PR が同じリポジトリからのものである場合は正常に機能します
が、PR が別のプライベート フォーク リポジトリからのものである場合は機能しません。(許可の問題のためだと思います)
以下のサンプル コードは、GitHub のコード (zip ファイル) を複製する方法です。
String template = "https://api.github.com/repos/%s/%s/zipball/refs/heads/%s";
String path = String.format(template, "USER", "REPOSITORY", "BRANCH");
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(path))
.header("Authorization", "Bearer " + TOKEN)
.header("Accept", "application/vnd.github.v3+json")
.build();
// returns a redirect link to download the zipped code
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, BodyHandlers.ofString());
- 点
- 元のリポジトリ / フォークされたリポジトリは両方ともプライベートです
- 私の GitHub アプリは元のリポジトリにのみインストールされます
- 私の GitHub アプリは、元のリポジトリで開かれたプル リクエストを検出します
- 私の GitHub アプリは、プル リクエストのソース ファイルをダウンロードしようとします。
- プル リクエストのソースが Fork からのものである場合に失敗する