@octokit/plugin-retry v8.0.1
plugin-retry.js
Retries requests for server 4xx/5xx responses except
400,401,403,404,410,422, and451.
Usage
Load @octokit/plugin-retry and @octokit/core (or core-compatible module) directly from esm.sh
<script type="module">
import { Octokit } from "https://esm.sh/@octokit/core";
import { retry } from "https://esm.sh/@octokit/plugin-retry";
</script>Install with npm install @octokit/core @octokit/plugin-retry. Optionally replace @octokit/core with a core-compatible module
import { Octokit } from "@octokit/core";
import { retry } from "@octokit/plugin-retry";!IMPORTANT As we use conditional exports, you will need to adapt your
tsconfig.jsonby setting"moduleResolution": "node16", "module": "node16".See the TypeScript docs on package.json "exports". See this helpful guide on transitioning to ESM from @sindresorhus
const MyOctokit = Octokit.plugin(retry);
const octokit = new MyOctokit({ auth: "secret123" });
// retries request up to 3 times in case of a 500 response
octokit.request("/").catch((error) => {
if (error.request.request.retryCount) {
console.log(
`request failed after ${error.request.request.retryCount} retries`,
);
}
console.error(error);
});To override the default doNotRetry list:
const octokit = new MyOctokit({
auth: "secret123",
retry: {
doNotRetry: [
/* List of HTTP 4xx/5xx status codes */
],
},
});To override the number of retries:
const octokit = new MyOctokit({
auth: "secret123",
request: { retries: 1 },
});You can manually ask for retries for any request by passing { request: { retries: numRetries, retryAfter: delayInSeconds }}. Note that the doNotRetry option from the constructor is ignored in this case, requests will be retried no matter their response code.
octokit
.request("/", { request: { retries: 1, retryAfter: 1 } })
.catch((error) => {
if (error.request.request.retryCount) {
console.log(
`request failed after ${error.request.request.retryCount} retries`,
);
}
console.error(error);
});Pass { retry: { enabled: false } } to disable this plugin.
Contributing
See CONTRIBUTING.md
License
11 months ago
10 months ago
7 months ago
8 months ago
9 months ago
6 months ago
6 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago