#!/bin/bash # BEGIN installer-specific params readonly REDMINE_PROJECT_ID=8 readonly ISSUE_TITLE="[IMSTALL-MEDIA]: report-bug.sh uploaded install.log" readonly ISSUE_DESC="" readonly UPLOAD_FILENAME="install.log" readonly UPLOAD_MIMETYPE='text/plain' readonly UPLOAD_DESC="$(grep 'VERSION_ID=' /etc/os-release) $(grep 'VARIANT_ID=' /etc/os-release)" readonly UPLOAD_FILE=/home/parabola/Desktop/install.log # TODO: generalize this script to handle image uploads and user-selected tracker and description # readonly REDMINE_PROJECT_ID=$1 # readonly ISSUE_TITLE="$2" # readonly UPLOAD_FILENAME="$3" # readonly UPLOAD_MIMETYPE="$4" # readonly UPLOAD_DESC="$5" # readonly UPLOAD_FILE="$6" # END installer-specific params readonly REDMINE_URL=https://labs.parabola.nu readonly REDMINE_API_KEY='978ee27e1b21969eeeae83a1760b7467b63d32bf' readonly POST_UPLOADS_URL=$REDMINE_URL/uploads.xml readonly POST_ISSUES_URL=$REDMINE_URL/issues.xml readonly POST_UPLOADS_MIMETYPE='application/octet-stream' readonly POST_ISSUES_MIMETYPE='application/xml' readonly POST_ISSUE_XML_FMT=" %s %s %s%s " readonly UPLOADS_XML_FMT=" %s " readonly UPLOAD_XML_FMT=" %s %s %s %s " : < 338.261c95326446ce36879671466457f2db EXAMPLE_UPLOAD_RESPONSE : < 1576 Creating an issue with a uploaded file via curl details here ... 2017-12-17 0 false 2017-12-17T16:07:38Z 2017-12-17T16:07:38Z EXAMPLE_CREATE_ISSUE_RESPONSE PostRequest() { mimetype=$1 body=$2 url=$3 curl -X POST \ --header "Content-Type: $mimetype" \ --header "X-Redmine-API-Key: $REDMINE_API_KEY" \ --data-binary "$body" \ $url } if [ "$UPLOAD_FILE" ] then resp=$(PostRequest $POST_UPLOADS_MIMETYPE "@$UPLOAD_FILE" $POST_UPLOADS_URL) upload_token=$(echo "$resp" | sed 's|.*\(.*\).*|\1|' [ -z "$upload_token" ] && echo "upload failed" && exit 1 upload_xml=$(printf "$UPLOAD_XML_FMT" "$upload_token" "$UPLOAD_FILENAME" \ "$UPLOAD_DESC" $UPLOAD_MIMETYPE ) uploads_xml=$(printf "$UPLOADS_XML_FMT" "$upload_xml") fi issue_xml=$(printf "$POST_ISSUE_XML_FMT" $REDMINE_PROJECT_ID "$ISSUE_TITLE" \ "$ISSUE_DESC" "$uploads_xml" ) resp=$(PostRequest $POST_ISSUES_MIMETYPE "$issue_xml" $POST_ISSUES_URL) echo "$(echo "$resp" | sed 's|.*\(.*\).*|\1|')"