Skip to content
Snippets Groups Projects
Commit 129197d0 authored by steven.liatti's avatar steven.liatti
Browse files

Add bash script to batch operations

parent 813ccc4b
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env bash
if [[ $# != 4 ]]; then
echo "Usage: $0 <token> <group_name> <import_url> <repos_students>"
exit 1
fi
token=$1
group_name=$2
import_url=$3
repos_students=$4
group=$(scripts/create_group.py $token $group_name)
group_id=$(echo $group | cut -d';' -f2)
printf "$group\n\n"
for line in $(cat $repos_students); do
project_name=$(echo $line | cut -d';' -f1)
students=$(echo $line | cut -d';' -f2)
new_repo=$(scripts/create_repo_for_students.py $token $import_url $group_id $project_name $students)
printf "$new_repo\n\n"
done
......@@ -41,7 +41,7 @@ for repo in repositories:
members_names = ''
for member in members:
members_names += member['username'] + ', '
members_names += "'" + member['name'] + "' (" + member['username'] + '), '
print('Members: ' + members_names)
print('Web url: ' + web_url)
......
......@@ -25,5 +25,4 @@ if 'message' in group:
print('Error in creating group: %s' % group)
exit(1)
print("Group '" + group['name'] + "' with id '" + str(group['id']) + "' and visibility '" + group['visibility'] + "' available at '" + group['web_url'] + "'")
print(str(group['id']))
\ No newline at end of file
print("Group '" + group['name'] + "' with id '" + str(group['id']) + "' and visibility '" + group['visibility'] + "' available at '" + group['web_url'] + "';" + str(group['id']))
......@@ -35,10 +35,16 @@ project = requests.post(base_url + '/projects', params=params, headers=headers).
if 'message' in project:
print('Error in creating project: %s' % project)
exit(1)
print("Project '" + project['name'] + "' at '" + project['web_url'] + "' created")
# Add each student as project's maintainer (level 40)
for user_id in users_ids:
params = {'user_id': user_id, 'access_level': 40}
new_user = requests.post(base_url + '/projects/' + str(project['id']) + '/members', params=params, headers=headers).json()
if 'message' in new_user:
print('Error in adding user: %s' % new_user)
else:
print("Adding '" + new_user['name'] + "' (" + new_user['username'] + ") in '" + project['name'] + "'")
# Do not forget : students have to add second remote in their local repositories for pulling last changes.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment