Monorepo for Tangled tangled.org

appview/pages: add webhook settings ui #1070

merged opened by anirudh.fi targeting master from icy/qlyxxp

Add hooks tab to repository settings with webhook management interface. Includes forms for adding/editing webhooks with URL, secret, and event configuration. Shows webhook status with active/inactive toggle.

Signed-off-by: Anirudh Oppiliappan anirudh@tangled.org

Labels

None yet.

assignee

None yet.

Participants 2
AT URI
at://did:plc:hwevmowznbiukdf6uk5dwrrq/sh.tangled.repo.pull/3menyebs7wi22
+8 -8
Interdiff #1 #2
appview/pages/funcmap.go

This file has not been changed.

appview/pages/pages.go

This file has not been changed.

+8 -8
appview/pages/templates/repo/settings/hooks.html
··· 129 placeholder="https://example.com/webhook" 130 class="w-full" 131 /> 132 - <p class="text-xs text-gray-500 dark:text-gray-400"> 133 The URL that will receive the webhook POST requests. 134 </p> 135 </div> 136 137 <div class="flex flex-col gap-2"> 138 - <label for="webhook-secret" class="text-sm font-semibold">Secret</label> 139 <input 140 type="text" 141 id="webhook-secret" 142 name="secret" 143 - placeholder="Leave blank to auto-generate" 144 class="w-full font-mono text-sm" 145 /> 146 - <p class="text-xs text-gray-500 dark:text-gray-400"> 147 - The secret is used to create a hash signature with each payload. Leave blank to auto-generate a secure secret. 148 </p> 149 </div> 150 ··· 207 </div> 208 209 <div class="flex flex-col gap-2"> 210 - <label for="edit-webhook-secret-{{ $webhook.Id }}" class="text-sm font-semibold">Secret</label> 211 <input 212 type="text" 213 id="edit-webhook-secret-{{ $webhook.Id }}" ··· 215 placeholder="Leave blank to keep current secret" 216 class="w-full font-mono text-sm" 217 /> 218 - <p class="text-xs text-gray-500 dark:text-gray-400"> 219 - Leave blank to keep the existing secret. 220 </p> 221 </div> 222
··· 129 placeholder="https://example.com/webhook" 130 class="w-full" 131 /> 132 + <p class="text-sm text-gray-500 dark:text-gray-400"> 133 The URL that will receive the webhook POST requests. 134 </p> 135 </div> 136 137 <div class="flex flex-col gap-2"> 138 + <label for="webhook-secret" class="text-sm font-semibold">Secret (optional)</label> 139 <input 140 type="text" 141 id="webhook-secret" 142 name="secret" 143 + placeholder="Optional: provide a secret for signed webhooks" 144 class="w-full font-mono text-sm" 145 /> 146 + <p class="text-sm text-gray-500 dark:text-gray-400"> 147 + If provided, webhook payloads will be signed with HMAC-SHA256. Leave blank to send unsigned webhooks. 148 </p> 149 </div> 150 ··· 207 </div> 208 209 <div class="flex flex-col gap-2"> 210 + <label for="edit-webhook-secret-{{ $webhook.Id }}" class="text-sm font-semibold">Secret (optional)</label> 211 <input 212 type="text" 213 id="edit-webhook-secret-{{ $webhook.Id }}" ··· 215 placeholder="Leave blank to keep current secret" 216 class="w-full font-mono text-sm" 217 /> 218 + <p class="text-sm text-gray-500 dark:text-gray-400"> 219 + Leave blank to keep the existing secret. Remove value to disable signing. 220 </p> 221 </div> 222

History

6 rounds 1 comment
sign up or login to add to the discussion
1 commit
expand
appview/pages: add webhook settings ui
3/3 success
expand
expand 0 comments
pull request successfully merged
1 commit
expand
appview/pages: add webhook settings ui
3/3 success
expand
expand 0 comments
1 commit
expand
appview/pages: add webhook settings ui
3/3 success
expand
expand 0 comments
1 commit
expand
appview/pages: add webhook settings ui
3/3 success
expand
expand 0 comments
1 commit
expand
appview/pages: add webhook settings ui
3/3 success
expand
expand 1 comment

lgtm, works well with gating for non-owners etc.

1 commit
expand
appview/pages: add webhook settings ui
3/3 success
expand
expand 0 comments