//native
type Render = {
apiKey: string
}
/**
* Update a webhook
* Update the webhook with the provided ID.
*/
export async function main(
auth: Render,
webhookId: string,
body: {
name?: string
url?: string
enabled?: false | true
eventFilter?:
| 'autoscaling_config_changed'
| 'autoscaling_ended'
| 'autoscaling_started'
| 'branch_deleted'
| 'build_ended'
| 'build_started'
| 'commit_ignored'
| 'cron_job_run_ended'
| 'cron_job_run_started'
| 'deploy_ended'
| 'deploy_started'
| 'disk_created'
| 'disk_updated'
| 'disk_deleted'
| 'image_pull_failed'
| 'instance_count_changed'
| 'job_run_ended'
| 'maintenance_mode_enabled'
| 'maintenance_mode_uri_updated'
| 'maintenance_ended'
| 'maintenance_started'
| 'pipeline_minutes_exhausted'
| 'plan_changed'
| 'pre_deploy_ended'
| 'pre_deploy_started'
| 'server_available'
| 'server_failed'
| 'server_hardware_failure'
| 'server_restarted'
| 'server_unhealthy'
| 'service_resumed'
| 'service_suspended'
| 'zero_downtime_redeploy_ended'
| 'zero_downtime_redeploy_started'
| 'postgres_available'
| 'postgres_backup_completed'
| 'postgres_backup_failed'
| 'postgres_backup_started'
| 'postgres_cluster_leader_changed'
| 'postgres_created'
| 'postgres_disk_size_changed'
| 'postgres_ha_status_changed'
| 'postgres_restarted'
| 'postgres_unavailable'
| 'postgres_upgrade_failed'
| 'postgres_upgrade_started'
| 'postgres_upgrade_succeeded'
| 'postgres_restore_failed'
| 'postgres_restore_succeeded'
| 'postgres_read_replicas_changed'
| 'postgres_pitr_checkpoint_started'
| 'postgres_pitr_checkpoint_failed'
| 'postgres_pitr_checkpoint_completed'
| 'postgres_read_replica_stale'
| 'key_value_available'
| 'key_value_config_restart'
| 'key_value_unhealthy'[]
}
) {
const url = new URL(`https://api.render.com/v1/webhooks/${webhookId}`)
const response = await fetch(url, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + auth.apiKey
},
body: JSON.stringify(body)
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 235 days ago