【Redmine3.3】python_redmineでcsvファイルからチケット一括登録する
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。
今回は、REST APIを操作するpython_redmineの学習を兼ねて、 python初心者なりに、csvファイルからのチケット一括登録機能の作成をしたため、その備忘録
目次
参考サイト
以下のサイトを大いに参考にした。
https://www.yamamanx.com/redmine-rest-api-redmine_python/
参考書籍
以下の書籍に、APIに関しての記述があったため、参考にした。
- 作者: 前田剛
- 出版社/メーカー: 秀和システム
- 発売日: 2016/12/07
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
インプット用のcsvファイルの仕様
- 以下のようなフォーマットで、チケット登録に必要にデータを作っておく。
csvファイルからチケット一括登録プログラム(import_redmine.py)
[root@docker python]# python -V Python 2.7.5 [root@docker python]#
前準備
- インポート用のcsvファイルを下記のフォーマットで用意する。
[root@docker python]# ls -l import_redmine.* -rw-r--r-- 1 root root 479 10月 18 17:26 import_redmine.csv -rw-r--r-- 1 root root 2006 10月 18 17:27 import_redmine.py [root@docker python]#
一括登録実行
- 以下の通り、プロジェクト内にまだチケットがない状態で
- 以下の通り、実行する。
[root@docker python]# python import_redmine.py
- csvデータの内容に従い、チケットの一括登録されていることを確認する。
CentOS7.3にemacsをインストールする。
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。 今回は、REST APIを操作するpython_redmineを利用するための環境設定の続きで、 コーディングする際のエディタである「emacs-24」をインストールする
なお、「emacs-24」のソースコードが「emacs-24.4.tar.gz」あらかじめ、 ダウンロードされているものとして、以降を記載する。
目次
- 目次
- OS環境情報
- gccコンパイラのインストールする
- コンパイル時「`tputs' was not found in any library.というエラーが出た」ので、その対処
- emacsのコンパイル&インストール
- emacsの初期設定(init.el)
- pythonモード時ののタブ幅
- emacs起動
- Pythonソースコードのインデントを深くor浅くする技
OS環境情報
- 作業開始時点の環境は、下記のOSを最小インストールした状態から開始
[root@docker ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@docker ~]#
gccコンパイラのインストールする
[root@docker emacs-24.4]# yum install gcc
コンパイル時「`tputs' was not found in any library.というエラーが出た」ので、その対処
後述のemacsコンパイル時、
tputs' was not found in any library.と「
tputs' was not found in any library.というエラーが出た」ので、その対処をあらかじめしておく。
[root@docker ~]#wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz [root@docker ~]#tar -zxvf ncurses-5.9.tar.gz [root@docker ~]#cd ncurses-5.9 [root@docker ~]#./configure [root@docker ~]#make [root@docker ~]#make install
必須ではないと思うが、「Development Tools」のyumパッケージをインストールしておく
[root@docker emacs-24.4]# yum groupinstall -y "Development Tools"
emacsのコンパイル&インストール
今回は、OS自体、X-Windowsがインストールされていないテキストモード環境のため、「 --without-x」でインストールする
[root@docker src]# tar zxvf emacs-24.4.tar.gz [root@docker emacs-24.4]# ./configure --without-x [root@docker emacs-24.4]# make [root@docker emacs-24.4]# make install
emacsの初期設定(init.el)
emacsの設定は、下記書籍を参考にした設定(init.el)をずっと、利用してきたのでその設定を移行する。
[改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)
- 作者: 大竹智也
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
pythonモード時ののタブ幅
上記の書籍以外の設定としては、 pythonモードのタブ幅を設定しておく。
;;python-mode(タブ幅4) (add-hook 'python-mode-hook '(lambda() (setq indent-tabs-mode t) (setq indent-level 4) (setq python-indent 4) (setq tab-width 4)))
emacs起動
Pythonソースコードのインデントを深くor浅くする技
地味に、よく使う技。備忘録
EmacsでPythonソースコードのインデントを深くor浅くする技 | 三鷹台でひきこもるプログラマの日記
- C-c > (インデント深く)
- C-c <(インデント浅く)
【Redmine3.3】python_redmineを利用するための環境を整備する
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。 今回は、REST APIを操作するpython_redmineを利用するための環境設定。
目次
OS環境情報
- 作業開始時点の環境は、下記のOSを最小インストールした状態から開始
[root@docker ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@docker ~]#
pythonのバージョン
- 既に以下のpythonがインストーされているものとする。
[root@docker ~]# python -V Python 2.7.5 [root@docker ~]#
pipのインストール
- 以下で、pipをインストールする。
[root@docker ~]# curl -kL https://bootstrap.pypa.io/get-pip.py | python % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1558k 100 1558k 0 0 1638k 0 --:--:-- --:--:-- --:--:-- 1638k Collecting pip Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB) 100% |????????????????????????????????| 1.3MB 360kB/s Collecting setuptools Downloading setuptools-36.6.0-py2.py3-none-any.whl (481kB) 100% |????????????????????????????????| 481kB 729kB/s Collecting wheel Downloading wheel-0.30.0-py2.py3-none-any.whl (49kB) 100% |????????????????????????????????| 51kB 3.2MB/s Installing collected packages: pip, setuptools, wheel Successfully installed pip-9.0.1 setuptools-36.6.0 wheel-0.30.0 [root@docker ~]#
- pipのバージョン
[root@docker ~]# pip -V pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7) [root@docker ~]#
python-redmineのインストール
[root@docker ~]# pip install python-redmine Collecting python-redmine Downloading python_redmine-2.0.2-py2.py3-none-any.whl (596kB) 100% |????????????????????????????????| 604kB 622kB/s Installing collected packages: python-redmine Successfully installed python-redmine-2.0.2 [root@docker ~]#
【Redmine3.3】ナレッジ管理とドキュメント管理プラグインのインストール
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。 今回は、Redmine3.3上に以下のプラグインをインストール
- knowledgebase(ナレッジ管理)
- dmsf(ドキュメント管理)
目次
knowledgebaseのインストール
- redmineのコンテナ内のシェルに入る。
[root@docker ~]# docker exec -i -t redmine /bin/bash
- redmineのコンテナ内のシェルに入った後、以下を実行
root@24bdbf246513:/home/redmine/redmine# cd plugins/ root@24bdbf246513:/home/redmine/redmine/plugins# root@24bdbf246513:/home/redmine/redmine/plugins# git clone git://github.com/alexbevi/redmine_knowledgebase.git redmine_knowledgebase root@24bdbf246513:/home/redmine/redmine/plugins# cd .. root@24bdbf246513:/home/redmine/redmine/plugins# bundle install root@24bdbf246513:/home/redmine/redmine/plugins# cd .. root@24bdbf246513:/home/redmine/redmine# bundle exec rake redmine:plugins:migrate NAME=redmine_knowledgebase
- dockerを再起動する。
[root@docker ~]# docker stop redmine redmine [root@docker ~]# docker start redmine
dmsfのインストール
- redmineのコンテナ内のシェルに入る。
[root@docker ~]# docker exec -i -t redmine /bin/bash
- redmineのコンテナ内のシェルに入った後、以下を実行
root@b9a9f615de4c:/home/redmine/redmine/plugins# cd plugins/ root@b9a9f615de4c:/home/redmine/redmine/plugins# git clone -b v1.5.6 https://github.com/danmunn/redmine_dmsf root@b9a9f615de4c:/home/redmine/redmine/plugins# cd .. root@b9a9f615de4c:/home/redmine/redmine# bundle install --without xapian root@b9a9f615de4c:/home/redmine/redmine# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
- dockerを再起動する。
[root@docker ~]# docker stop redmine redmine [root@docker ~]# docker start redmine redmine [root@docker ~]#
【Redmine3.3】issue_templatesとAttach image from clipboardプラグインのインストール
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。 今回は、Redmine3.3上に以下のプラグインをインストール
- issue_templates(チケットのテンプレート化)
- Attach image from clipboard(クリップボードから直接画像を直接添付)
目次
issue_templatesのインストール
- redmineのコンテナ内のシェルに入る。
[root@docker ~]# docker exec -i -t redmine /bin/bash
- redmineのコンテナ内のシェルに入った後、以下を実行
root@24bdbf246513:/home/redmine/redmine# cd plugins/ root@24bdbf246513:/home/redmine/redmine/plugins# hg clone https://bitbucket.org/akiko_pusu/redmine_issue_templates root@24bdbf246513:/home/redmine/redmine/plugins# cd .. root@24bdbf246513:/home/redmine/redmine# bundle update root@24bdbf246513:/home/redmine/redmine# bundle install root@24bdbf246513:/home/redmine/redmine# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
- dockerを再起動する。
[root@docker ~]# docker stop redmine redmine [root@docker ~]# docker start redmine
Attach image from clipboardのインストール
- redmineのコンテナ内のシェルに入る。
[root@docker ~]# docker exec -i -t redmine /bin/bash
- redmineのコンテナ内のシェルに入った後、以下を実行
root@24bdbf246513:/home/redmine/redmine# cd plugins/ root@24bdbf246513:/home/redmine/redmine/plugins# git clone git://github.com/peclik/clipboard_image_paste.git Cloning into 'clipboard_image_paste'... remote: Counting objects: 419, done. remote: Total 419 (delta 0), reused 0 (delta 0), pack-reused 419 Receiving objects: 100% (419/419), 257.95 KiB | 0 bytes/s, done. Resolving deltas: 100% (149/149), done. root@24bdbf246513:/home/redmine/redmine/plugins# root@24bdbf246513:/home/redmine/redmine/plugins# root@24bdbf246513:/home/redmine/redmine/plugins# exit
- dockerを再起動する。
[root@docker ~]# docker stop redmine redmine [root@docker ~]# docker start redmine redmine [root@docker ~]#
【Redmine3.3】view-customizeのインストール
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。 ここでは、Redmineのプラグイン「view customize plugin」インストール
目次
view-customizeのインストール
redmineのコンテナ内のシェルに入って以下作業
[root@docker ~]# docker exec -i -t 24bdbf246513 /bin/bash root@24bdbf246513:/home/redmine/redmine# cd plugins/ root@24bdbf246513:/home/redmine/redmine/plugins# root@24bdbf246513:/home/redmine/redmine/plugins# git clone https://github.com/onozaty/redmine-view-customize.git Cloning into 'redmine-view-customize'... remote: Counting objects: 273, done. remote: Total 273 (delta 0), reused 0 (delta 0), pack-reused 273 Receiving objects: 100% (273/273), 138.79 KiB | 0 bytes/s, done. Resolving deltas: 100% (101/101), done. root@24bdbf246513:/home/redmine/redmine/plugins# mv redmine-view-customize view_customize root@24bdbf246513:/home/redmine/redmine/plugins# cd .. root@24bdbf246513:/home/redmine/redmine# bundle exec rake redmine:plugins:migrate RAILS_ENV=production Migrating view_customize (View Customize plugin)... == 1 CreateViewCustomizes: migrating ========================================== -- create_table(:view_customizes) -> 0.4526s == 1 CreateViewCustomizes: migrated (0.4528s) ================================= == 2 AddColumnViewCustomizes: migrating ======================================= -- add_column(:view_customizes, :is_enabled, :boolean, {:null=>false, :default=>true}) -> 0.6943s -- add_column(:view_customizes, :is_private, :boolean, {:null=>false, :default=>false}) -> 0.6576s -- add_column(:view_customizes, :author_id, :integer, {:null=>false, :default=>0}) -> 0.8704s == 2 AddColumnViewCustomizes: migrated (2.2239s) ============================== root@24bdbf246513:/home/redmine/redmine# root@24bdbf246513:/home/redmine# exit
【Redmine3.3】Docker上で起動する
Redmine3.3をDocker上の環境に整備する機会があったので、その備忘録。
目次
- 目次
- 参照書籍
- OS環境
- docker環境
- docker imageの取得
- docker imageの確認
- データ保存場所の作成
- redmine用mysqlコンテナ起動
- redmine用コンテナ起動
- コンテナ起動の確認
参照書籍
- 作者: 前田剛
- 出版社/メーカー: 秀和システム
- 発売日: 2016/12/07
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
OS環境
[root@docker ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@docker ~]#
docker環境
[root@docker ~]# docker -v Docker version 1.12.6, build 96d83a5/1.12.6 [root@docker ~]#
docker imageの取得
[root@docker ~]# docker pull sameersbn/redmine:3.3.1
docker imageの確認
[root@docker ~]# docker images docker.io/sameersbn/redmine 3.3.1 090b1982b352 12 months ago 658.5 MB [root@docker ~]#
データ保存場所の作成
データをホスト側のファイルシステムに永続化するため、下記のディレクトリを作成
[root@docker ~]# mkdir -p /srv/docker/redmine/mysql [root@docker ~]# mkdir -p /srv/docker/redmine/redmine
redmine用mysqlコンテナ起動
[root@docker redmine]# docker run --name=mysql-redmine -d --env='DB_NAME=redmine_production' --env='DB_USER=redmine' --env='DB_PASS=redpass' -v /srv/docker/redmine/mysql:/var/lib/mysql sameersbn/mysql:latest
redmine用コンテナ起動
[root@docker redmine]#docker run --name=redmine -d -p 80:80 --link=mysql-redmine:mysql -v /srv/docker/redmine/redmine:/home/redmine/data sameersbn/redmine:3.3.1
コンテナ起動の確認
[root@docker redmine]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 66d6b7edf9fd sameersbn/redmine:3.3.1 "/sbin/entrypoint.sh " 52 seconds ago Up 39 seconds 0.0.0.0:80->80/tcp, 443/tcp redmine 64f25d3057aa sameersbn/mysql:latest "/sbin/entrypoint.sh " 3 minutes ago Up 3 minutes 3306/tcp [root@docker mysql]#