📄

RedmineのアクティブなユーザーのAPIキーを強制的に生成して表示する

2021/07/14に公開

Redmine 4.2において、ユーザーのAPIキーが作成されるのは User#api_key メソッドを実行したときです。そのメソッドが呼ばれるのは「個人設定」画面でAPIアクセスキーの表示を行ったときです。つまり、ユーザーが特定の操作をしない限りAPIキーは存在しない状態です。

ユーザーに操作を依頼せずにAPIキーの作成・収集を行いたい場合、サーバ上のコマンドラインでRedmineを直接操作すれば実現できます。Redmineのインストールディレクトリでコマンドを実行すると、ユーザーのid番号、ログインID、APIキーの一覧を取得できます。

export RAILS_ENV=production
bin/rails r 'User.active.each {|u| puts [u.id, u.login, u.api_key].join("\t")}'

実行結果例:

1       admin   e35b94ad2f255d1647ac68aee2dcdd6b61b28d51
2       jsmith  94f85a512b6997ea856d5d870b38dd9d18266c96
3       dlopper 448866c49b5d12726d2d75a7ac31b6a561bdf8d3
4       rhill   dff508b1c5a8b8b8b56af7c19b0a9af1914effac
7       someone 624852fe35015f3a76001d1a61fcb18de50cad9a
8       miscuser8       fa9e75f83c30596dbf344ded3aec99845ba688ef
9       miscuser9       f80c559a6ad8761fd30d89a31c3786d914fedaec

Discussion