Feedback Collection Automation #10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Feedback Collection Automation | |
| on: | |
| schedule: | |
| - cron: '0 16 * * 3' # Every Wednesday at 4 PM | |
| workflow_dispatch: # Manual trigger | |
| inputs: | |
| feedback_type: | |
| description: 'Type of feedback to collect' | |
| required: true | |
| default: 'general' | |
| type: choice | |
| options: | |
| - general | |
| - course_specific | |
| - portfolio_review | |
| - project_feedback | |
| jobs: | |
| collect-feedback: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Create Feedback Collection Issue | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| const { context, github } = require('@actions/github'); | |
| const feedbackType = context.payload.inputs?.feedback_type || 'general'; | |
| const currentDate = new Date().toISOString().split('T')[0]; | |
| let title, body; | |
| switch(feedbackType) { | |
| case 'course_specific': | |
| title = `📚 Course-Specific Feedback Collection - ${currentDate}`; | |
| body = ` | |
| # Course-Specific Feedback Collection | |
| ## Course Feedback Request | |
| Please provide feedback on specific courses and their portfolio items: | |
| ### MO-IT103 - Computer Programming 2 | |
| - **Assignment Quality**: | |
| - **Project Difficulty**: | |
| - **Portfolio Relevance**: | |
| - **Suggestions for Improvement**: | |
| ### MO-IT143 - Ethical Hacking | |
| - **Lab Effectiveness**: | |
| - **Security Tools Experience**: | |
| - **Portfolio Relevance**: | |
| - **Suggestions for Improvement**: | |
| ### MO-IT147 - Information Assurance and Security 1 | |
| - **Framework Understanding**: | |
| - **Policy Development Skills**: | |
| - **Portfolio Relevance**: | |
| - **Suggestions for Improvement**: | |
| ### MO-IT148 - Applications Development and Emerging Technologies | |
| - **Technology Integration**: | |
| - **Innovation in Projects**: | |
| - **Portfolio Relevance**: | |
| - **Suggestions for Improvement**: | |
| ### MO-IT151 - Platform Technologies | |
| - **Cloud Platform Experience**: | |
| - **DevOps Skills Development**: | |
| - **Portfolio Relevance**: | |
| - **Suggestions for Improvement**: | |
| ## Next Steps | |
| - [ ] Review feedback received | |
| - [ ] Update course materials based on feedback | |
| - [ ] Implement suggested improvements | |
| - [ ] Document changes in course README files | |
| --- | |
| *Please comment below or reach out via other channels to provide feedback* | |
| `; | |
| break; | |
| case 'portfolio_review': | |
| title = `🎯 Portfolio Review Request - ${currentDate}`; | |
| body = ` | |
| # Portfolio Review Request | |
| ## Portfolio Assessment | |
| Please review the current portfolio structure and provide feedback: | |
| ### Overall Portfolio | |
| - **Professional Presentation**: | |
| - **Content Organization**: | |
| - **Technical Demonstration**: | |
| - **Industry Readiness**: | |
| ### Course Portfolio Items | |
| - **Quality of Work**: | |
| - **Diversity of Projects**: | |
| - **Technical Skills Showcase**: | |
| - **Documentation Quality**: | |
| ### Improvement Areas | |
| - **Missing Skills**: | |
| - **Additional Projects Needed**: | |
| - **Presentation Enhancements**: | |
| - **Professional Development**: | |
| ### Career Alignment | |
| - **Industry Relevance**: | |
| - **Job Market Preparation**: | |
| - **Networking Opportunities**: | |
| - **Certification Recommendations**: | |
| ## Review Links | |
| - [Portfolio Overview](portfolio/README.md) | |
| - [Skills Matrix](portfolio/skills/README.md) | |
| - [Course Projects](courses/) | |
| --- | |
| *Your feedback helps improve professional development outcomes* | |
| `; | |
| break; | |
| case 'project_feedback': | |
| title = `🚀 Project Feedback Collection - ${currentDate}`; | |
| body = ` | |
| # Project Feedback Collection | |
| ## Recent Project Review | |
| Please provide feedback on recently completed projects: | |
| ### Technical Feedback | |
| - **Code Quality**: | |
| - **Architecture Decisions**: | |
| - **Best Practices Usage**: | |
| - **Innovation Level**: | |
| ### Documentation Feedback | |
| - **README Quality**: | |
| - **Code Comments**: | |
| - **Setup Instructions**: | |
| - **Usage Examples**: | |
| ### Portfolio Integration | |
| - **Professional Presentation**: | |
| - **Career Relevance**: | |
| - **Skill Demonstration**: | |
| - **Industry Standards**: | |
| ### Improvement Suggestions | |
| - **Technical Enhancements**: | |
| - **Additional Features**: | |
| - **Performance Optimizations**: | |
| - **Security Improvements**: | |
| ## Next Project Recommendations | |
| - **Suggested Technologies**: | |
| - **Skill Development Areas**: | |
| - **Industry Trends to Explore**: | |
| - **Collaboration Opportunities**: | |
| --- | |
| *Project feedback drives continuous improvement and skill development* | |
| `; | |
| break; | |
| default: // general | |
| title = `💬 Weekly Feedback Collection - ${currentDate}`; | |
| body = ` | |
| # Weekly Feedback Collection | |
| ## General Workspace Feedback | |
| Please provide feedback on the overall academic workspace and development process: | |
| ### Workspace Organization | |
| - **File Structure**: How effective is the current organization? | |
| - **Navigation**: How easy is it to find information? | |
| - **Documentation**: Is the documentation clear and helpful? | |
| - **Automation**: Are the automated workflows helpful? | |
| ### Academic Progress | |
| - **Course Integration**: How well do courses work together? | |
| - **Portfolio Development**: Is the portfolio building effectively? | |
| - **Skill Development**: Are you developing relevant skills? | |
| - **Professional Preparation**: Does this prepare you for industry work? | |
| ### Tool Effectiveness | |
| - **GitHub Actions**: Are the automations working well? | |
| - **VS Code Integration**: Is the development environment effective? | |
| - **Template Usage**: Are the templates helpful? | |
| - **MCP Memory**: Is the knowledge graph system useful? | |
| ### Improvement Suggestions | |
| - **Missing Features**: What would make this workspace better? | |
| - **Process Improvements**: How can workflows be enhanced? | |
| - **Additional Resources**: What resources would be helpful? | |
| - **Collaboration Enhancements**: How can teamwork be improved? | |
| ## Feedback Channels | |
| - 💬 Comment on this issue | |
| - 📧 Email feedback (if available) | |
| - 🤝 LinkedIn recommendations | |
| - 📝 Course-specific feedback | |
| --- | |
| *Your feedback drives continuous improvement of this academic workspace* | |
| `; | |
| } | |
| await github.rest.issues.create({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| title: title, | |
| body: body, | |
| labels: ['feedback-collection', feedbackType, 'weekly-automation'] | |
| }); | |
| - name: Update Feedback Tracking | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| const fs = require('fs'); | |
| const path = require('path'); | |
| // Create or update feedback tracking file | |
| const feedbackFile = 'portfolio/testimonials/feedback-log.md'; | |
| const currentDate = new Date().toISOString().split('T')[0]; | |
| let feedbackContent = ''; | |
| try { | |
| feedbackContent = fs.readFileSync(feedbackFile, 'utf8'); | |
| } catch (error) { | |
| feedbackContent = `# Feedback Collection Log | |
| This file tracks all feedback collection activities and responses. | |
| ## Feedback Collection History | |
| `; | |
| } | |
| const newEntry = `### ${currentDate} - Automated Feedback Collection | |
| - **Type**: ${context.payload.inputs?.feedback_type || 'general'} | |
| - **Status**: Collection initiated | |
| - **Issue Created**: Yes | |
| - **Follow-up Required**: Pending responses | |
| `; | |
| feedbackContent += newEntry; | |
| // Ensure directory exists | |
| const dir = path.dirname(feedbackFile); | |
| if (!fs.existsSync(dir)) { | |
| fs.mkdirSync(dir, { recursive: true }); | |
| } | |
| fs.writeFileSync(feedbackFile, feedbackContent); | |
| console.log('Feedback tracking updated'); | |
| - name: Schedule Follow-up | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| // Create a follow-up reminder issue for one week later | |
| const followUpDate = new Date(); | |
| followUpDate.setDate(followUpDate.getDate() + 7); | |
| const followUpDateStr = followUpDate.toISOString().split('T')[0]; | |
| const reminderTitle = `🔔 Feedback Follow-up Reminder - ${followUpDateStr}`; | |
| const reminderBody = ` | |
| # Feedback Follow-up Reminder | |
| ## Review Feedback Collection | |
| This is an automated reminder to review feedback collected one week ago. | |
| ### Actions to Take: | |
| - [ ] Review feedback responses | |
| - [ ] Analyze common themes | |
| - [ ] Implement suggested improvements | |
| - [ ] Update documentation based on feedback | |
| - [ ] Close completed feedback collection issues | |
| - [ ] Plan next feedback collection cycle | |
| ### Feedback Analysis: | |
| - **Response Rate**: To be calculated | |
| - **Key Insights**: To be documented | |
| - **Action Items**: To be created | |
| - **Implementation Timeline**: To be established | |
| ### Next Steps: | |
| 1. Review all feedback received | |
| 2. Create improvement action items | |
| 3. Update workspace based on feedback | |
| 4. Communicate changes to stakeholders | |
| 5. Schedule next feedback collection | |
| --- | |
| *This reminder ensures continuous improvement through feedback integration* | |
| `; | |
| await github.rest.issues.create({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| title: reminderTitle, | |
| body: reminderBody, | |
| labels: ['feedback-followup', 'reminder', 'automation'] | |
| }); | |
| console.log('Follow-up reminder scheduled'); | |
| notify-stakeholders: | |
| runs-on: ubuntu-latest | |
| needs: collect-feedback | |
| steps: | |
| - name: Notify About Feedback Collection | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| console.log('Feedback collection initiated'); | |
| console.log('Stakeholders can provide feedback through GitHub issues'); | |
| console.log('Follow-up reminders have been scheduled'); |