stevebrownlee / learn-ops-client

Learning Platform client application for students and instructors. Tracks student data as they progress through their core and technical learning objectives.
1 stars 8 forks source link

Service for migrating tickets #84

Open stevebrownlee opened 1 month ago

stevebrownlee commented 1 month ago

Purpose

The team currently uses a command-line tool, written in Python, to migrate tickets on the group project template to each of the students' repositories. While this take low effort to configure and run, it is still a separate process that should, instead, be automated on the Learning Platform.

Independent Service

The description of work below should be written as an indepdendant Python service that will be listening for a message (TBD) on a Redis queue that will be dispatched by the Learning Platform Django app.

See https://github.com/stevebrownlee/learn-ops-services for existing services.

Description

When a coach makes teams for a group project, the following steps should be taken.

  1. Determine if the source client-side repository has issues.
  2. If it doesn't, and this is a full stack project, check if the source API repository has issues.
  3. If any issues are detected, iterate the list returned from Github and create the issues on the client-side repository assigned to each team.
  4. The Projects feature of the Github API is in shambles currently (10/02/2024) as they migrate to a GraphQL API instead of a REST API. Currently, all we can do is create a project on the client-side repo, so that is the last automatable step.

Once that process is complete, the cohort's coach will need to manually add a Backlog column to each client-side repository and then add the issue tickets in the Github UI.