社内勉強会で「最近作ったもの」というタイトルで発表しました

社内勉強会で最近作ったものってタイトルで、Goで作ったツールやRedmine issue assign notice pluginについて発表しました。 最近作ったもの from onozaty www.slideshare.net 在宅勤務で通勤時間&肉体的な負荷が無くなったことで、趣味でコード書ける時間…

Golangでファイル一覧+αを出力するCLIのツール(filist)を作りました

Goの勉強も兼ねて、適当な課題見つけてCLIツールをちょこちょこ作っているのですが、他の人が使っても便利かもしれないものが出来たので紹介します。 GitHub - onozaty/filist: Displays a list of files. 指定したディレクトリ配下のファイル一覧を再帰的に…

Redmine issue assign notice plugin の v1.2.0 をリリースしました

チケットの担当者が変わったときに、SlackやRocket.Chat、Teamsなどに通知するプラグイン、Redmine issue assign notice pluginのv1.2.0をリリースしました。 GitHub - onozaty/redmine_issue_assign_notice Google Chatのメンションに対応しました。 Google…

2021年1月から2月にZennで書いた記事

Zennで書くことについて 2021年から、技術的な記事(書くのに多少時間がかかるようなもの)は、Zennで書くことにしました。 onozatyの記事一覧 | Zenn Zennがとても良いと思ったのは、GitHubで記事が管理できるというところです。 GitHubリポジトリでZennのコ…

Redmine: View customize plugin の v2.8.1 をリリースしました

View customize plugin の v2.8.1 をリリースしました。 onozaty/redmine-view-customize - GitHub Redmine 3系(Rails4)+View customize 2.7.0以降でPath PatternとCommentsにおかしな文字が入る問題を修正しています。デフォルト値がおかしくなってしまい…

社内勉強会で「Selenium入門」というタイトルで発表しました

社内勉強会でSelenium入門ってタイトルで、Seleniumについて発表(LT)しました。 Selenium入門 from onozaty www.slideshare.net SeleniumはSelenium1の頃によく遊んでいた(Selenium Auto Exec Server(AES)っての作ったりしてた)のですが、Selenium IDEが一度…

Redmine issue assign notice plugin の v1.1.2 をリリースしました

チケットの担当者が変わったときに、SlackやRocket.Chat、Teamsなどに通知するプラグイン、Redmine issue assign notice pluginのv1.1.2をリリースしました。 GitHub - onozaty/redmine_issue_assign_notice 担当者にグループをアサインするとエラーとなると…

2020年音楽振り返り

2020年はコロナもあって、数年ぶりにまったくライブに行かない年になりました。 逆に家での時間が増えたので、その分家で音楽を聴く時間も増えたと思います。 Spotifyの2020まとめでみた12月3日時点でのトータル視聴時間は 74,646時間でした。 夜中はYouTube…

Flywayでマイグレーション完了時に決められたSQLを実行する

JavaのDBマイグレーションライブラリとしてFlywayを愛用していますが、マイグレーションが全て完了した後に、特定のSQLを流せないかなと調べてみたところ、Callbackという仕組みがあることがわかりました。 Callbacks - Callbacks - Flyway by Redgate • Dat…

Redmine issue assign notice plugin を作りました

この記事はRedmine Advent Calendar 2020 17日目の記事です。 Redmine Advent Calendar 2020 - Adventar チケットの担当者が変わったときに、SlackやRocket.Chatなどに通知するプラグインを作りました。 チケットの担当者が変わった時に、下記のようなメッセ…

Redmine: View customize plugin の v2.8.0 をリリースしました

View customize plugin の v2.8.0 をリリースしました。 onozaty/redmine-view-customize - GitHub Insertion position として Bottom of all pages が選べるようになりました。 HTML bodyの末尾に埋め込まれるような形になります。これを利用すると、Redmin…

WebDriverManagerを利用してSeleniumでのWebDriverの更新を楽にする

ブラウザでのテストだけではなく、ちょっとしたブラウザ操作の自動化にもSeleniumを利用するのですが、久しぶりに起動すると、各ブラウザのDriverが古くでエラーになる、、みたいなことが多々発生していました。 今更ながら、他の方々はどうやってこの問題を…

SeleniumでChromeをヘッドレスモードで動作させた場合に org.openqa.selenium.ElementNotInteractableException: element not interactable が発生する

SeleniumでChromeDriverで実行した際に、ヘッドレスモードだとエラー、ヘッドレスモードにしないと成功するといったテストがありました。 エラー内容は下記のような感じで、要素が操作できないといったものでした。 org.openqa.selenium.ElementNotInteracta…

XMLをCSVに変換するツール xml2csvを作りました。

XMLをCSVに変換するツールxml2csvを作りました。 JUnitのXMLをCSVに変換する処理書いていて、これは汎用的にできるなーってことで、Goの勉強も兼ねて書きました。 マッピング情報を元に、XMLからCSVに変換します。 $ xml2csv -i input.xml -m mapping.json -…

特定ユーザに対して一部管理者メニューを非表示にする(Redmine View Customize Plugin)

特定ユーザに対して一部管理者メニューを非表示にしたいといった要望です。(2つあって、2つ目の方) 一律非表示ならば、CSSで出来るのですが、特定ユーザに対してのみ適用したいのでJavaScriptで書く必要があります。 以下のサンプルでは、ユーザID:10のユー…

