123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #!/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:
- \`docker version\`:
- `${DOCKER_COMMAND} -D version`
- \`docker info\`:
- `${DOCKER_COMMAND} -D info`
- \`uname -a\`:
- `uname -a`
- Environment details (AWS, VirtualBox, physical, etc.):
- How reproducible:
- Steps to Reproduce:
- 1.
- 2.
- 3.
- Actual Results:
- Expected Results:
- Additional info:
- 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 ""
- if [ "x${use_sudo}" = "xy" -o "x${use_sudo}" = "xY" ]; then
- 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}"
|