private static async Task CommitToGitHub()

in eventarc-events/EventListGenerator/Program.cs [148:168]


        private static async Task CommitToGitHub(string filePath)
        {
            var token = Environment.GetEnvironmentVariable("GITHUB_TOKEN");
            if (string.IsNullOrEmpty(token))
            {
                return;
            }

            var gitHubClient = new GitHubClient(new ProductHeaderValue("EventListGenerator"));
            gitHubClient.Credentials = new Credentials(token);

            var gitHubFilePath = Path.Combine(GITHUB_OUTPUT_PATH, filePath);

            var fileDetails = await gitHubClient.Repository.Content.GetAllContentsByRef(GITHUB_OWNER, GITHUB_REPO,
                gitHubFilePath, GITHUB_BRANCH);

            var updateResult = await gitHubClient.Repository.Content.UpdateFile(GITHUB_OWNER, GITHUB_REPO,
                gitHubFilePath, new UpdateFileRequest($"Automatic update of {Path.GetFileName(filePath)}", File.ReadAllText(filePath), fileDetails.First().Sha));

            Console.WriteLine($"File committed to GitHub: {updateResult.Commit.Sha}");
        }