diff --git a/ISSUE_TEMPLATE/bug-report.yml b/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 0000000..efe1080 --- /dev/null +++ b/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,92 @@ +name: "๐Ÿ› Bug Report" +description: "Iets werkt niet zoals verwacht" +title: "[BUG] " +labels: ["bug", "needs-triage"] +assignees: [] +body: + - type: markdown + attributes: + value: | + ## Bug Report + Beschrijf het probleem zo concreet mogelijk zodat het reproduceerbaar is. + + - type: textarea + id: description + attributes: + label: "Beschrijving" + description: "Wat gaat er mis?" + placeholder: "Bij het uploaden van een PDF groter dan 10MB crasht de anonymizer." + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: "Stappen om te reproduceren" + value: | + 1. Ga naar ... + 2. Doe ... + 3. Zie fout ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: "Verwacht gedrag" + placeholder: "Het document wordt anonimiseerd en gedownload." + validations: + required: true + + - type: textarea + id: actual + attributes: + label: "Werkelijk gedrag" + placeholder: "HTTP 500 na ~30 seconden, geen output." + validations: + required: true + + - type: textarea + id: environment + attributes: + label: "Omgeving" + value: | + - Namespace/omgeving: + - Versie/image tag: + - Browser (indien van toepassing): + validations: + required: false + + - type: textarea + id: logs + attributes: + label: "Logs / Screenshots" + description: "Plak relevante logs of voeg screenshots toe" + render: shell + validations: + required: false + + - type: textarea + id: acceptance-criteria + attributes: + label: "Acceptatiecriteria (fix)" + value: | + - [ ] Bug is niet meer reproduceerbaar + - [ ] Regressietest toegevoegd + - [ ] Fix getest in acceptatieomgeving + - [ ] Geen nieuwe security findings + - [ ] Code gereviewd (4-eyes) + validations: + required: true + + - type: dropdown + id: severity + attributes: + label: "Severity" + options: + - "๐Ÿ”ด Critical โ€” productie ligt plat" + - "๐ŸŸ  High โ€” grote impact, workaround aanwezig" + - "๐ŸŸก Medium โ€” beperkte impact" + - "๐ŸŸข Low โ€” cosmetic / minor" + validations: + required: true diff --git a/ISSUE_TEMPLATE/technical-task.yml b/ISSUE_TEMPLATE/technical-task.yml new file mode 100644 index 0000000..661b188 --- /dev/null +++ b/ISSUE_TEMPLATE/technical-task.yml @@ -0,0 +1,92 @@ +name: "โš™๏ธ Technische Taak" +description: "Infra, refactor, technische schuld of ops-werk" +title: "[TECH] " +labels: ["technical", "needs-refinement"] +assignees: [] +body: + - type: markdown + attributes: + value: | + ## Technische Taak + Gebruik dit template voor infra-wijzigingen, refactoring, technische schuld of operationeel werk zonder directe gebruikerswaarde. + + - type: textarea + id: description + attributes: + label: "Beschrijving" + description: "Wat moet er gedaan worden en waarom?" + placeholder: "Migreer de WOO-platform PVC's naar S3 primary storage op Fuga Cloud." + validations: + required: true + + - type: textarea + id: motivation + attributes: + label: "Motivatie / Aanleiding" + description: "Welk probleem lost dit op? Waarom nu?" + placeholder: "Huidige lokale PVC's lopen vol en zijn niet HA. Zie ook issue #123." + validations: + required: false + + - type: textarea + id: approach + attributes: + label: "Aanpak (globaal)" + description: "Hoe gaan we dit oplossen? Welke keuzes zijn al gemaakt?" + placeholder: | + 1. Backup bestaande data + 2. S3 bucket aanmaken op Fuga Cloud + 3. Nextcloud occ storage:update uitvoeren + 4. Smoke test per namespace + validations: + required: false + + - type: textarea + id: acceptance-criteria + attributes: + label: "Acceptatiecriteria" + value: | + - [ ] Taak uitvoerbaar via Ansible/Terraform (geen handmatige stappen) + - [ ] Gedocumenteerd in runbook of ADR + - [ ] Getest in acceptatieomgeving vรณรณr productie + - [ ] Rollback-procedure beschreven + - [ ] Geen downtime buiten afgesproken window + - [ ] Gereviewd (4-eyes) + - [ ] Geen nieuwe security findings + validations: + required: true + + - type: textarea + id: risks + attributes: + label: "Risico's / Afhankelijkheden" + placeholder: "Afhankelijk van beschikbaarheid acceptatieomgeving. Risico: dataverlies bij fout in migratiescript." + validations: + required: false + + - type: dropdown + id: category + attributes: + label: "Categorie" + options: + - "Infra / ops" + - "Refactor" + - "Technische schuld" + - "Security" + - "Performance" + - "CI/CD" + - "Documentatie" + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: "Prioriteit" + options: + - "๐Ÿ”ด Critical" + - "๐ŸŸ  High" + - "๐ŸŸก Medium" + - "๐ŸŸข Low" + validations: + required: true diff --git a/ISSUE_TEMPLATE/user-story.yml b/ISSUE_TEMPLATE/user-story.yml new file mode 100644 index 0000000..0860501 --- /dev/null +++ b/ISSUE_TEMPLATE/user-story.yml @@ -0,0 +1,74 @@ +name: "โœจ User Story" +description: "Nieuwe functionaliteit vanuit gebruikersperspectief" +title: "Als [rol] wil ik [actie] zodat [waarde]" +labels: ["user-story", "needs-refinement"] +assignees: [] +body: + - type: markdown + attributes: + value: | + ## User Story + Beschrijf de gewenste functionaliteit vanuit het perspectief van de gebruiker. + + - type: textarea + id: story + attributes: + label: "Story" + description: "Als [rol] wil ik [actie] zodat [waarde]" + placeholder: "Als gemeentemedewerker wil ik een document kunnen anonimiseren zodat ik het veilig kan delen." + validations: + required: true + + - type: textarea + id: context + attributes: + label: "Context / Achtergrond" + description: "Waarom is dit nodig? Wat is de aanleiding?" + placeholder: "WOO-verzoeken vereisen anonimisering vรณรณr publicatie..." + validations: + required: false + + - type: textarea + id: acceptance-criteria + attributes: + label: "Acceptatiecriteria" + description: "Definition of Done โ€” vink af wat van toepassing is" + value: | + - [ ] Functionaliteit werkt zoals beschreven in de story + - [ ] Er zijn unit tests aanwezig + - [ ] Er zijn integratietests aanwezig + - [ ] Documentatie is bijgewerkt + - [ ] Code is gereviewd (4-eyes) + - [ ] Geen nieuwe security findings (SAST/Trivy) + - [ ] Getest in acceptatieomgeving + validations: + required: true + + - type: textarea + id: out-of-scope + attributes: + label: "Buiten scope" + description: "Wat doen we expliciet NIET in dit issue?" + placeholder: "Geen bulk-verwerking, geen UI-wijzigingen." + validations: + required: false + + - type: dropdown + id: priority + attributes: + label: "Prioriteit" + options: + - "๐Ÿ”ด Critical" + - "๐ŸŸ  High" + - "๐ŸŸก Medium" + - "๐ŸŸข Low" + validations: + required: true + + - type: input + id: story-points + attributes: + label: "Story points (optioneel)" + placeholder: "3" + validations: + required: false