Skip to content

fix: use github owner login for webhook deploy matching#4674

Merged
Siumauricio merged 2 commits into
Dokploy:canaryfrom
agentHits:fix/github-webhook-owner-login
Jul 1, 2026
Merged

fix: use github owner login for webhook deploy matching#4674
Siumauricio merged 2 commits into
Dokploy:canaryfrom
agentHits:fix/github-webhook-owner-login

Conversation

@agentHits

@agentHits agentHits commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

What is this PR about?

This PR fixes GitHub auto-deploy matching for GitHub App webhooks. Dokploy
stores the selected GitHub repository owner from repo.owner.login, but the
push/tag webhook handler matched configured applications and compose projects
against repository.owner.name. GitHub push payloads can omit owner.name, so
valid pushes could be received and verified but still find zero deployable
resources, leaving auto-deploy inactive after new GitHub commits.

The handler now resolves the repository owner as
repository.owner.login ?? repository.owner.name and uses the same value for
tag, push, and preview-deployment matching. The regression test covers push
application, push compose, tag deploy, and a branch mismatch negative case
using a payload with owner.login and no owner.name.

Checklist

Before submitting this PR, please make sure that:

  • You created a dedicated branch based on the canary branch.
  • You have read the suggestions in the CONTRIBUTING.md file https://github.com/Dokploy/dokploy/blob/canary/CONTRIBUTING.md#pull-request
  • You have tested this PR in your local instance. If you have not tested it yet, please do so before submitting. This helps avoid wasting maintainers' time reviewing code that has not been verified by you.

Testing

  • pnpm --dir apps/dokploy exec vitest --config __test__/vitest.config.ts run __test__/deploy/github-webhook-handler.test.ts __test__/deploy/github.test.ts __test__/deploy/should-deploy.test.ts
  • pnpm --dir apps/dokploy run typecheck
  • pnpm exec biome check apps/dokploy/pages/api/deploy/github.ts apps/dokploy/__test__/deploy/github-webhook-handler.test.ts
  • git diff --check upstream/canary...HEAD

Issues related (if applicable)

Fixes #4675

Screenshots (if applicable)

N/A - webhook/API behavior only.

@agentHits agentHits marked this pull request as ready for review June 21, 2026 17:48
@agentHits agentHits requested a review from Siumauricio as a code owner June 21, 2026 17:48
@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. bug Something isn't working labels Jun 21, 2026
Comment thread apps/dokploy/pages/api/deploy/github.ts Outdated
Что:
- Инвертирован порядок fallback для GitHub webhook owner: сначала repository.owner.name, затем repository.owner.login.
- Обновлен focused regression test для приоритета owner.name и fallback на owner.login.
Зачем:
- Выполнить maintainer review request в PR Dokploy#4674 и сохранить совместимость deploy matching для payload без owner.name.
Риски:
- Не выявлены для push/tag matching; preview pull_request путь использует тот же helper, но отдельным PR-event тестом не покрыт.
Проверки:
- Команды и результаты: git diff --check -- apps/dokploy/pages/api/deploy/github.ts apps/dokploy/__test__/deploy/github-webhook-handler.test.ts - passed; CI=true corepack pnpm --dir apps/dokploy exec vitest --config __test__/vitest.config.ts run __test__/deploy/github-webhook-handler.test.ts --reporter=verbose - passed, 1 file / 4 tests; CI=true corepack pnpm exec biome check apps/dokploy/pages/api/deploy/github.ts apps/dokploy/__test__/deploy/github-webhook-handler.test.ts - exit 0, reported existing Number.parseInt radix info at github.ts:464; mandatory QA subagent Boyle - pass.
- Ограничения: repo-wide format-and-lint, typecheck, build, and test не запускались для этого точечного review fix.

What:
- Inverted the GitHub webhook owner fallback order to prefer repository.owner.name before repository.owner.login.
- Updated the focused regression test for owner.name precedence and owner.login fallback.
Why:
- Address the maintainer review request in PR Dokploy#4674 while preserving deploy matching for payloads without owner.name.
Risks:
- None identified for push/tag matching; the preview pull_request path uses the same helper but is not covered by a dedicated PR-event test.
Checks:
- Commands and results: git diff --check -- apps/dokploy/pages/api/deploy/github.ts apps/dokploy/__test__/deploy/github-webhook-handler.test.ts - passed; CI=true corepack pnpm --dir apps/dokploy exec vitest --config __test__/vitest.config.ts run __test__/deploy/github-webhook-handler.test.ts --reporter=verbose - passed, 1 file / 4 tests; CI=true corepack pnpm exec biome check apps/dokploy/pages/api/deploy/github.ts apps/dokploy/__test__/deploy/github-webhook-handler.test.ts - exit 0, reported existing Number.parseInt radix info at github.ts:464; mandatory QA subagent Boyle - pass.
- Limitations: repo-wide format-and-lint, typecheck, build, and test were not run for this targeted review fix.
@agentHits agentHits requested a review from Siumauricio June 30, 2026 22:17
@agentHits

Copy link
Copy Markdown
Contributor Author

@Siumauricio Done in f5bc4c4. The helper now prefers repository.owner.name and falls back to repository.owner.login, with focused regression coverage for both cases.

@Siumauricio Siumauricio merged commit f5ded8b into Dokploy:canary Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GitHub auto-deploy does not trigger when webhook owner name is missing

2 participants