プログラミングに関する試行錯誤の記録を残します。最終更新日から90日以上経過しています。前々から効率化したかったこの作業。Redmineは工数入力のAPIが用意されているものの、工数が計上されるのはAPIの実行ユーザーになってしまいます。プログラムからAPI経由で工数を任意のユーザーに計上するのは無理・・・?と思っていましたが、以前の記事で解説した通り、実行ユーザーの指定が可能でした!というわけでやってみます。実行ユーザーを指定する方法https://trialanderror.jp/redmine-api-user-impersonation/ダメ元で調べたらあっさり見つかった・・・。結論ヘッダーに以下を追加するだけ。Id>公式のリファレンスにも記載されていました。注意点としては下記でしょうか。おわりにやりたいこと例えばA,B,Cの3名が1時間打ち合わせした場合、A,B,Cそれぞれが工数入力する必要がある。これでは非効率なので、任意のユーザー(リーダーなり、打ち合わせの主催者なり)が1時間の工数を入力すれば、参加者それぞれに計上される・・・のようにしたい。pluginのインストール方法はコチラ▼を参考。pluginは使用しておらず、自宅で色々試してみて、便利そうだったら会社のRedmineにもインストールできれば、という思惑。pluginを使うと、例えばこんな事ができます。「トラッカー」毎に選択可能...実装内容は下記の通り。カスタマイズする画面は、工数入力画面を想定。下図赤枠辺りにプロジェクトの参加者を複数選択可能なリストに表示する。選択された参加者に対して同内容の工数情報を登録する。実装した結果は下図のような動きになります。同時に登録したいユーザーを選択する、という形です。次に実装したコード・・・の前に使用するAPIをメモ。Entries(POST)工数情報に関するAPI。今回は作成(POST)のみ使用します。max)必須項目が幾つかあります。青下線)画面から入力する場合の必須項目と若干異なります(チケット番号が任意だったり)。Memberships(GET)プロジェクトのメンバー情報に関するAPI。今回は取得(GET)のみ使用します。/projects/redmine/memberships.xml全プロジェクトのメンバー情報も取得できるし、プロジェクトID(または識別子)を渡せば指定のプロジェクトのメンバー情報だけ取得、という事も可能です。使用するAPIその3:User(GET)ユーザー情報に関するAPI。今回は取得(GET)のみ使用します。memberships.ユーザーIDをエンドポイントに指定することで、対象のユーザー情報のみ取得できるとの事。実装したコード言わずもがな冒頭のAPI_KEYは各環境のAPIキーを指定します。プロジェクトのメンバー情報を全て取得後、select要素を生成する。alert("関連ユーザーの工数を登録しました。"関連ユーザーの工数登録に失敗しました。ボタンをクリック後、通常の「作成」ボタンを押すので、やはり面倒。「作成」ボタンをクリックする。関連ユーザーの工数登録処理が実行される。↓バリデーションエラーの為、本来の登録処理がキャンセルされる。関連ユーザーの工数登録処理だけ実行されてしまう。「作成」ボタンのsubmitの成功/失敗が拾えないので、「submit処理が失敗したら、関連ユーザーの工数登録処理もキャンセルする」ができないのです・・・。JavaScriptでの実装の限界ですね。その為、トリガーを別とし、完全に処理を分けています。おわりにこんなプラグインがあったら良いなと思うので、作ってみようかな。投稿一覧SES→SES→受託開発と経験してきたプログラマです。JavaScript/Java/C#ができます。現在はVue.js、Python辺りを勉強中です。勉強のアウトプットが目的のブログですが、誰かの役に立ったら嬉しいです。お問い合わせのページからご連絡下さい。2019.02.18Redmineではチケット詳細やwikiなど様々な部分で画像を差し込む事ができます。この画像を差し込むまでの手順がデフォルトだと割と面倒。timeプラグインを使ってみた感想。timeプラグインをインストールしたので、色々いじってみた感想をまとめます。それにしても無料で便利なプラグインが色々ありますね。開発[...]スポンサーリンクプロフィールNaoki(@nkwtnb)SES→SES→受託開発と経験してきたプログラマです。JavaScript/Java/C#/Vue.js/Python/etc...作曲/編曲もします。勉強のアウトプットが目的のブログですが、誰かの役に立ったら嬉しいです。記事の内容について問い合わせ等ございましたら、お気軽にTwitterのリプかDM、またはお問い合わせのページからご連絡下さい。Ganttプラグインを使ってみた感想。実行ユーザーを指定する方法2019.05.16Redmineで工数管理する事について考える。