(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Redmine/API】curlコマンドでチケットを更新する

スポンサーリンク

やりたいこと

以下で作成済のチケットに対してステータスの更新を行いたい。

尚、APIアクセスキーは個人設定から確認済とする。

環境情報
  • curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL

やり方

例えばstatus_idを変更する場合は以下のようなファイルを用意した上で

$ cat test.json
{
    "issue": {
        "status_id": X
    }
}

curlコマンドのPUTを利用でデータを送付するとチケットが更新される。尚末尾のプレフィックスにはissuesのidを入れる。

$ curl -X PUT -H "Content-Type: application/json" -H "X-Redmine-API-Key: XX" -d @test.json https://xx/xx/issues/XXXX.json

尚、JSONは引数で指定することもできる。

$ curl -X PUT -d '{"issue": {"status_id":9}}' -H "Content-Type: application/json" -H "X-Redmine-API-Key: XX" https://xx/xx/issues/XXXX.json

以下、補足です。

補足

更新する項目に存在しない値を入れたりしても標準出力には何も表示されませんが、-vオプションを確認すると正常に更新がかかった場合は以下が表示されました。

< Set-Cookie: _redmine_session=...; path=/XX...

ちなみに更新時にはPOSTではなくPUTを指定する必要があり、同コマンドにてPUTと記載したまま実行すると

Redmine 404 error

となったのでご注意ください。

以上。

以上です。