From 4cb8ae6c8a8d69d906b330d3c70da084f28e8873 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 21 Feb 2022 14:19:08 +0000 Subject: [PATCH] Try to avoid hitting secondary rate limit when opening issues GitHub employs a secondary rate limit for actions that can trigger notifications, such as opening a new issue. To avoid hitting this limit, they recommend [1] waiting at least one second between each request. This commit attempts to comply with this guidance by adding a one-second sleep prior to each POST request that opens an issue. Closes gh-29879 [1] https://docs.github.com/en/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits --- .../build/bom/bomr/github/StandardGitHubRepository.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/github/StandardGitHubRepository.java b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/github/StandardGitHubRepository.java index 819a79a7bb..ea98d1ce9c 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/github/StandardGitHubRepository.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/github/StandardGitHubRepository.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,6 +50,12 @@ final class StandardGitHubRepository implements GitHubRepository { requestBody.put("labels", labels); } requestBody.put("body", body); + try { + Thread.sleep(1000); + } + catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } ResponseEntity response = this.rest.postForEntity("issues", requestBody, Map.class); return (Integer) response.getBody().get("number"); }