###前提・実現したいこと
Redmine 3.4.2
Amazon Linux
Zabbix 2.2.10
Zabbixサーバからスクリプトを実行させてRedmineにチケット登録させようとしています。
###発生している問題・エラーメッセージ
以下の 成功 にあるコマンドをスクリプトに記載してZabbixサーバが実行するとチケット登録ができるのですが、descriptionやsubjectを引数に置き換えるとチケット登録できませんでした。
原因はシングルクォートで囲っている為変数が展開できないと考え、変数が展開できるようにしたのですが、それでもチケット登録できませんでした。
どのようにすればチケット登録できるようになるのでしょうか。
■成功
result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data '{"issue": {"description": "障害本文","project_id": "test","subject": "障害題名","priority_id": 3}}' $redmine_url`
■失敗($result の中身は空)
result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "'{"issue": {"description": "$description","project_id": "test","subject": "$subject","priority_id": 3}}'" $redmine_url` result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "'{\"issue\": {\"description\": \"${description}\",\"project_id\": \"test\",\"subject\": \"${subject}\",\"priority_id\": 3}}'" $redmine_url` result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "'{\\"issue\\": {\\"description\\": \\"${description}\\",\\"project_id\\": \\"test\\",\\"subject\\": \\"${subject}\\",\\"priority_id\\": 3}}'" $redmine_url` result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "'{\\\"issue\\\": {\\\"description\\\": \\\"${description}\\\",\\\"project_id\\\": \\\"test\\\",\\\"subject\\\": \\\"${subject}\\\",\\\"priority_id\\\": 3}}'" $redmine_url` result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "'{\\\\"issue\\\\": {\\\\"description\\\\": \\\\"${description}\\\\",\\\\"project_id\\\\": \\\\"test\\\\",\\\\"subject\\\\": \\\\"${subject}\\\\",\\\\"priority_id\\\\": 3}}'" $redmine_url` result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "'{\\\\\"issue\\\\\": {\\\\\"description\\\\\": \\\\\"${description}\\\\\",\\\\\"project_id\\\\\": \\\\\"test\\\\\",\\\\\"subject\\\\\": \\\\\"${subject}\\\\\",\\\\\"priority_id\\\\\": 3}}'" $redmine_url`
###試したこと
ダブルクォーテーションがエスケープされていないのかと考えて\マーク5個までつけて試しましたが変わりませんでした。
###Redmine側のログ
/var/log/httpd/access_logには以下のログが出力されていました。
"POST /redmine/issues.json HTTP/1.1" 400 - "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

回答1件
あなたの回答
tips
プレビュー