LoginSignup
16
17

More than 5 years have passed since last update.

RedmineからチケットをPDFで一括ダウンロード (API & sh)

Posted at

管理者をしていると、いろいろリクエストがあるので、簡単に実行できるものを用意しました…。

#!/bin/sh

USAGE="usage: $0 [REDMINE_URL] [PROJECT_ID] [API_KEY]"

if [ $# -lt 3 ]; then
echo >&2 $USAGE
  exit 1
fi

REDMINE_URL=$1
PROJECT_ID=$2
API_KEY=$3

echo wget --content-disposition $REDMINE_URL/projects/$PROJECT_ID/issues.csv?key=$API_KEY&status_id=*
wget -nv --content-disposition $REDMINE_URL/projects/$PROJECT_ID/issues.csv?key=$API_KEY&status_id=*

# CSVが取得できるまで待ちましょう
wait

IFS=","
while read f1 f2
do
     if [ "$f1" != "#" ]; then
     echo "IssueID: $f1"
     wget -nv --content-disposition $REDMINE_URL/issues/${f1}.pdf?key=$API_KEY --output-document=${f1}.pdf
     fi
done < issues.csv

ポイント

  • 基本はshell + 標準のwgetを使っていますので、特に準備は無いと思われます。
  • status_id=* のパラメータをくっつけると、ステータス関係無しで全チケットをCSVに出します。
  • CSV出力ルールでは、1列目がチケットIDなので、後はひたすら1列目のIDを指定してwgetでPDFを落とします…。

エラー処理とか完全ではないですが、ひとまず動きますので、執事にやってもらうでも何でもご利用いただけると嬉しいです。

16
17
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17