diff --git a/tools/setup-labels b/tools/setup-labels new file mode 100755 index 0000000000000000000000000000000000000000..0f4ca6b1efff2779dfcdd606c1887cd6b6a85d8b --- /dev/null +++ b/tools/setup-labels @@ -0,0 +1,67 @@ +#!/bin/bash +# +## This script sets up labels for issues in your GitHub repository. +## +## Syntax: +## +## $ tools/setup-label OWNER REPO +## +## Parameters: +## +## - OWNER: GitHub username of the owner of the repository +## - REPO: the name of the repository +## +## Example: +## +## For set up the labels at https://github.com/wking/swc-modular-shell use +## +## $ tools/setup-label wking swc-modular-shell + +if test $# -lt 2 +then + echo "Missing parameters." + echo + grep '^##' tools/setup-labels | sed 's/## //' | sed 's/##//' + exit 1 +fi + +OWNER=$1 +REPO=$2 +GITHUB_URL=https://github.com/${OWNER}/${REPO} +LABELS=(getting-started working-in-progress discussion) +COLORS=(fbca04 f7c6c7 5319e7) + +# Test if repository exists +curl -s --head ${GITHUB_URL} | head -n 1 | grep -q "HTTP/1.[01] [23].." +if test $? -ne 0 +then + echo "ERROR: this repository doesn't exist" + exit $? +fi + +echo "Before setup the labels for ${GITHUB_URL}" +echo "you must provide some informations." +echo "Your GitHub username:" +read USERNAME +echo "Your GitHub password:" +read -s PASSWORD + +# Create labels +for INDEX in $(seq 1 ${#LABELS[*]}) +do + curl -s -f -X POST \ + -u ${USERNAME}:${PASSWORD} \ + -d "{\"name\":\"${LABELS[${INDEX}]}\",\"color\":\"${COLORS[${INDEX}]}\"}" \ + "https://api.github.com/repos/${OWNER}/${REPO}/labels" > /dev/null + if test $? -ne 0 + then + echo "Failed when trying to create the label ${LABELS[${INDEX}]}." + echo "Probably the label ${LABELS[${INDEX}]} already exists." + echo "Please check at ${GITHUB_URL}/labels or run" + echo + echo " $ curl -X POST -u ${USERNAME} -d \"{\"name\":\"${LABELS[${INDEX}]}\",\"color\":\"${COLORS[${INDEX}]}\"}\" \"https://api.github.com/repos/${OWNER}/${REPO}/labels\"" + echo + echo "to get more information of the error. If you find a bug" + echo "report it at https://github.com/swcarpentry/lesson-template/." + fi +done