Skip to content
Back to projects

Case study · n8n automation

Classroom → GitHub

A self-hosted n8n automation for selecting academic assignments, checking materials, and preparing issues with dependencies.

Importable workflow · inactive and designed for dry runs

Verified workflow stages
01Classroom + Drive
02Validate data and ZIP
03Registry + GitHub
04Issue plan
INPUT → VALIDATION → PLANExplanatory diagram

Technologies

  • n8n
  • Google Classroom API
  • Google Drive
  • GitHub API

CLASSROOM_GITHUB

Problem and scope

The workflow organizes the conversion of academic assignments into planned work in GitHub. It is not a web application: it consists of n8n workflows, code modules, and operational documentation.

Inputs, validation, and output

Inputs are published Classroom assignments and, when present, a Drive starter ZIP; the workflow also reads the GitHub repository state. Data passes through normalization, ZIP inspection, and plan validation before issue preparation.

The output prepares issues with source metadata, labels, and dependencies. The workflow includes a dry-run mode to review what would be created.

Technical decisions

Selection excludes out-of-scope assignments and fails closed when week or identity data is missing. A per-assignment registry and issue keys recognize prior runs and avoid recreating an already processed set.

ZIP analysis treats archives as untrusted input and applies limits before extraction; planning orders issues according to their dependencies.

Documented validation

The repository contains artifact, selection, assignment, ZIP validation, and dry-run scenario tests. Its documentation states that the imported workflow remains inactive and the recommended configuration keeps dry-run enabled.

Known limits

No current production run or real credentials are confirmed. Enabling GitHub write operations requires configuration and review in the n8n instance. Individual contribution is unconfirmed.