Skip to content

fix: select owner secret for organization pings - #338

Merged
giscebot merged 1 commit into
mainfrom
fix/webhook-org-owner-secret
Nov 2, 2026
Merged

giscebot merged 1 commit into
mainfrom
fix/webhook-org-owner-secret

Conversation

@giscebot

@giscebot giscebot commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • select a configured webhook secret from organization.login when an organization-hook payload has no repository;
  • keep repository.full_name as the first-choice owner for normal repository events;
  • cover signed organization ping payloads with per-owner secrets.

Rollout impact

The planned migration from GITHUB_AGENT_BRIDGE_WEBHOOK_SECRET to GITHUB_AGENT_BRIDGE_WEBHOOK_SECRETS_BY_OWNER exposed this gap before the production services were restarted. A GitHub organization-hook ping has organization.login but no repository.full_name, so the current ingress rejects it with repository_owner_not_allowed even when the organization secret is configured.

Production remains on the shared secret until this fix is released. No ingress traffic was switched to the incomplete configuration.

Validation

  • focused regression confirmed RED (403) before the implementation and GREEN (200) after it;
  • repository-owner selection and unknown-owner rejection regressions pass;
  • 694 passed in the full Python suite;
  • git diff --check clean.

Refs #299

TASK: TASK-85718

Co-authored-by: Eduard Carreras <ecarreras@gisce.net>
@giscebot
giscebot requested a review from ecarreras November 2, 2026 17:04
@giscebot
giscebot merged commit 7f5257d into main Nov 2, 2026
3 checks passed
@giscebot
giscebot deleted the fix/webhook-org-owner-secret branch November 2, 2026 17:06
@pilipilisbot

Copy link
Copy Markdown
Collaborator

Post-merge sync: #338 is merged as 7f5257de45c8ea2699f0a5ad8e6e024b4e5fe282 (head 3f2c5699392e779139efbcfe4348642b861012d6). The final head's dashboard, pytest (3.11), and pytest (3.12) checks all passed. I reviewed the two-file diff; it keeps repository owner precedence and adds the organization-login fallback plus a signed organization ping regression test.

No dedicated PR #338 worktree exists in the local worktree registry or at the conventional path, so no cleanup was needed. This verifies merge/integration only; the production secret migration described in the PR body is a separate rollout and was not verified here.

@giscebot

giscebot commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

Correction to the post-merge sync: the local worktree registry does contain the dedicated PR worktree at /home/openclaw/projects/gisce-ti/worktrees/github-agent-bridge-owner-secret-ping, on fix/webhook-org-owner-secret at 3f2c569. It is clean, and I reran the three focused owner-secret regressions: 3 passed (repository owner selection, organization ping fallback, and unknown-owner rejection). The merged-code assessment stands, but worktree/branch cleanup is still pending. I did not remove either in this review-only run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants