Skip to content
Snippets Groups Projects
Commit 1dff73eb authored by Christopher Bohn's avatar Christopher Bohn :thinking:
Browse files

Created directory structure for separation of concerns.

Separating the api-level code from the automation code. Partly this is
to avoid commingling the two types of code in the repo. Partly this is
to facilitate re-use: the api functions will certainly be useful for
other courses; the automation functions might be useful for other
courses.
parent e79f6217
No related branches found
No related tags found
No related merge requests found
# CSCE 361 Scripts
# Scripts for automating CSCE 361 tasks
These scripts are designed to automate the creation, population, and staffing
of repositories for student assignments.
These python and bash scripts (and a C program) serve to automate assignment
management, with an eye toward scaling to larger class sizes.
## Requires
In the repository, the scripts are divided into those that interface with
remote systems and those that automate the tasks. In practice, you'll want to
place both in the same directory, specifically the directory in which you'll
collect students' repositories for grading.
- python-gitlab
- `pip3 install python-gitlab`
- documentation: https://python-gitlab.readthedocs.io
- (eventually, a Canvas package)
- apis/
- Directory containing functions that interface with `git.unl.edu` and
`canvas.unl.edu`. When you copy these to the grading directory, place
your api keys in `config.py`.
- automation/
- Directory containing scripts to clone, create, process, etc., student
repositories.
- 1195
- Directory containing scripts from summer 2019 pilot of new course
structure. Should be obsolete (and removed) by end of fall 2019.
## Files
- config.py
- provides URLs and API keys
- *do not* commit API keys to repository
- you will need to replace `None` with your API keys (as strings)
- course.py
- provides namespace and group ID
- will need to update each semester
- gitlab_functions.py
- provides functions to query & update projects (including its members
and issues)
- These functions are those we believe are useful for automating pair
& team projects for CSCE 361
- These generally are wrappers for calls you *could* make directly
from what python-gitlab provides, but these functions don't require
you to memorize the api
- includes an enumeration of the fields for User, Project, and Issue
- includes side-effect-free example function calls
- gitlab_demo.py
- includes commented-out functions demonstrating the creation of
projects, adding users to projects, and creating/updating the projects'
issues
# CSCE 361 Scripts
These scripts are designed to automate the creation, population, and staffing
of repositories for student assignments.
## Requires
- python-gitlab
- `pip3 install python-gitlab`
- documentation: https://python-gitlab.readthedocs.io
- (eventually, a Canvas package)
## Files
- config.py
- provides URLs and API keys
- *do not* commit API keys to repository
- you will need to replace `None` with your API keys (as strings)
- course.py
- provides namespace and group ID
- will need to update each semester
- gitlab_functions.py
- provides functions to query & update projects (including its members
and issues)
- These functions are those we believe are useful for automating pair
& team projects for CSCE 361
- These generally are wrappers for calls you *could* make directly
from what python-gitlab provides, but these functions don't require
you to memorize the api
- includes an enumeration of the fields for User, Project, and Issue
- includes side-effect-free example function calls
- gitlab_demo.py
- includes commented-out functions demonstrating the creation of
projects, adding users to projects, and creating/updating the projects'
issues
File moved
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment