Skip to content

Feedback Collection Automation #10

Feedback Collection Automation

Feedback Collection Automation #10

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');