特定ユーザを削除、ロックできないようにする(Redmine View Customize Plugin)

初期ユーザ(user_id=1)を、削除やロックできないようにしたいという要望です。(2つあって1つ目の方) ボタンを非表示にするだけなので、CSSで対応します。 設定内容 Insertion position: Head of all pages a[data-method="put"][href="/users/1?user%5Bstatu…

Redmine Japan 2020 で「Redmineの画面をあなた好みにカスタマイズ – View customize pluginの紹介 –」というタイトルで発表しました

Redmine Japan 2020というイベントでView customize pluginについて発表しました。 資料はこちら。 Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020 from onozaty まつもとさんの基調講演、前田さんの招待講演…

JUnitの結果をCSVファイルに変換するツール(junit-xml2csv)を作りました

JUnitの結果を一覧で見たいなーってことで、CSVファイルに変換するツールを作りました。遅いテストを探すのに、EXCELでソートしたかったからです。 JUnitの結果XMLファイルが配置されているディレクトリ(Gradleだとbuild/test-results/testとか)と、出力ファ…

View customize の redmine.org でのURLが変わりました

redmine.org には、プラグインの情報を登録できる仕組みがあります。 登録したものは、下記で公開されます。 Plugins - Redmine プラグインには、Identiferというプラグインを一意に表す識別子があり、上記サイトでもIdentiferを入力し、それがURLになるよう…

チェックボックスがチェックされたらテキストボックスを無効にする(Redmine View Customize Plugin)

上記の問い合わせに対応したサンプルコードを書いてみました。 チェックボックスをチェックしたら、テキストボックスを無効化します。 設定内容 Insertion position: Bottom of issue form $(function() { const checkbox = $('#issue_custom_field_values_1…

FlywayのJavaコードによるマイグレーション

JavaのデータベースマイグレーションのライブラリであるFlywayですが、SQLファイルだけでなく、Javaのコードによるマイグレーションにも対応しています。 https://flywaydb.org/documentation/migrations#java-based-migrations やり方は簡単で、SQLファイル…

Redmine: View customize plugin の v2.7.0 をリリースしました

View customize plugin の v2.7.0 をリリースしました。 onozaty/redmine-view-customize - GitHub 2つの機能追加、改修を行っています。 プロジェクト識別子で対象ページを指定可能に プロジェクト識別子(正規表現)で対象ページを絞ることができるようにな…

リビングでのオンラインミーティングには Jabra Engage 50 がおススメ

リビングでのオンラインミーティングの悩み 在宅勤務で毎日オンラインミーティングがあるのですが、 PCデスクはリビングにおいてあるのでリビングで作業している (元々家にいるとき暇があればPC触っているので、家族がいるところに置きたくてリビングにして…

attendance-recorder という出退勤を記録、参照するアプリケーションを作りました

在宅勤務中の出退勤がもう少し見える化できないかなぁと思って、attendance-recorder という出退勤を記録、参照できるアプリケーションを作りました。 github.com Spring Bootで作ってます。 APIを叩いて出勤、退勤を記録して、それをWeb上で見れるような形…

第18回 redmine.tokyo勉強会で発表してきました

第18回 redmine.tokyo にて、『「伝わるチケット」の書き方』というタイトルでLTさせていただきました。 第18回勉強会 - redmine.tokyo 資料はこちら。 「伝わるチケット」の書き方 from onozaty www.slideshare.net 一番重要なのは「チームの他のメンバのこ…

redmine-issue-loader のバージョン2.3.0をリリースしました

CSVを読み込んでRedmineのチケットを新規作成、更新するツール、redmine-issue-loaderのバージョン2.3.0をリリースしました。 変更点は下記の2つです。 HTTPタイムアウトの設定を変更可能に デフォルト10秒だったのですが、親子関係が激しい状態だとタイムア…

自分で作ったライブラリをJCenterとMaven Centralで公開する

下記自作ライブラリをJCenterとMaven Centralに公開した際の手順を残しておきます。 (後から記憶をたどって書いているので、抜けがあったらすいません...) 公開の流れとしては、下記のようになります。 Bintrayにアップロード JCenterに公開 JCenterからMave…

ShortcutKey2URLの新バージョン(Chrome版1.4.0、Firefox版4.3.1)をリリースしました

ShortcutKey2URLの新バージョンをリリースしました。 2つの機能追加を行っています。どちらも利用者の方から要望があったものになります。 候補のインタラクティブな絞り込み ショートカットキーの候補をインタラクティブに絞り込んで表示できるようにしまし…

期日近くになったら警告を表示する(Redmine View Customize Plugin)

上記の問い合わせに対応したサンプルコードを書いてみました。(これが求めているものなのかはちょっと怪しいかも...) 期日まで残り3日になったらチケット画面に警告を表示します。 設定内容 Path pattern: .* Insertion position: Bottom of issue detail $(…

PostgreSQL COPY Helper を作りました

PostgreSQLのCOPYコマンドをJavaで簡単に利用するためのライブラリとして、PostgreSQL COPY Helper を作りました。 登録したいデータの構造を表すクラスを定義しておいて、、 @Table("items") public class Item { @Column("id") private final int id; @Col…