-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
Jenkins 2.289
GitHub Api 1.117
GitHub Branch Source 2.9.3
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/{owner}/{repository}/git/refs/heads/{branch} and /repos/{owner}/{repository} endpoints.
The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these calls. The repo is not configured for polling and it is configured with the Discover All branches strategy.
Our Shared Library is also configured to use the GitHub SCM with a GitHub App and checkout over SSH, but we only have 1 call to /repos/{owner}/{repository} and 1 to /repos/{owner}/{repository}/branches/{branch} per build which seems normal. Although, some caching could be done there as well to further reduce the amount of calls.
[JENKINS-65725] Too many calls to the GitHub API cause throttling
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. ``` path_info request_method count /repos/{owner}/{repository} get 798 /repos/{owner}/{repository}/git/refs/heads/branch1 get 75 /repos/{owner}/{repository}/git/refs/heads/branch2 get 38 /repos/{owner}/{repository}/contents/ get 21 /repos/{owner}/{repository}/git/refs/heads/branch3 get 20 /repos/{owner}/{repository}/git/refs/heads/branch4 get 20 /repos/{owner}/{repository}/git/refs/heads/branch5 get 20 /repos/{owner}/{repository}/git/refs/heads/branch6 get 20 /repos/{owner}/{repository}/git/refs/heads/branch7 get 17 /repos/{owner}/{repository}/contents/Jenkinsfile get 13 /repos/{owner}/{repository}/git/refs/heads/branch8 get 11 /repos/{owner}/{repository}/branches/branch1 get 9 /repos/{owner}/{repository}/git/refs/heads/master get 9 /repos/{owner}/{repository}/branches/branch2 get 2 /repos/{owner}/{repository}/branches/branch8 get 2 /repos/{owner}/{repository}/branches/branch3 get 2 /repos/{owner}/{repository}/branches/branch7 get 2 /repos/{owner}/{repository}/branches/branch4 get 2 /repos/{owner}/{repository}/branches/branch5 get 1 /repos/{owner}/{repository}/branches/branch6 get 1 ``` The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. ||path_info||request_method|count|| |/repos/{owner}/{repository}|get|798| |/repos/{owner}/{repository}/git/refs/heads/branch1|get|75| |/repos/{owner}/{repository}/git/refs/heads/branch2|get|38| |/repos/{owner}/{repository}/contents/|get|21| |/repos/{owner}/{repository}/git/refs/heads/branch3|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch4|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch5|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch6|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch7|get|17| |/repos/{owner}/{repository}/contents/Jenkinsfile|get|13| |/repos/{owner}/{repository}/git/refs/heads/branch8|get|11| |/repos/{owner}/{repository}/branches/branch1|get|9| |/repos/{owner}/{repository}/git/refs/heads/master|get|9| |/repos/{owner}/{repository}/branches/branch2|get|2| |/repos/{owner}/{repository}/branches/branch8|get|2| |/repos/{owner}/{repository}/branches/branch3|get|2| |/repos/{owner}/{repository}/branches/branch7|get|2| |/repos/{owner}/{repository}/branches/branch4|get|2| |/repos/{owner}/{repository}/branches/branch5|get|1| |/repos/{owner}/{repository}/branches/branch6|get|1| The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. ||path_info||request_method|count|| |/repos/{owner}/{repository}|get|798| |/repos/{owner}/{repository}/git/refs/heads/branch1|get|75| |/repos/{owner}/{repository}/git/refs/heads/branch2|get|38| |/repos/{owner}/{repository}/contents/|get|21| |/repos/{owner}/{repository}/git/refs/heads/branch3|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch4|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch5|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch6|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch7|get|17| |/repos/{owner}/{repository}/contents/Jenkinsfile|get|13| |/repos/{owner}/{repository}/git/refs/heads/branch8|get|11| |/repos/{owner}/{repository}/branches/branch1|get|9| |/repos/{owner}/{repository}/git/refs/heads/master|get|9| |/repos/{owner}/{repository}/branches/branch2|get|2| |/repos/{owner}/{repository}/branches/branch8|get|2| |/repos/{owner}/{repository}/branches/branch3|get|2| |/repos/{owner}/{repository}/branches/branch7|get|2| |/repos/{owner}/{repository}/branches/branch4|get|2| |/repos/{owner}/{repository}/branches/branch5|get|1| |/repos/{owner}/{repository}/branches/branch6|get|1| The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. ||Heading 1||Heading 2|| |Col A1|Col A2| ||path_info||request_method||count|| |/repos/{owner}/{repository}|get|798| |/repos/{owner}/{repository}/git/refs/heads/branch1|get|75| |/repos/{owner}/{repository}/git/refs/heads/branch2|get|38| |/repos/{owner}/{repository}/contents/|get|21| |/repos/{owner}/{repository}/git/refs/heads/branch3|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch4|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch5|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch6|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch7|get|17| |/repos/{owner}/{repository}/contents/Jenkinsfile|get|13| |/repos/{owner}/{repository}/git/refs/heads/branch8|get|11| |/repos/{owner}/{repository}/branches/branch1|get|9| |/repos/{owner}/{repository}/git/refs/heads/master|get|9| |/repos/{owner}/{repository}/branches/branch2|get|2| |/repos/{owner}/{repository}/branches/branch8|get|2| |/repos/{owner}/{repository}/branches/branch3|get|2| |/repos/{owner}/{repository}/branches/branch7|get|2| |/repos/{owner}/{repository}/branches/branch4|get|2| |/repos/{owner}/{repository}/branches/branch5|get|1| |/repos/{owner}/{repository}/branches/branch6|get|1| The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
Attachment | New: screenshot-1.png [ 54881 ] |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. ||Heading 1||Heading 2|| |Col A1|Col A2| ||path_info||request_method||count|| |/repos/{owner}/{repository}|get|798| |/repos/{owner}/{repository}/git/refs/heads/branch1|get|75| |/repos/{owner}/{repository}/git/refs/heads/branch2|get|38| |/repos/{owner}/{repository}/contents/|get|21| |/repos/{owner}/{repository}/git/refs/heads/branch3|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch4|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch5|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch6|get|20| |/repos/{owner}/{repository}/git/refs/heads/branch7|get|17| |/repos/{owner}/{repository}/contents/Jenkinsfile|get|13| |/repos/{owner}/{repository}/git/refs/heads/branch8|get|11| |/repos/{owner}/{repository}/branches/branch1|get|9| |/repos/{owner}/{repository}/git/refs/heads/master|get|9| |/repos/{owner}/{repository}/branches/branch2|get|2| |/repos/{owner}/{repository}/branches/branch8|get|2| |/repos/{owner}/{repository}/branches/branch3|get|2| |/repos/{owner}/{repository}/branches/branch7|get|2| |/repos/{owner}/{repository}/branches/branch4|get|2| |/repos/{owner}/{repository}/branches/branch5|get|1| |/repos/{owner}/{repository}/branches/branch6|get|1| The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the `/repos/{owner}/{repository}/git/refs/heads/{branch}` and `/repos/{owner}/{repository}` endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/{owner}/{repository}/git/refs/heads/{branch} and /repos/{owner}/{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/{owner}/{repository}/git/refs/heads/{branch} and /repos/{owner}/{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/{owner}/{repository}/git/refs/heads/{branch} and {{/repos/{owner}/{repository}}} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/{owner}/{repository}/git/refs/heads/{branch} and {{/repos/{owner}/{repository}}} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/\{owner}/\{repository}/git/refs/heads/\{branch} and /repos/\{owner}/\{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/\{owner}/\{repository}/git/refs/heads/\{branch} and /repos/\{owner}/\{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these call |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/\{owner}/\{repository}/git/refs/heads/\{branch} and /repos/\{owner}/\{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these calls. The repo is not configured for polling and it is configured with the Discover All branches strategy. |
Description |
Original:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/\{owner}/\{repository}/git/refs/heads/\{branch} and /repos/\{owner}/\{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these calls. The repo is not configured for polling and it is configured with the Discover All branches strategy. |
New:
We have a multibranch pipeline configured with a GitHub App credential. We use the SSH checkout trait with another ssh credential to perform the checkout.
For one repository only, we hit about 1000 calls, excluding our shared library, to the github API with our GitHub App token. Here is the details of these calls for 1h in a single repository. We can see that there is quite a high amount of calls to the /repos/\{owner}/\{repository}/git/refs/heads/\{branch} and /repos/\{owner}/\{repository} endpoints. !screenshot-1.png|thumbnail! The high amount of calls cause our builds to sleep so we avoid being rate limited by GitHub. I believe Github branch source plugin is making most of these calls. The repo is *not* configured for polling and it is configured with the _Discover All branches_ strategy. |