昔作ったJenkins Yaml Axis Pluginにリモートコード実行の脆弱性が見つかったので修正してv0.2.1をリリースしています。ご利用の方は速やかにアプデお願いします。
https://github.com/jenkinsci/yaml-axis-plugin/blob/master/CHANGELOG.md#021-2020-04-07
昔作ったJenkins Yaml Axis Pluginにリモートコード実行の脆弱性が見つかったので修正してv0.2.1をリリースしています。ご利用の方は速やかにアプデお願いします。
https://github.com/jenkinsci/yaml-axis-plugin/blob/master/CHANGELOG.md#021-2020-04-07
https://github.com/sue445/gitpanda/blob/master/CHANGELOG.md#v090
最近のGitLabでは https://gitlab.com/gitlab-org/gitlab/-/merge_requests や https://gitlab.com/gitlab-org/gitlab/-/issues みたいに /-/
が含まれるURLになっているようなので*1、そういった形式のURLに対応するようにしました
それぞれfaraday v1.0対応です。
chatwork (0.12.2): ChatWork is cloud-based business chat tool https://t.co/BGGvb5ptun
— rubygems_news (@RubygemsN) March 21, 2020
https://github.com/asonas/chatwork-ruby/blob/master/CHANGELOG.md#v0122
pixela (1.4.1): Pixela API client for Ruby https://t.co/YYNVsT22gJ
— rubygems_news (@RubygemsN) March 21, 2020
https://github.com/sue445/pixela/blob/master/CHANGELOG.md#v141
実はfaraday v1.0対応自体は1月くらいにはできていてfaraday_middleware v1.0.0が出るのを待っていたのですが、なかなかリリースされないしv1.0.0.rc1があるしまあいいかくらいの軽いノリで出しました。
どっちのgemもfaraday 0系と1系両方対応してますがメンテつらくなったタイミングで0系のサポートをきります
wget --post-data="key1=value1&key2=value2" https://example.com/webhook -O /dev/null
curl
が入っていなくて困った
curl
入れればよかったんだけど、パッケージのインストールはスロービルドの原因になるのでなるべくインストールしたくなかったcurl
はなかったけど wget
は入ってたので wget
でPOSTしてみた冒頭のコマンドが全てなのですが、特筆するとしたら最後の -O /dev/null
辺りです。
wgetするとPOSTであってもカレントディレクトリに webhook
みたいなファイルを書き出すのですが、その状態でもう一度同じURLに対して wget
すると(
つまり1回のCIで同じwebhookを2回叩くと *1 )
wget: can't open 'webhook': File exists
のようなエラーになるので、2回目エラーにならないように出力を /dev/null
に捨てています。
*1:自分の場合terraform applyの前後で通知をしようとしたらapply後の通知でエラーになった
prismdb (0.1.0): PrismDB API client for ruby https://t.co/hW9Zb5NOnt
— rubygems_news (@RubygemsN) March 15, 2020
Rubyでダミーのテストデータを作るライブラリ「faker」のプリティーシリーズ版
faker-pretty_series (0.1.0): Test data generator using PrettySeries https://t.co/0sOjYb6CLK
— rubygems_news (@RubygemsN) March 15, 2020
https://github.com/sue445/gitpanda/blob/master/CHANGELOG.md#v080
社内GitLabのnginx周りの設定を変えた時にAWSからGitLabのAPIが叩けなくなってgitpandaが使えなくなったので、それをちゃんと検知できるようにするためにSentry対応しました
見た目は変わらないですがバックエンドを変えてます
自分のGoogleカレンダーにインポートする関係上グループ追加時のみ自分がSPOFになってました。ただし、一度やってしまえばあとは全自動で最新のイベント情報が表示され続けるので問題ではなかったです。
しかしある時いつものように新しい地域.rbのグループを追加した辺りでカレンダーに表示されなくなりました。
公式情報がないので憶測なのですが、上記埋め込みツールで表示できるカレンダーが60個までという制約のため表示できなくなっていました。
たくさんカレンダーを追加しすぎた図
そのためグループの追加方法を変えました
すごいシンプルですが、大量のカレンダーを埋め込むのがダメなので複数のグループを1つのicsにまとめることで解決しました。
具体的にはcondo3のAPIを叩いて巨大なicsを生成するウェブアプリをGoogleカレンダーにインポートしています
今はconnpassとDoorkeeperでicsを1つずつ作っているけど、量が増えすぎてタイムアウト起きるようになればさらに分割するかも。
このウェブアプリ自体はGoogle App Engine/Rubyで作りました。
ソースコードは地域.rbカレンダーと同じリポジトリにあります。
appengineを採用した理由は今までHeroku + RubyがメインでGoogle App EngineでRubyは使ったことがなくて慣れておきたかったためです。*1
https://github.com/sue445/regional-rb-calendar のREADMEに書いてますがリポジトリにある設定ファイルとindex.htmlを修正してPRを投げるだけで新しいグループが追加されるようになりました。
PRをアクセプトする部分が自分がSPOFなのは変わらないけど、自分しかできない作業が減ったのは地味に嬉しい。