My guides to using GitHub Classroom for teachers and students

(Readoc) #11

So I wanted to reply with a solution in case anyone else runs into this. Turns out it was an authentication error stopping everything.

I have 2FA set up on my account. In order to get the script to work, I needed to switch to https and authenticate with a generated GitHub access token.

It’s working wonderfully!

(Jacob Fiksel) #12

Sorry for the late response @readoc, glad that it’s working for you! And thanks for your comment, I’m sure that more people in the future will have this problem. If you feel that there should be another script in the mass_clone repo that accommodates 2FA, feel free to make a pull request.

(Jacob Fiksel) #13

Hi all–if you have already cloned the mass_clone directory, there have been some important updates in the repository that can be found here: . Please pull in these changes, otherwise you may have problems once your classroom organization has over 100 total repositories.

(Readoc) #14

Not to worry @jfiksel. It’s been working well. If I make changes, I’ll make sure to do a pull request.

(小克) #15

I also wrote an article, but it was written in Chinese.

(Ryan James) #16

I think I’m having the same problem. I’ve never done ssh with github before and I’m not sure how to get this to authenticate properly. Do you know where I can find more documentation to set this up?

(Readoc) #17

I ended up not using SSH.

Instead, I used https with a GitHub access token that I generated.

(Bill Foote, Cal Poly SLO) #18

Hi @jfiksel, just wanted to say thanks for writing this guide. Just yesterday, I found out that there’s a thing called “github classroom.” I learned that shortly after I found out that the place I’m about to start teaching uses github classroom. Anyhoo, I can tell already that your guide is going to save me a ton of time getting this set up.

(Jacob Fiksel) #19

@wffoote I’m glad these guides were helpful! I’m hoping to improve the student guides based off feedback from my class last semester. Please let me know if there is anything for the teaching guides that is unclear or should be explained in more depth.

(Jacob Fiksel) #20

Hi everyone–I have updated these guides with plenty of GIFs to help in the visualization of all of the processes, for both students and teachers. I think this will be especially helpful for students and instructors who have never used the terminal before. Again, if you have any feedback on the guides, please let me know. In addition, it would be great to get additional options for grading in the teacher guide, as I only have the workflow we used in my class.

(CodeCrew Code School) #21

Great information Jacob! We are going to try to use GitHub Classroom in our software development class starting soon. I like your ideas on how to use orgs to manage master/session assignments, however I could figure out how to request unlimited private repos as the form requires me to enter the # of them we’ll need when I don’t know what that number will be. Thanks in advance for any suggestions. Kevin

(Jacob Fiksel) #22

@codecrew-code-school just give a rough guestimate–I don’t think it needs to be too accurate

(Matthew Cooley) #23

I’m super pumped to use this script, but I’m running into an issue where it is getting the list of my student’s assignment repos but it is saying that the repo isn’t found.

I’ve tried it on ssh and https (I don’t have 2FA enabled). Any help would be appreciated!

(Jacob Fiksel) #24

@mrcooleymathman this will be hard for me to solve unless you provide a reproducible example. If you’re using a Windows machine, that could be the source of the problem, and will make it impossible for me to fix. Otherwise, my guess would be that there might be a spelling mistake when you entered the organization name and assignment into the program. If you can’t fix it on your own, you should leave a detailed issue report on the GitHub repo, and you will most likely have to add me to your classroom as an owner so that I can reproduce the error.

(Matthew Cooley) #25

@jfiksel Fair enough. I’m going to give it a little more time troubleshooting. I am on a Mac.

I have a question though: in your tutorial you use the name of your github classroom for the organization (in the script) not the name of the organization that houses your github classroom. When I do that, nothing shows up. When I put the name of the organization in their it will get a list of the repos but it won’t be able to clone them (it says the repo wasn’t found).

In your helper script should I put org_name/classroom_name or classroom_name?

Also, I have to ssh keys on my system (one for personal and one for work) if that matters.

Thanks for your help!

(Jacob Fiksel) #26

@mrcooleymathman I’m not sure what you mean, the organization is simply linked to GitHub Classroom. If the name of the organization you’re using for a certain semester is intro-statistics-fall-2018 then that is what you should input in the script, as I do in the GIF in the tutorial. Any more detailed questions about the script would probably better as an issue in the repo. This could also be an SSH problem. One easy way to see if that is the problem is to manually clone an individual repo from the class and see if it works.

(Matthew Cooley) #27

@jfiksel Thanks for the reply. I must have missed the fact that your org and your classroom are named the same thing. Sorry.

I’m guessing this could be an SSH issue. I can clone an individual repo it works fine. I have my config set up to use my work ssh when I add ‘dtech’ to in the ssh. e.g.

I’ve tried using ssh and https and I get a message saying that the repo isn’t found for both and a warning that I might not have permissions when I use ssh. I’ve just been using my github login password for both. That right?

I’m new to a lot of this so I apologize if the way I’m going about this is obnoxious. I really appreciate you trying to help.

When I use ssh I get the following error message:

Please make sure you have the correct access rights
and the repository exists.
Cloning into ‘unit-2-programming-assignment’…
ERROR: Repository not found.
fatal: Could not read from remote repository.

(Jacob Fiksel) #28

@mrcooleymathman this is not the thread for solving individual problems. I would find someone more local to you that is familiar with GitHub and can help you out.

(Matthew Cooley) #29

Fair enough. Thanks.

(Edward A. Roualdes) #30

Thanks jfiksel (and konzy) for these scripts!

In case it helps anybody else, I ended up using a personal access token instead of my password. Somehow, I couldn’t get my I’m-sure-it-works-otherwise password to work, but the access token did work. After setting up the access token, I literally just use it in place of the password.