Commit f3d1db70 authored by Harsha's avatar Harsha Committed by Santhosh Gandham
Browse files

Issue #00 feat: github api's scripts (#646)

parent 35da079d
master login-changes loginRegisterBtn prasath-release-5.1.0 release-5.1.0 release-5.1.0-api release-5.1.0-apiuat release-5.1.0-bulk-enrol-unenrol release-5.1.0-uat release-5.1.0-uatLatest release-5.1.0-uatapi release-5.1.0-upsmf-prod release-uat-nginx revert-5-login-changes upstream/release-5.1.0-vdn 3nodeinstall 3node-prior-rebase-2-5 3node-2.6.0 3node 3node_bak_new temp-ratelimit_RC1 tags-for-monitoring-jobs tag-for-backups tag-for-backups_RC1 tag-2.4.0 sunbird-monitoring-release-3.5.0_RC1 sunbird-monitoring-release-3.3.0_RC1 sunbird-monitoring-release-2.6.0 sunbird-monitoring-release-2.6.0_RC6 sunbird-monitoring-release-2.6.0_RC5 sunbird-monitoring-release-2.6.0_RC4 sunbird-monitoring-release-2.6.0_RC3 sunbird-monitoring-release-2.6.0_RC2 sunbird-monitoring-release-2.6.0_RC1 sunbird-monitoring-release-2.5.0_484f884 sunbird-monitoring-release-2.5.0 sunbird-monitoring-release-2.5.0_RC3 sunbird-monitoring-release-2.5.0_RC2 sunbird-monitoring-release-2.5.0_RC1 sunbird-monitoring-release-2.3.0_9009005 sunbird-monitoring-release-2.3.0 sunbird-monitoring-release-2.3.0_RC4 sunbird-monitoring-release-2.3.0_RC3 sunbird-monitoring-release-2.3.0_RC2 sunbird-monitoring-release-2.3.0_RC1 sunbird-monitoring-release-2.2.0_RC1 sunbird.org-release-2.3.0 service-rename-player-2.5.0_RC9 service-rename-kong-2.5.0_RC4 service-rename-content-2.3.0_RC4 secor-lag revert-incorrect revert-942-release-2.6.0 revert-872-SC-1392-ftl-fix release-dock-0.0.3_RC2 release-dock-0.0.3_RC1 release-5.2.0-inquiry_RC1 release-5.1.0_RC3 release-5.1.0_RC2 release-5.1.0_RC1 release-5.0.2 release-5.0.2_RC1 release-5.0.1 release-5.0.1_RC1 release-5.0.0 release-5.0.0_RC5 release-5.0.0_RC4 release-5.0.0_RC3 release-5.0.0_RC2 release-5.0.0_RC1 release-5.0.0-vdn_RC1 release-4.10.2_RC1 release-4.10.1 release-4.10.1_RC2 release-4.10.1_RC1 release-4.10.0 release-4.10.0_RC1 release-4.10.0-vdn_RC1 release-4.9.0 release-4.9.0_RC4 release-4.9.0_RC3 release-4.9.0_RC2 release-4.9.0_RC1 release-4.9.0-vdn_RC2 release-4.9.0-vdn_RC1 release-4.8.0 release-4.8.0_RC8 release-4.8.0_RC7 release-4.8.0_RC6 release-4.8.0_RC5 release-4.8.0_RC4 release-4.8.0_RC3 release-4.8.0_RC2 release-4.8.0_RC1 release-4.8.0-vdn_RC1 release-4.7.0 release-4.7.0_RC3 release-4.7.0_RC2 release-4.7.0_RC1 release-4.7.0-vdn_RC1 release-4.6.0 release-4.6.0_RC4 release-4.6.0_RC3 release-4.6.0_RC2 release-4.6.0_RC1 release-4.5.0 release-4.5.0_RC6 release-4.5.0_RC5 release-4.5.0_RC4 release-4.5.0_RC3 release-4.5.0_RC2 release-4.5.0_RC1 release-4.4.1_RC2 release-4.4.1_RC1 release-4.4.1-vdn_RC2 release-4.4.1-vdn_RC1 release-4.4.0 release-4.4.0_RC10 release-4.4.0_RC9 release-4.4.0_RC8 release-4.4.0_RC7 release-4.4.0_RC6 release-4.4.0_RC5 release-4.4.0_RC4 release-4.4.0_RC3 release-4.4.0_RC2 release-4.4.0_RC1 release-4.3.0 release-4.3.0_RC7 release-4.3.0_RC6 release-4.3.0_RC5 release-4.3.0_RC4 release-4.3.0_RC3 release-4.3.0_RC2 release-4.3.0_RC1 release-4.2.0 release-4.2.0_RC6 release-4.2.0_RC5 release-4.2.0_RC4 release-4.2.0_RC3 release-4.2.0_RC2 release-4.2.0_RC1 release-4.1.0 release-4.1.0_RC20 release-4.1.0_RC19 release-4.1.0_RC18 release-4.1.0_RC17 release-4.1.0_RC16 release-4.1.0_RC15 release-4.1.0_RC14 release-4.1.0_RC13 release-4.1.0_RC12 release-4.1.0_RC11 release-4.1.0_RC10 release-4.1.0_RC9 release-4.1.0_RC8 release-4.1.0_RC7 release-4.1.0_RC6 release-4.1.0_RC5 release-4.1.0_RC4 release-4.1.0_RC3 release-4.1.0_RC2 release-4.1.0_RC1 release-4.0.0 release-4.0.0_RC6 release-4.0.0_RC5 release-4.0.0_RC4 release-4.0.0_RC3 release-4.0.0_RC2 release-4.0.0_RC1 release-3.9.0 release-3.9.0_RC18 release-3.9.0_RC17 release-3.9.0_RC16 release-3.9.0_RC15 release-3.9.0_RC14 release-3.9.0_RC13 release-3.9.0_RC12 release-3.9.0_RC11 release-3.9.0_RC10 release-3.9.0_RC9 release-3.9.0_RC8 release-3.9.0_RC7 release-3.9.0_RC6 release-3.9.0_RC5 release-3.9.0_RC4 release-3.9.0_RC3 release-3.9.0_RC2 release-3.9.0_RC1 release-3.8.0 release-3.8.0_RC14 release-3.8.0_RC13 release-3.8.0_RC12 release-3.8.0_RC11 release-3.8.0_RC10 release-3.8.0_RC9 release-3.8.0_RC8 release-3.8.0_RC7 release-3.8.0_RC6 release-3.8.0_RC5 release-3.8.0_RC4 release-3.8.0_RC3 release-3.8.0_RC2 release-3.8.0_RC1 release-3.7.0_RC16 release-3.7.0_RC15 release-3.7.0_RC14 release-3.7.0_RC13 release-3.7.0_RC12 release-3.7.0_RC11 release-3.7.0_RC10 release-3.7.0_RC9 release-3.7.0_RC8 release-3.7.0_RC7 release-3.7.0_RC6 release-3.7.0_RC5 release-3.7.0_RC4 release-3.7.0_RC3 release-3.7.0_RC2 release-3.7.0_RC1 release-3.6.5_RC1 release-3.6.0_RC8 release-3.6.0_RC7 release-3.6.0_RC6 release-3.6.0_RC5 release-3.6.0_RC4 release-3.6.0_RC3 release-3.6.0_RC2 release-3.6.0_RC1 release-3.5.0 release-3.5.0_RC8 release-3.5.0_RC7 release-3.5.0_RC6 release-3.5.0_RC5 release-3.5.0_RC4 release-3.5.0_RC3 release-3.5.0_RC2 release-3.5.0_RC1 release-3.4.0 release-3.4.0_RC21 release-3.4.0_RC20 release-3.4.0_RC19 release-3.4.0_RC18 release-3.4.0_RC17 release-3.4.0_RC16 release-3.4.0_RC15 release-3.4.0_RC14 release-3.4.0_RC13 release-3.4.0_RC12 release-3.4.0_RC11 release-3.4.0_RC10 release-3.4.0_RC9 release-3.4.0_RC8 release-3.4.0_RC7 release-3.4.0_RC6 release-3.4.0_RC5 release-3.4.0_RC4 release-3.4.0_RC3 release-3.4.0_RC2 release-3.4.0_RC1 release-3.3.0_RC24 release-3.3.0_RC23 release-3.3.0_RC22 release-3.3.0_RC21 release-3.3.0_RC20 release-3.3.0_RC19 release-3.3.0_RC18 release-3.3.0_RC17 release-3.3.0_RC16 release-3.3.0_RC15 release-3.3.0_RC14 release-3.3.0_RC13 release-3.3.0_RC12 release-3.3.0_RC11 release-3.3.0_RC10 release-3.3.0_RC9 release-3.3.0_RC8 release-3.3.0_RC7 release-3.3.0_RC6 release-3.3.0_RC5 release-3.3.0_RC4 release-3.3.0_RC3 release-3.3.0_RC2 release-3.3.0_RC1 release-3.2.7 release-3.2.7_RC14 release-3.2.7_RC13 release-3.2.7_RC12 release-3.2.7_RC11 release-3.2.7_RC10 release-3.2.7_RC9 release-3.2.7_RC8 release-3.2.7_RC7 release-3.2.7_RC6 release-3.2.7_RC5 release-3.2.7_RC4 release-3.2.7_RC3 release-3.2.7_RC2 release-3.2.7_RC1 release-3.2.0_RC21 release-3.2.0_RC20 release-3.2.0_RC19 release-3.2.0_RC18 release-3.2.0_RC17 release-3.2.0_RC16 release-3.2.0_RC15 release-3.2.0_RC14 release-3.2.0_RC13 release-3.2.0_RC12 release-3.2.0_RC11 release-3.2.0_RC10 release-3.2.0_RC9 release-3.2.0_RC8 release-3.2.0_RC7 release-3.2.0_RC6 release-3.2.0_RC5 release-3.2.0_RC4 release-3.2.0_RC3 release-3.2.0_RC2 release-3.2.0_RC1 release-3.1.0 release-3.1.0_RC10 release-3.1.0_RC9 release-3.1.0_RC8 release-3.1.0_RC7 release-3.1.0_RC6 release-3.1.0_RC5 release-3.1.0_RC4 release-3.1.0_RC3 release-3.1.0_RC2 release-3.1.0_RC1 release-3.0.1_RC7 release-3.0.1_RC6 release-3.0.1_RC5 release-3.0.1_RC4 release-3.0.1_RC3 release-3.0.1_RC2 release-3.0.1_RC1 release-3.0.0 release-3.0.0_RC42 release-3.0.0_RC41 release-3.0.0_RC40 release-3.0.0_RC39 release-3.0.0_RC38 release-3.0.0_RC37 release-3.0.0_RC36 release-3.0.0_RC35 release-3.0.0_RC34 release-3.0.0_RC33 release-3.0.0_RC32 release-3.0.0_RC31 release-3.0.0_RC30 release-3.0.0_RC29 release-3.0.0_RC28 release-3.0.0_RC27 release-3.0.0_RC26 release-3.0.0_RC25 release-3.0.0_RC24 release-3.0.0_RC23 release-3.0.0_RC22 release-3.0.0_RC21 release-3.0.0_RC20 release-3.0.0_RC19 release-3.0.0_RC18 release-3.0.0_RC17 release-3.0.0_RC16 release-3.0.0_RC15 release-3.0.0_RC14 release-3.0.0_RC13 release-3.0.0_RC12 release-3.0.0_RC11 release-3.0.0_RC10 release-3.0.0_RC9 release-3.0.0_RC8 release-3.0.0_RC7 release-3.0.0_RC6 release-3.0.0_RC5 release-3.0.0_RC4 release-3.0.0_RC3 release-3.0.0_RC2 release-3.0.0_RC1 release-2.10.0 release-2.10.0_RC24 release-2.10.0_RC23 release-2.10.0_RC22 release-2.10.0_RC21 release-2.10.0_RC20 release-2.10.0_RC19 release-2.10.0_RC18 release-2.10.0_RC17 release-2.10.0_RC16 release-2.10.0_RC15 release-2.10.0_RC14 release-2.10.0_RC13 release-2.10.0_RC12 release-2.10.0_RC11 release-2.10.0_RC10 release-2.10.0_RC9 release-2.10.0_RC8 release-2.10.0_RC7 release-2.10.0_RC6 release-2.10.0_RC5 release-2.10.0_RC4 release-2.10.0_RC3 release-2.10.0_RC2 release-2.10.0_RC1 release-2.9.0_RC13 release-2.9.0_RC12 release-2.9.0_RC11 release-2.9.0_RC10 release-2.9.0_RC9 release-2.9.0_RC8 release-2.9.0_RC7 release-2.9.0_RC6 release-2.9.0_RC5 release-2.9.0_RC4 release-2.9.0_RC3 release-2.9.0_RC2 release-2.9.0_RC1 release-2.8.0 release-2.8.0_RC34 release-2.8.0_RC33 release-2.8.0_RC32 release-2.8.0_RC31 release-2.8.0_RC30 release-2.8.0_RC29 release-2.8.0_RC28 release-2.8.0_RC27 release-2.8.0_RC26 release-2.8.0_RC25 release-2.8.0_RC24 release-2.8.0_RC23 release-2.8.0_RC22 release-2.8.0_RC21 release-2.8.0_RC20 release-2.8.0_RC19 release-2.8.0_RC18 release-2.8.0_RC17 release-2.8.0_RC16 release-2.8.0_RC15 release-2.8.0_RC14 release-2.8.0_RC13 release-2.8.0_RC12 release-2.8.0_RC11 release-2.8.0_RC10 release-2.8.0_RC9 release-2.8.0_RC8 release-2.8.0_RC7 release-2.8.0_RC6 release-2.8.0_RC5 release-2.8.0_RC4 release-2.8.0_RC3 release-2.8.0_RC2 release-2.8.0_RC1 release-2.8.0-desktopapis-hotfix release-2.7.0 release-2.7.0_RC16 release-2.7.0_RC15 release-2.7.0_RC14 release-2.7.0_RC13 release-2.7.0_RC12 release-2.7.0_RC11 release-2.7.0_RC10 release-2.7.0_RC9 release-2.7.0_RC8 release-2.7.0_RC7 release-2.7.0_RC6 release-2.7.0_RC5 release-2.7.0_RC4 release-2.7.0_RC3 release-2.7.0_RC2 release-2.7.0_RC1 release-2.6.5_RC3 release-2.6.5_RC2 release-2.6.5_RC1 release-2.6.5_Kong10_RC2 release-2.6.0 release-2.6.0_kong9 release-2.6.0_kong_RC1 release-2.6.0_RC25 release-2.6.0_RC24 release-2.6.0_RC23 release-2.6.0_RC22 release-2.6.0_RC21 release-2.6.0_RC20 release-2.6.0_RC19 release-2.6.0_RC18 release-2.6.0_RC17 release-2.6.0_RC16 release-2.6.0_RC15 release-2.6.0_RC14 release-2.6.0_RC13 release-2.6.0_RC12 release-2.6.0_RC11 release-2.6.0_RC10 release-2.6.0_RC9 release-2.6.0_RC8 release-2.6.0_RC7 release-2.6.0_RC6 release-2.6.0_RC5 release-2.6.0_RC4 release-2.6.0_RC3 release-2.6.0_RC2 release-2.6.0_RC1 release-2.6.0-k8s_9467d13 release-2.5.0 release-2.5.0_RC12 release-2.5.0_RC11 release-2.5.0_RC10 release-2.5.0_RC9 release-2.5.0_RC9_portalfix release-2.5.0_RC8 release-2.5.0_RC7 release-2.5.0_RC6 release-2.5.0_RC5 release-2.5.0_RC4 release-2.5.0_RC4_kong release-2.5.0_RC3 release-2.5.0_RC2 release-2.5.0_RC1 release-2.4.0 release-2.4.0_RC9 release-2.4.0_RC9_portal_RC2 release-2.4.0_RC9_portal_RC1 release-2.4.0_RC8 release-2.4.0_RC7 release-2.4.0_RC6 release-2.4.0_RC5 release-2.4.0_RC4 release-2.4.0_RC3 release-2.4.0_RC2 release-2.4.0_RC2_kong_9 release-2.4.0_RC1 release-2.3.5_RC5 release-2.3.5_RC4 release-2.3.5_RC3 release-2.3.5_RC2 release-2.3.5_RC1 release-2.3.5_RC1_kong_9 release-2.3.0 release-2.3.0_RC9 release-2.3.0_RC8 release-2.3.0_RC7 release-2.3.0_RC6 release-2.3.0_RC5 release-2.3.0_RC4 release-2.3.0_RC3 release-2.3.0_RC2 release-2.3.0_RC1 release-2.2.1 release-2.2.1_RC5 release-2.2.1_RC4 release-2.2.1_RC3 release-2.2.1_RC2 release-2.2.1_RC1 release-2.2.0_4ffad98 release-2.2.0_RC11 release-2.2.0_RC10 release-2.2.0_RC9 release-2.2.0_RC8 release-2.2.0_RC7 release-2.2.0_RC6 release-2.2.0-kong9 portal-fix player-var original-tag-2.4.0 master master_e26ae85 loadtest-release-2.10.0_nginx_prometheus kubernetes keycloak-3.2.0 keycloak-3.2.0_RC1 keycloak7_RC1 jenkins-config fix-tag-2.4.0 es-mapping dock-0.0.3_RC7 dock-0.0.3_RC6 dock-0.0.3_RC5 dock-0.0.3_RC4 dock-0.0.3_RC3 dock-0.0.3_RC2 dock-0.0.3_RC1 dock-0.0.3-before-delete dock-0.0.2_RC13 dock-0.0.2_RC12 dock-0.0.2_RC11 dock-0.0.2_RC10 dock-0.0.2_RC9 dock-0.0.2_RC8 dock-0.0.2_RC7 dock-0.0.2_RC6 dock-0.0.2_RC5 dock-0.0.2_RC4 dock-0.0.2_RC3 dock-0.0.2_RC2 dock-0.0.2_RC1 backup api-prod-deployment SMYALTAMASH-patch-1 SB-14110
No related merge requests found
Showing with 216 additions and 0 deletions
+216 -0
# Using scripts:
- All the scripts are using the github api's.
- All the scripts will take github.csv file as input and read each line to get the values of all variables
- First udpate github.csv file row wise and run the scripts
- In github.csv there are 4 variables with comma seperated
REPO_NAME,BRANCH_NAME,MERGE_ACCESS_USERS(;),CHECKS
MERGE_ACCESS_USERS and CHECKS: These variables are required only by disableBranchProtection.sh script.
#!/bin/bash
read -p "Enter Github Username: " user
read -sp "Enter Github Password: " pass
echo " "
IFS=','
grep -v -e '#' -e "^$" github.csv | while read -ra LINE
do
repo_name="${LINE[0]}"
branch_name="${LINE[1]}"
echo "----------------------------------------------------"
echo -e '\033[0;32m'$repo_name' '$branch_name'\033[0m'
echo "----------------------------------------------------"
curl -u $user:$pass -XDELETE https://api.github.com/repos/project-sunbird/$repo_name/git/refs/heads/$branch_name
done
#!/bin/bash
read -p "Enter Github Username: " user
read -sp "Enter Github Password: " pass
echo " "
IFS=','
grep -v -e '#' -e "^$" github.csv | while read -ra LINE
do
repo_name="${LINE[0]}"
branch_name="${LINE[1]}"
echo "----------------------------------------------------"
echo -e '\033[0;32m'$repo_name' '$branch_name'\033[0m'
echo "----------------------------------------------------"
curl -u $user:$pass -XDELETE \
-H "Accept: application/vnd.github.loki-preview+json" \
-d '{
"protection": {
"enabled": null
},
"restrictions": null,
"required_status_checks": null,
"enforce_admins": null,
"required_pull_request_reviews": null
}' "https://api.github.com/repos/project-sunbird/$repo_name/branches/$branch_name/protection"
done
#!/bin/bash -xv
read -p "Enter the github username: " user
read -sp "Enter the password: " pass
echo " "
statusChecks=0
IFS=','
#read input from a file
grep -v -e '#' -e "^$" github.csv | while read -ra LINE
do
repo_name="${LINE[0]}"
branch_name="${LINE[1]}"
users="${LINE[2]}"
check="${LINE[3]}"
unset IFS
Users=\"$users\"
githubUsers=$(echo $Users | sed 's/;/\",\"/g')
echo "------------------------------------------------------------------"
echo -e '\033[0;32m'$repo_name $branch_name $githubUsers $check'\033[0m'
echo "------------------------------------------------------------------"
IFS=','
if [[ $check == "1" ]]; then
statusChecks='"Codacy/PR Quality Review"'
elif [[ $check == "2" ]]; then
statusChecks='"ci/circleci: build"'
elif [[ $check == "3" ]]; then
statusChecks='"Codacy/PR Quality Review",
"ci/circleci: build"'
else
echo "Provide correct value!"
fi
curl -u $user:$pass -XPUT \
-H 'Accept: application/vnd.github.luke-cage-preview+json' \
-d '{
"protection": {
"enabled": true
},
"enforce_admins": true,
"required_pull_request_reviews": {
"dismiss_stale_reviews": true,
"require_code_owner_reviews": false,
"required_approving_review_count": 1
},
"required_status_checks": {
"strict": true,
"contexts": [
'"$statusChecks"'
]
},
"restrictions": {
"users": [
'"$githubUsers"'
],
"teams": [
"null"
]
}
}' "https://api.github.com/repos/project-sunbird/$repo_name/branches/$branch_name/protection"
done
#!/bin/bash
read -p "Enter the username: " user
read -sp "Enter the password:" pass
echo " "
read -p "Enter the repo name:" repo_name
read -p "Enter the branch name:" branch_name
echo -e "status check: \n 1. codacy \n 2. circleci \n 3. both"
read -p "enter number:" check
check=${check:-3}
statusChecks=0
read -p "enter username for merge access:" users
Users=\"$users\"
githubUsers=$(echo $Users | sed 's/,/\",\"/g')
if [[ $check == "1" ]]; then
statusChecks='"Codacy/PR Quality Review"'
elif [[ $check == "2" ]]; then
statusChecks='"ci/circleci: build"'
elif [[ $check == "3" ]]; then
statusChecks='"Codacy/PR Quality Review",
"ci/circleci: build"'
else
echo "Select correct option!"
fi
echo $statusChecks
echo $githubUsers
curl -u $user:$pass -XPUT \
-H 'Accept: application/vnd.github.luke-cage-preview+json' \
-d '{
"protection": {
"enabled": true
},
"enforce_admins": true,
"required_pull_request_reviews": {
"dismiss_stale_reviews": true,
"require_code_owner_reviews": false,
"required_approving_review_count": 1
},
"required_status_checks": {
"strict": true,
"contexts": [
'"$statusChecks"'
]
},
"restrictions": {
"users": [
'"$githubUsers"'
],
"teams": [
"null"
]
}
}' "https://api.github.com/repos/project-sunbird/$repo_name/branches/$branch_name/protection"
#!/bin/bash
read -p "Enter Github Username: " user
read -sp "Enter Github Password: " pass
echo " "
IFS=','
grep -v -e '#' -e "^$" github.csv | while read -ra LINE
do
repo_name="${LINE[0]}"
branch_name="${LINE[1]}"
echo "----------------------------------------------------"
echo -e '\033[0;32m'$repo_name' '$branch_name'\033[0m'
echo "----------------------------------------------------"
curl -u $user:$pass -XGET https://api.github.com/repos/project-sunbird/$repo_name/branches/$branch_name/protection
done
#!/bin/bash
read -p "Enter Github Username: " user
read -sp "Enter Github Password: " pass
echo " "
IFS=','
grep -v -e '#' -e "^$" github.csv | while read -ra LINE
do
repo_name="${LINE[0]}"
echo "----------------------------------------------------"
echo -e '\033[0;32m'$repo_name'\033[0m'
echo "----------------------------------------------------"
curl -u $user:$pass -s -N https://api.github.com/repos/project-sunbird/$repo_name/branches | jq '.[].name' -r
done
#!/bin/bash
read -p "Enter Github Username: " user
read -sp "Enter Github Password: " pass
echo " "
read -p "Enter Github Account Name: " acc_name
echo "---------------------------------------------"
echo -e '\033[0;32m'$acc_name'\033[0m'
echo "---------------------------------------------"
curl -s -N https://api.github.com/users/$acc_name/repos\?per_page=100 | jq '.[].name' -r
#REPO_NAME,BRANCH_NAME,MERGE_ACCESS_USERS(;),CHECKS
sunbird-lms-service,jenkins-test,harshavardhanc;abcb,3
#NOTE:
#MERGE_ACCESS_USERS SHOULD BE (;) seperated
#CHECKS: 1.codacy 2.cirleci 3.both
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment