Netlify web hook
A Gatsby app hosted on Netlify
This app is a simple utility for the user to be able to run a web preview build when content is changed in Strapi and before a production build is run.
It uses a simple web hook supplied by Netlify to trigger a build preview.
/src/pages/index.js
async function sendPreview() {
try {
await axios
.post("https://api.netlify.com/build_hooks/6xxxxxxxxxxxxxxxxxxxxx", {
headers: {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "true",
},
})
.then((response) => {
console.log(response);
setDisableButtonPreview(true);
})
.catch((error) => {
// Handle error.
console.log("An error occurred:", error);
});
} catch (error) {
console.error("An unexpected error happened:", error.message);
}
}
It is triggered by the user on-demand
/src/pages/index.js
<p className="p-3 pb-0">
Youth boost app - Use the following action buttons to generate a
preview and build
</p>
</div>
<div className="flex p-3">
<div className="flex p-3">
<button
onClick={() => sendPreview()}
className={
disableButtonPreview
? "disabled bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"
: "bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"
}
>
Preview build
</button>
</div>