[programming]
ブラウザでのテストだけではなく、ちょっとしたブラウザ操作の自動化にもSeleniumを利用するのですが、久しぶりに起動すると、各ブラウザのDriverが古くでエラーになる、、みたいなことが多々発生していました。 今更ながら、他の方々はどうやってこの問題を…
SeleniumでChromeDriverで実行した際に、ヘッドレスモードだとエラー、ヘッドレスモードにしないと成功するといったテストがありました。 エラー内容は下記のような感じで、要素が操作できないといったものでした。 org.openqa.selenium.ElementNotInteracta…
XMLをCSVに変換するツールxml2csvを作りました。 JUnitのXMLをCSVに変換する処理書いていて、これは汎用的にできるなーってことで、Goの勉強も兼ねて書きました。 マッピング情報を元に、XMLからCSVに変換します。 $ xml2csv -i input.xml -m mapping.json -…
特定ユーザに対して一部管理者メニューを非表示にしたいといった要望です。(2つあって、2つ目の方) 一律非表示ならば、CSSで出来るのですが、特定ユーザに対してのみ適用したいのでJavaScriptで書く必要があります。 以下のサンプルでは、ユーザID:10のユー…
初期ユーザ(user_id=1)を、削除やロックできないようにしたいという要望です。(2つあって1つ目の方) ボタンを非表示にするだけなので、CSSで対応します。 設定内容 Insertion position: Head of all pages a[data-method="put"][href="/users/1?user%5Bstatu…
Redmine Japan 2020というイベントでView customize pluginについて発表しました。 資料はこちら。 Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020 from onozaty まつもとさんの基調講演、前田さんの招待講演…
JUnitの結果を一覧で見たいなーってことで、CSVファイルに変換するツールを作りました。遅いテストを探すのに、EXCELでソートしたかったからです。 JUnitの結果XMLファイルが配置されているディレクトリ(Gradleだとbuild/test-results/testとか)と、出力ファ…
redmine.org には、プラグインの情報を登録できる仕組みがあります。 登録したものは、下記で公開されます。 Plugins - Redmine プラグインには、Identiferというプラグインを一意に表す識別子があり、上記サイトでもIdentiferを入力し、それがURLになるよう…
上記の問い合わせに対応したサンプルコードを書いてみました。 チェックボックスをチェックしたら、テキストボックスを無効化します。 設定内容 Insertion position: Bottom of issue form $(function() { const checkbox = $('#issue_custom_field_values_1…
View customize plugin の v2.7.0 をリリースしました。 onozaty/redmine-view-customize - GitHub 2つの機能追加、改修を行っています。 プロジェクト識別子で対象ページを指定可能に プロジェクト識別子(正規表現)で対象ページを絞ることができるようにな…
在宅勤務中の出退勤がもう少し見える化できないかなぁと思って、attendance-recorder という出退勤を記録、参照できるアプリケーションを作りました。 github.com Spring Bootで作ってます。 APIを叩いて出勤、退勤を記録して、それをWeb上で見れるような形…
第18回 redmine.tokyo にて、『「伝わるチケット」の書き方』というタイトルでLTさせていただきました。 第18回勉強会 - redmine.tokyo 資料はこちら。 「伝わるチケット」の書き方 from onozaty www.slideshare.net 一番重要なのは「チームの他のメンバのこ…
CSVを読み込んでRedmineのチケットを新規作成、更新するツール、redmine-issue-loaderのバージョン2.3.0をリリースしました。 変更点は下記の2つです。 HTTPタイムアウトの設定を変更可能に デフォルト10秒だったのですが、親子関係が激しい状態だとタイムア…
下記自作ライブラリをJCenterとMaven Centralに公開した際の手順を残しておきます。 (後から記憶をたどって書いているので、抜けがあったらすいません...) 公開の流れとしては、下記のようになります。 Bintrayにアップロード JCenterに公開 JCenterからMave…
ShortcutKey2URLの新バージョンをリリースしました。 2つの機能追加を行っています。どちらも利用者の方から要望があったものになります。 候補のインタラクティブな絞り込み ショートカットキーの候補をインタラクティブに絞り込んで表示できるようにしまし…
上記の問い合わせに対応したサンプルコードを書いてみました。(これが求めているものなのかはちょっと怪しいかも...) 期日まで残り3日になったらチケット画面に警告を表示します。 設定内容 Path pattern: .* Insertion position: Bottom of issue detail $(…
PostgreSQLのCOPYコマンドをJavaで簡単に利用するためのライブラリとして、PostgreSQL COPY Helper を作りました。 登録したいデータの構造を表すクラスを定義しておいて、、 @Table("items") public class Item { @Column("id") private final int id; @Col…
View customize plugin の v2.6.0 をリリースしました。 onozaty/redmine-view-customize - GitHub 中国語のマージリクエストをいただいたので、そちらをマージしてのリリースとなります。
java.sql.Timeには、下記のようなLocalTimeとの間で変換を行うメソッドがあります。 public LocalTime toLocalTime() Time java.sql.Time.valueOf(LocalTime time) ただ、これらメソッドは秒までしか対象にしておらず、ミリ秒が破棄されています。 /** * Obt…
github.com 上記の問い合わせに対応したサンプルコードを書いてみました。 親のカスタムフィールド(キーバリュー形式のリスト)が選択されたら、子のカスタムフィールドを有効化するコードです。 Redmineのデフォルトのスタイルだと、input:disabledのbackgro…
先日Twitter上で外部キーが話題にあがっていました。自分も大昔は外部キーを重要視していませんでしたが、1x年以上たった今では、様々な制約等を使って、RDBMS上でデータの整合性を保つべきと考えています。 なぜ制約を使うのか データの不整合を、プログラ…
上記の問い合わせの中で、カスタムフィールドを3カラム表示したいといったのがあったので、サンプルコードを書いてみました。 設定内容 Path pattern: .* Insertion position: Bottom of issue form $(function() { const field1 = $('#issue_custom_field_v…
この記事はRedmine Advent Calendar 2019 19日目の記事です。 Redmine Advent Calendar 2019 - Adventar Redmine Users (Japanese)のメーリングリストで流れていた件で、既にJavaScriptで解決する方法が他の方から出ていましたが、CSSでもできるのでCSSで書…
プロジェクト切り替え時にウォッチャーを変えたいのだけどうまくいかないといった問い合わせもらったので、サンプルコード書いてみました。 入力フォーム差し替えと絡んでハマりそうな箇所なので、他の方の参考にもなればと思います。 入力フォームの差し替…
この記事はGitLab Advent Calendar 2019の2日目の記事です。 GitLab Advent Calendar 2019 - Qiita GitLabからプロジェクト毎のメンバー一覧をエクスポートするツール、gitlab-project-member-exporter を作りました。 なぜ作ったか GitLabでグループ、メン…
GitLab上で、誰がどのプロジェクトを参照可能かを一覧化したかったので、GitLabのAPIを利用して一覧化してみます。 GitLab Community Editionを利用して確認しました。 GItLabのAPI APIの情報は下記ドキュメントにまとまっています。 API Docs | GitLab 認証…
要望のあったショートカット一覧のエクスポート、インポートに対応しました。 Firefox版(v4.3.0)、Chrome版(v1.3.0)ともに対応しています。(Chrome版は、この記事を書いているタイミングでは審査待ちです) Firefox版、Chrome版ともにフォーマットは同じです…
CSVを読み込んでRedmineのチケットを新規作成、更新するツール、redmine-issue-loaderのバージョン2.2.0をリリースしました。 Basic認証に対応しています。(APIアクセスキーを使うか、Basic認証のどちらかを選択可能に)
Chrome/Firefoxの拡張機能で、設定をインポート、エクスポートする機能が欲しいといった要望があったので、まずはどんな感じにインポート、エクスポートすれば良いんだっけ、、ってことでJavaScriptで簡単なサンプル書いてみました。 コード 下記のようなHTM…
View customize plugin の v2.5.0 をリリースしました。 onozaty/redmine-view-customize - GitHub 今回のリリースでの変更点は下記の2つとなります。 ViewCustomize.context にユーザの最終ログイン日時を追加 Add user's last_login_on time to ViewCustom…