【python】selenium + chromeでスクリーンショットを撮影する

Kibanaを使い始めたはいいんだけど、毎週そのグラフを画像化して所定の場所に置く必要に迫られた。愚直に作業手順を考えてみると、WEBブラウザ開いて、ウインドウのサイズをいい感じに調整して、Alt+Printscreenして、mspaint開いてCtrl+Vで貼り付け、Ctrl+Sで所定の場所にpngで保存…とか地味にめんどくさい作業だ。といったところで、そんな作業はJenkin寿司に任せちゃいたいよね。

そこで色々とGoogle先生に調べてもらったところ、「selenium」なるものを使えばプログラムからWEBブラウザを意のままに操れて、スクリーンショットまで撮れちゃうらしいパねえ!seleniumを操れる環境は色々あるらしいんだが、マイフェイバリット言語であるpython3でやってみる事にした。ちなみに俺の試したアレは、以下のとおり。
 

OS Windows7 64bit
Python 3.4
Selenium 3.6.0
ChromeDriver 2.33

続きを読む 【python】selenium + chromeでスクリーンショットを撮影する

Redmineのチケット量をグラフ化したい(第四回)

前回までのところで、Elasticsearchにデータぶちこんで、Kibanaで表示できる所まで行けた。今回は、Redmineから終わってないチケットを取ってきて、それをElasticsearchにぶちこむ、という流れをスクリプトで作ってみたい。手段はなんでもいいとは思うのだが、俺が大好きなPython3でやってみようと思う。
続きを読む Redmineのチケット量をグラフ化したい(第四回)

Redmineのチケット量をグラフ化したい(第三回)

さて、前回ようやくデータベース的なものにデータがぶちこめそうな事は分かった。今回は、KibanaでElasticsearchに入ってるデータを可視化してみよう。
続きを読む Redmineのチケット量をグラフ化したい(第三回)

Redmineのチケット量をグラフ化したい(第ニ回)

第一回目では、ElasticsearchとKibanaについては導入できたつもりだ。まずは可視化うんぬんの前に、どうやってデータベースにデータをぶち込むかってのが今回のテーマ。まだRedmineのレの字も出てこないが、まあなんとかなるでしょ。
続きを読む Redmineのチケット量をグラフ化したい(第ニ回)

Redmineのチケット量をグラフ化したい(第一回)

Redmineを使って、チケット量を週一ペースで集計してる。しかし、毎週手作業で集計するのは地味に面倒だ。Webブラウザ開いて、Redmineでメンバー全員分の未完了チケット数を表示して、それをExcelに入力してグラフ化を作って公開する、という作業がどうにも面倒。そんなものはさっさと自動化してしまいたい。

なんかRedmineのプラグイン探してもイマイチだし、なんかいい手段ねえかなぁ…とモヤモヤしながらCEDECに参加したわけだが、「龍が如く」のセッションで「ElasticsearchとKibanaで捗るぞい」という話を聞いたので、早速試してみることにした。Fluentdも面白そうなんだけど、今回ガチもんのログ収集じゃないからひとまず置いとこう。サーバ環境がWindowsという縛りがあるので、情報をかき集めながらなんとか頑張ってみた。
続きを読む Redmineのチケット量をグラフ化したい(第一回)

【Jenkins】ジョブにパラメータをつける

そこら辺のサイトでさんざっぱら情報転がってるが、自分なりにメモ。Jenkinsのジョブでgitのリポジトリを監視してpythonスクリプトを走らせてるのだが、今までmasterブランチのpushをトリガに走らせてたやつを、別ブランチのpushでも走らせる必要が出てきた。あと、厄介なことに別ブランチ用に特別な処理があったりもする。しかし、大半の処理はmasterと同じなので、うまいことスクリプトを使いまわせないかなぁ・・・という所で色々調べてたどり着いたのが、ジョブのパラメータ化だ。
続きを読む 【Jenkins】ジョブにパラメータをつける

【Git】タグを無理やり移動させる

git tag -a unko -m "うんこ"

あんまりない状況だと思うが、こんな感じでタグをとりあえず付けといたけど、
のっぴきならねえ事情でそいつを移動させたい場合、

git tag -fa unko

移動させたい場所にcheckoutして、–force(-f)すればいいらしいぞ。力こそパワー!

【Windows】アプリの実行時間を計測する

アプリケーションの実行時間を計測するとき、いろいろな手段があると思うんだけれども、簡単に調べられる方法を模索してみた結果、コマンドプロンプトとPowershellを組み合わせればOKっぽい事が分かったのでメモ。単にMSDNに書いてある事をまんまバッチ化してるだけなんだけどね。まあ、Powershellが標準で入ってるWindows7以降のアレだけど、2017年現在、そこまで古いOS使ってる人もそんなにおらんじゃろう、ということで。
続きを読む 【Windows】アプリの実行時間を計測する

【Jenkins】ファイルの更新をトリガにする

特定のファイルを監視して、そいつが更新されたらお仕事を始めるようにしたい事が稀によくある。最初は自力で監視スクリプト組んで定期的にJenkinsからそいつを呼んでいたのだが、どうもしっくりこなくて探してみたら世の中には車輪がたくさん転がっていたというオチ。俺が使ってみたのは「FSTrigger Plugin」。こいつでファイルの更新を監視してみよう。
続きを読む 【Jenkins】ファイルの更新をトリガにする

【Jenkins】ビルドログを解析して成功/失敗を判定

基本的にジョブの成否はビルドツールの戻り値で判定させてるんだけども、ログに「エラーでんがな」と出してるのに成功した事にしちゃう困ったちゃんも居たりする。こりゃあどうしたもんかねぇ、というところで色々と調べ回った結果「ビルドログを解析して特定の文字があったら失敗扱いにできるよ!」というプラグインがあるらしい。よっしゃよっしゃ、さっそく試してみようじゃねーの。今回使うのは「Log Parser Plugin」。もう、名前からしてやってくれる感あるよね。

続きを読む 【Jenkins】ビルドログを解析して成功/失敗を判定