ea5a2c1f |
#!/bin/sh
# This is a convenience script for reporting issues that include a base
# template of information. See https://github.com/docker/docker/pull/8845
set -e
DOCKER_ISSUE_URL=${DOCKER_ISSUE_URL:-"https://github.com/docker/docker/issues/new"}
DOCKER_ISSUE_NAME_PREFIX=${DOCKER_ISSUE_NAME_PREFIX:-"Report: "}
DOCKER=${DOCKER:-"docker"}
DOCKER_COMMAND="${DOCKER}"
export DOCKER_COMMAND
# pulled from https://gist.github.com/cdown/1163649
function urlencode() {
# urlencode <string>
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:i:1}"
case $c in
[a-zA-Z0-9.~_-]) printf "$c" ;;
*) printf '%%%02X' "'$c"
esac
done
}
function template() {
# this should always match the template from CONTRIBUTING.md
cat <<- EOM
Description of problem: |
7617ec17 |
|
ea5a2c1f |
\`docker version\`:
`${DOCKER_COMMAND} -D version` |
7617ec17 |
|
ea5a2c1f |
\`docker info\`:
`${DOCKER_COMMAND} -D info` |
7617ec17 |
|
ea5a2c1f |
\`uname -a\`:
`uname -a` |
7617ec17 |
|
ea5a2c1f |
Environment details (AWS, VirtualBox, physical, etc.): |
7617ec17 |
|
ea5a2c1f |
How reproducible: |
7617ec17 |
|
ea5a2c1f |
Steps to Reproduce:
1.
2.
3. |
7617ec17 |
|
ea5a2c1f |
Actual Results: |
7617ec17 |
|
ea5a2c1f |
Expected Results: |
7617ec17 |
|
ea5a2c1f |
Additional info: |
7617ec17 |
|
ea5a2c1f |
EOM
}
function format_issue_url() {
if [ ${#@} -ne 2 ] ; then
return 1
fi
local issue_name=$(urlencode "${DOCKER_ISSUE_NAME_PREFIX}${1}")
local issue_body=$(urlencode "${2}")
echo "${DOCKER_ISSUE_URL}?title=${issue_name}&body=${issue_body}"
}
echo -ne "Do you use \`sudo\` to call docker? [y|N]: "
read -r -n 1 use_sudo
echo ""
|
7617ec17 |
if [ "x${use_sudo}" = "xy" -o "x${use_sudo}" = "xY" ]; then |
ea5a2c1f |
export DOCKER_COMMAND="sudo ${DOCKER}"
fi
echo -ne "Title of new issue?: "
read -r issue_title
echo ""
issue_url=$(format_issue_url "${issue_title}" "$(template)")
if which xdg-open 2>/dev/null >/dev/null ; then
echo -ne "Would like to launch this report in your browser? [Y|n]: "
read -r -n 1 launch_now
echo ""
if [ "${launch_now}" != "n" -a "${launch_now}" != "N" ]; then
xdg-open "${issue_url}"
fi
fi
echo "If you would like to manually open the url, you can open this link if your browser: ${issue_url}"
|