slogan3

Adviseer mij over het automatiseren van GitHub Issue-templates en workflows

description

Met deze prompt krijg je gericht advies om het beheer van issues in je GitHub-project te automatiseren, waardoor je tijd bespaart, sneller reageert op problemen en een gestroomlijnde workflow ontwikkelt. Dit verbetert de efficiëntie en samenwerking zonder overlap met bestaande prompts over algemene workflowoptimalisatie of beveiliging.

prompt

Help mij bij het opzetten van geautomatiseerde GitHub Issue-templates en workflows met de volgende details: Projectnaam: <voer de naam van mijn project in> Soort issues die ik vaak ontvang: <beschrijf de types issues die vaak voorkomen> Huidige aanpak voor issuebeheer: ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een overzicht en advies voor het opzetten van geautomatiseerde GitHub Issue-templates en workflows voor jouw project "MijnWebApp". ### 1. Issue-templates ontwerpen **Doel:** Consistente en informatieve issues creëren, waardoor prioriteren en labelen eenvoudiger wordt. **Aanpak:** - Maak verschillende templates voor bugmeldingen en verbeteringen. - Gebruik YAML of Markdown voor duidelijke structuur. - Voeg automatische labels en prioriteit toe op basis van de inhoud. **Voorbeeld:** **a. Bug-issue-template (`bug_report.md`):** ```markdown --- name: Bug Melden about: Meld een bug in MijnWebApp title: "[BUG] " labels: bug, te-wachten assignees: '' --- **Beschrijving:** Kort beschrijven wat er misgaat. **Stappen om te reproduceren:** 1. Ga naar... 2. Klik op... 3. Zie foutmelding... **Verwart gedrag / Verwachte resultaat:** Wat zou er moeten gebeuren? **Screenshots / Logs:** Indien beschikbaar. **Omgeving:** - Browser: - OS: - Versie van de app: ``` **b. Verbetering-issue-template (`feature_request.md`):** ```markdown --- name: Verbetering about: Stel een verbetering of nieuwe feature voor title: "[Verbetering] " labels: enhancement, te-wachten assignees: '' --- **Omschrijving:** Beschrijf de voorgestelde verbetering of feature. **Motivatie:** Waarom is dit belangrijk? **Voorstel:** Hoe zou dit geïmplementeerd kunnen worden? **Alternatieven:** Zijn er andere oplossingen overwogen? **Screenshots / Mockups:** Indien relevant. ``` ### 2. Issue-templates toevoegen aan je repository - Maak een map `.github/ISSUE_TEMPLATE/`. - Plaats daar de markdown-bestanden (`bug_report.md`, `feature_request.md`). - Voeg een `config.yml` toe om templates te beheren: ```yaml blank_issues_enabled: false issue_templates: - name: Bug Melden description: Meld een bug filename: bug_report.md - name: Verbetering description: Stel een verbetering voor filename: feature_request.md ``` ### 3. Automatisering met GitHub Actions workflows **Doel:** Issue automatisch labelen en prioriteren op basis van inhoud of andere criteria. **Voorbeeld workflow (`.github/workflows/issue-labeler.yml`):** ```yaml name: Issue Labeler on: issues: types: [opened, edited] jobs: label: runs-on: ubuntu-latest steps: - name: Label issues op inhoud uses: actions/labeler@v2 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" configuration: .github/labeler.yml ``` **Labeler-configuratie (`.github/labeler.yml`):** ```yaml bug_report.md: - bug - high-priority feature_request.md: - enhancement - low-priority ``` *(Let op: De labeler-actie werkt standaard op basis van bestandsnaam. Voor inhoud gebaseerde labels kun je een custom actie schrijven of scripting binnen workflows.)* ### 4. Geautomatiseerde prioriteitstelling Voor meer dynamische prioritering op basis van inhoud (zoals urgentie of impact), kun je een aangepaste workflow schrijven met een script (bijvoorbeeld in JavaScript of Python) die inhoud scant en labels toevoegt. **Voorbeeld:** ```yaml name: Prioriteit toekennen on: issues: types: [opened] jobs: assign-priority: runs-on: ubuntu-latest steps: - name: Check issue inhoud uses: actions/github-script@v6 with: script: | const issueBody = context.payload.issue.body; if (issueBody.includes('crash') || issueBody.includes('foutmelding')) { await github.issues.addLabels({ issue_number: context.payload.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ['hoog-prioriteit'] }); } else { await github.issues.addLabels({ issue_number: context.payload.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ['laag-prioriteit'] }); } ``` ### Samenvatting - Maak aparte issue-templates voor bugmeldingen en verbeteringen. - Gebruik `.github/ISSUE_TEMPLATE/` en `config.yml` voor beheer. - Automatiseer labelen en prioriteren via GitHub Actions, eventueel met scripts voor inhoudsanalyse. - Overweeg het gebruik van labels en prioriteitstags voor betere workflow. Wil je dat ik specifieke scripts of configuraties verder uitwerk?
provider: deepseek
model: deepseek-chat
Zeker, ik help je graag met het opzetten van geautomatiseerde GitHub Issue-templates en workflows voor je project "MijnWebApp". Hier is een stapsgewijze handleiding in het Nederlands: ## 1. Issue Templates Aanmaken Maak een `.github` map aan in je repository met daarin een `ISSUE_TEMPLATE` map: ### Bug Report Template (bug_melding.md) ```markdown --- name: 🐛 Bug Melding about: Meld een probleem om ons te helpen verbeteren title: '[BUG] ' labels: 'bug, needs-triage' --- ## Beschrijving Duidelijke omschrijving van de bug ## Stappen om te reproduceren 1. Ga naar '...' 2. Klik op '....' 3. Scroll naar '....' 4. Zie fout ## Verwacht gedrag Duidelijke omschrijving van wat je verwachtte te gebeuren ## Screenshots Optioneel: voeg screenshots toe ## Omgeving - OS: [bijv. Windows 10] - Browser: [bijv. Chrome 90] - Versie: [bijv. 1.2.0] ``` ### Verbetering Template (verbetering.md) ```markdown --- name: 💡 Verbeteringsvoorstel about: Stel een verbetering of nieuwe feature voor title: '[VERBETERING] ' labels: 'enhancement, needs-triage' --- ## Beschrijving Duidelijke omschrijving van de gewenste verbetering ## Motivatie Waarom is deze verbetering nuttig voor het project? ## Voorgestelde oplossing Hoe zou je dit willen implementeren? ## Alternatieven Zijn er alternatieve oplossingen overwogen? ``` ## 2. Automatisering met GitHub Workflows Maak een `.github/workflows/issue-automation.yml` bestand: ```yaml name: Issue Automation on: issues: types: [opened, edited] jobs: automate-issues: runs-on: ubuntu-latest steps: - name: Automatisch labelen op basis van titel uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const issue = context.payload.issue const labels = issue.labels.map(label => label.name) // Automatisch prioriteit labelen op basis van keywords if (issue.title.toLowerCase().includes('kritiek') || issue.title.toLowerCase().includes('blokkerend')) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, labels: ['hoge-prioriteit'] }) } // Automatisch type detecteren if (issue.title.toLowerCase().includes('bug') || issue.body.toLowerCase().includes('fout')) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, labels: ['bug'] }) } - name: Reageren op nieuwe issues if: github.event.action == 'opened' uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const issue = context.payload.issue let response = '' if (issue.labels.some(label => label.name === 'bug')) { response = `Bedankt voor je bugmelding! We zullen deze zo snel mogelijk onderzoeken.` } else if (issue.labels.some(label => label.name === 'enhancement')) { response = `Bedankt voor je verbeteringsvoorstel! We zullen dit meenemen in onze planning.` } if (response) { await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, body: response }) } ``` ## 3. Aanvullende Automatisering Voeg deze stappen toe aan je workflow voor extra automatisering: ```yaml - name: Issue triage en assign uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | // Automatisch assignen op basis van labels const issue = context.payload.issue if (issue.labels.some(label => label.name === 'bug')) { await github.rest.issues.addAssignees({ owner: context.repo.owner, repo: context.repo.repo, issue_number: issue.number, assignees: ['naam-van-ontwikkelaar'] }) } ``` ## 4. Configuratie Bestanden Maak een `config.yml` in `.github` voor extra configuratie: ```yaml # .github/config.yml blank_issues_enabled: false contact_links: - name: Bug Melding url: https://github.com/jouw-gebruikersnaam/MijnWebApp/issues/new?template=bug_melding.md about: Meld een bug of probleem - name: Verbeteringsvoorstel url: https://github.com/jouw-gebruikersnaam/MijnWebApp/issues/new?template=verbetering.md about: Doe een suggestie voor verbetering ``` ## 5. Tips voor Effectief Gebruik 1. **Standaard Labels**: Maak vaste labels aan zoals: - `bug`, `enhancement`, `documentation` - `hoge-prioriteit`, `medium-prioriteit`, `lage-prioriteit` - `needs-triage`, `in-progress`, `ready-for-review` 2. **Workflow Afhandeling**: Stel duidelijke SLA's in voor reactietijden 3. **Regular Expressions**: Gebruik regex in je workflows voor geavanceerde detectie 4. **Testing**: Test je workflows eerst in een test repository Deze setup zal je helpen bij: - Snellere triage en categorisering van issues - Automatische prioritering op basis van inhoud - Gestandaardiseerde issue-aanmeldingen - Vermindering van handmatig werk Wil je dat ik specifieke onderdelen verder uitwerk of aanpas aan je specifieke behoeften?