Skip to content

refactor: consolidate GitHub integration into dojo/github/ package#14766

Open
Maffooch wants to merge 1 commit intoDefectDojo:devfrom
Maffooch:github-cleanup
Open

refactor: consolidate GitHub integration into dojo/github/ package#14766
Maffooch wants to merge 1 commit intoDefectDojo:devfrom
Maffooch:github-cleanup

Conversation

@Maffooch
Copy link
Copy Markdown
Contributor

Summary

  • Consolidate scattered GitHub integration code (dojo/github.py, dojo/github_issue_link/, GitHub forms in dojo/forms.py, GitHub models in dojo/models.py, GitHub templates) into a single self-contained dojo/github/ package.
  • Match the canonical dojo/url/ reference layout from CLAUDE.md: __init__.py + admin.py + models.py + services.py + ui/{__init__,forms,urls,views}.py + templates/dojo/.
  • Extract the inline Github(api_key).get_user() credential check from new_github view into services.validate_github_credentials() per CLAUDE.md Phase 2 ("external integration calls belong in services.py").
  • Backward-compat re-exports left in dojo/models.py (5 GITHUB models) and dojo/forms.py (6 GITHUB forms) per the playbook. dojo/utils.py and dojo/urls.py updated to use the new canonical paths.
  • GitHub Enterprise OAuth env vars in settings.dist.py left in place (out of scope per task; conceptually belong with SSO).
  • No behavior change. No DB migrations (single dojo app preserves app_label).

Test plan

  • python manage.py check — System check identified no issues
  • python manage.py makemigrations --check --dry-run — No changes detected
  • python manage.py test unittests -k github — 29/29 tests pass
  • Backward-compat re-exports resolve from dojo.models and dojo.forms (model/form identity matches new canonical paths)
  • New canonical paths resolve: dojo.github.{models,services}, dojo.github.ui.{forms,urls}
  • Templates resolve from dojo/github/templates/dojo/{github,new_github,delete_github}.html
  • Admin registrations active for GITHUB_Conf, GITHUB_Issue, GITHUB_PKey, GITHUB_Clone, GITHUB_Details_Cache
  • ruff check clean on all touched files
  • Smoke-test in dev container with enable_github=True: /github, /github/add, /github/<id>/delete; create finding linked to GITHUB_PKey-configured product, push to GitHub, close, reopen

🤖 Generated with Claude Code

@Maffooch Maffooch requested a review from mtesauro as a code owner April 27, 2026 22:09
@Maffooch Maffooch changed the title Consolidate GitHub integration into dojo/github/ package refactor: consolidate GitHub integration into dojo/github/ package Apr 27, 2026
@github-actions github-actions Bot added the settings_changes Needs changes to settings.py based on changes in settings.dist.py included in this PR label Apr 27, 2026
Collapse dojo/github.py and dojo/github_issue_link/ into a single
dojo/github/ package matching the canonical dojo/url/ reference layout
described in CLAUDE.md (models, admin, services, ui/forms, ui/views,
ui/urls, templates). Backward-compat re-exports left in dojo/models.py
and dojo/forms.py. No behavior change, no migrations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Maffooch Maffooch added this to the 2.58.0 milestone Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

settings_changes Needs changes to settings.py based on changes in settings.dist.py included in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant