Configure LearnPack for delivering the package as a project
Delivery options: configure no delivery, file uploads (by MIME type), or URL submissions (via regex). You can also accept flags for CTF-style validations. ✅
Projects with no delivery
Deliver a file
Before setting up yourlearn.json, you must know which MIME types learners will be able to upload to deliver the project successfully. If you have a sample file, you can upload it to a MIME checker (e.g., mimetype.io) to retrieve the exact string.
Once you get the MIME type, specify it under the delivery.formats array:
PDF file
Flag coming from Capture the Flag
Text file with multiple MIME possibilities
Sometimes, we want to allow multiple file types. In this case, the learner can upload a file from MS Word or PDF.Files with unknown MIME type
Some rare files like Packet Tracer.pka do not have a recognized MIME type. In that case, use application/octet-stream followed by the file extension:
Heads up: this is a last resort. Prefer explicit MIME types whenever possible.
Ask students to deliver a link
The default format to deliver a project is by specifying a GitHub repository URL with the following structure:regex:
URL from docs.google.com
URL from anywhere (generic)
Leave theregex key with https:// only. The system will ensure a valid URL is provided.
Quick rubric
| Delivery type | Key(s) | Example |
|---|---|---|
| No delivery | formats: ["no_delivery"] | No submission required |
| File upload | formats: ["application/pdf"] | PDF resume |
| Multiple file types | formats: ["application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf"] | DOC, DOCX, or PDF |
| Unknown type | formats: ["application/octet-stream,.pka"] | Packet Tracer .pka |
| URL link | formats: ["url"], regex: "https://github.com/" | GitHub repo |
| URL (generic) | formats: ["url"], regex: "https://" | Any https URL |
| Flags (CTF) | formats: ["flags"], quantity | One or more flags |
Tip: pair delivery settings with your grading mode to align submissions with tests and review workflows.

