sanity-plugin-dashboard-widget-amplify v1.0.9
sanity-plugin-dashboard-widget-amplify
This is a simple widget that allows you to trigger a build on Amplify.
The widget does NOT setup any type of observer or monitoring of the build and report back when it completes or if it is successful or not.
Installing
Install the dashboard plugin
To get dashboard support in Sanity Studio in general:
sanity install @sanity/dashboardInstall the Amplify widget plugin
sanity install dashboard-widget-amplifyConfiguring
1. Get the build hook id and token for your Amplify site
- Open the Amplify Console, and select your site
- Navigate to the
Build settingsarea - Look at the
Incoming webhookssection. - If there is not already a webhook created for the right branch, click
Create webhookbutton, then name the webhook; point it at the branch you want to build, and clickSave - Copy the
URLfor you webhook and save it for the configuration step later
2. If you don't already have a dashboardConfig setup, in your sanity.json file, append the following line to the parts array:
{
"implements": "part:@sanity/dashboard/config",
"path": "src/dashboardConfig.js"
}3.Create or update the src/dashboardConfig.js file using the webhook URL for your site: (I suggest using layout width medium but you can adjust to your needs)
export default {
widgets: [
{
name: 'amplify',
options: {
title: 'Amplify Deploy',
buttonText: 'Deploy to Amplify',
webhookUrl: 'https://webhooks.amplify.us-east-1.amazonaws.com/prod/webhooks?id=xyxyxyxy-xyxy-xyxy-xyxy-xyxyxyxyxyxy&token=dfhjksfdh7dsfkjdsfsdfhkj098',
},
layout: {width: 'medium'}
}
]
}4. Add AWS webhooks endpoint to CORS
If you are having problems with Amplify not getting your build triggers you may need to add CORS entry
From your Sanity Studio directory: '''text sanity cors add 'webhooks.amplify.us-east-1.amazonaws.com/*' ''' Allow credentials to be sent from this origin? Please read the warning above? Answer No (default answer)
Options
title (optional)
Overrides the widgets default title
Defaults to Deploy to Amplify
buttonText (optional)
Overrides the default text on the Button (Optional).
Defaults to Deploy
webhookUrl (required)
The Amplify webhook URL for your site (see Configuration section above for where to get this value)
Local development
- Fork/clone this repo
- Install dependencies (
yarnornpm install) - Link for local development (
yarn linkornpm link) - Run build to compile your changes (
yarn buildornpm run build) - Link in a local studio folder (
yarn link "sanity-plugin-dashboard-widget-amplify"ornpm link sanity-plugin-dashboard-widget-amplify) - Add
dashboard-widget-amplifyto the plugin array insanity.json - Add widget config to your
dashboardConfig.js
To Do
Want to implement several of the things that the Netlify plugin does.
- Support multiple sites in array
- Change to use observable pattern and display progress of build
- Use nice image to display progress
- Make Layout Width Medium the default