futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

JIRAのMentionコメントをSlackのDMで通知するスクリプト

追記(2015/05/19)

このまま使うには一度botとDMのやりとりをしておく必要があります。

はじめに

JIRAのコメントの通知がメールでしか来ないと見逃すし、Slackに流れてきたら楽なのにって思ったので作った。

使い方

  1. JIRAのWebHooksに[your heroku app url]/hubot/jira-comment-dmのURLを登録し、issueのupdatedだけチェックを入れておく。
  2. JIRAのURLをheroku config:add HUBOT_JIRA_URL=[your jira url]環境変数に登録しておく。
  3. (必要であれば)JIRAのハンドルネームとSlackのハンドルネームが異なる場合はmapに登録しておく。

サンプル

こんな感じでDMが届く。仕事しろって言われてる。 f:id:futabooo:20150504192004p:plain

# Description:
#   hubot monitoring jira comments mention and slack DM
#
# Dependencies:
#   None
#
# Configuration:
#   HUBOT_JIRA_URL
#
# Commands:
#   None
#
# Author:
#   futabooo


# Use if the user name of jira and slack is different
# "jiraName": "slackName"
map =


module.exports = (robot) ->

  convertHandleName = (name) ->
    map[name] || name

  extractHandleName = (body) ->
    temp = body.match(/\[~.+?]/g)
    unless temp is null
      name = []
      for i in temp
        name.push("#{i}".replace(/[\[~\]]/g, ""))
      return name

  robot.router.post '/hubot/jira-comment-dm', (req, res) ->
    body = req.body
    if body.webhookEvent == 'jira:issue_updated' && body.comment
      issue = "#{body.issue.key} #{body.issue.fields.summary}"
      url = "#{process.env.HUBOT_JIRA_URL}/browse/#{body.issue.key}"
      handleNameList = extractHandleName(body.comment.body)

      unless handleNameList is null
        for i in handleNameList
          robot.send(room: convertHandleName(i),
            "*#{issue}* _(#{url})_\n@#{body.comment.author.name}'s comment:\n```#{body.comment.body}```")
    res.send 'OK'

さいごに

正規表現力が低くて一発で名前を抜けてないけど、動いてるから運用上問題ないと思われる。 人が増えたら超大変だろうなぁと思ってる。

参考

mnpk/hubot-jira-comment · GitHub

iTerm2でpowerline、カラースキームはsolarizedで!

はじめに

今までずっとbashだったので、そろそろzshにしよう!と思い作業を進めていたら、zshの環境を用意することよりも見た目に拘っていたら、powerlineの見た目を用意することに結構かかったので備忘録です。

最終成果(とりあえず満足!) f:id:futabooo:20150301002430p:plain

zshの導入

導入というのもへんな話ですが、.zshrcとかを用意します。 ここは結局oh-my-zshを使いました。一瞬です。

oh-my-zshのthemeをpowerlineにする

こいつに時間がかかったわけですが、大きく2つハマりました。

  • フォントがうまく表示されない
  • 色合いが気に食わない

フォントについて

自分でこれじゃなきゃ嫌だ!とかがなければpowerline/fonts · GitHubからパッチが適用済みのフォントが落とせるのでそれでもいいと思います。僕はRictyが使いたかったので、手動でパッチを当てました(終わったあと出てきましたが、Rictyのパッチ済みフォントはbrewで落とせるらしいです。)

ここを参考にRictyにパッチを当てます。

[Mac + tmux + iTerm] ステータスバーをpowerlineでカッコ良くする - Qiita

色について

このテーマをREADMEを見つつ設定します。

KuoE0/oh-my-zsh-solarized-powerline-theme · GitHub

しかし上の設定だけだとiTermのデフォのカラースキームと全く合わないので、iTermのスキームをsolarized-darkに変更しました。iTermのカラースキーム変更は以前書いた下の記事を参考にしてください。 iTerm2のカラースキーマまとめ - WhereToStart

CentOSとDockerとWordpress

タイトルの元ネタを全く思い出せません。
今日はsakuraVPS(CentOS6.5)上にDockerでWordpressが構築できたので備忘録です。

## 構成

NginXをプロキシサーバー、DockerにApacheMysqlのせてWordpressインストール
と言った感じです。

とりあえず使う場合は下記でいけるかと。
```
$ git clone https://github.com/futabooo/dockerfiles.git
$ cd dockerfiles
$ sudo docker build -t centos:wordpress .
$ sudo docker run -p 49174:80 -d centos:wordpress
```
dockerコマンドでDockerファイルからイメージをビルドする。
ビルドしたイメージからコンテナ作成。
この時コンテナ側の49174ポートにホスト側の80ポートをつなぐ。


Nginxでのvirtual.confはこんな感じ。
```
server {
listen 80;
server_name example.com;

access_log /var/log/nginx/nilab.jp-access_log main;
error_log /var/log/nginx/nilab.jp-eroor_log warn;

location / {
proxy_pass http://127.0.0.1:49174;
}
}
```
server_nameとかは適宜読み替えていただきたく。

これで超ピュアなWordpressが動くようになります。
ただコンテナをkillするとデータが残らないので、ドカドカ作っては壊すときはご注意を。

参考
dockerでImmutable InfrastructureなWordPressを考える
memorycraft: Dockerってなんじゃ?(docker+nginxで複数コンテナにWEBサーバーをたてる)





MarkDown記法に変えたのに全然なってない??
書き方の問題か。。。

mavenをmacに導入した

超備忘録

mavenが必要になりましたので、ただ導入ではなくやったことの備忘録を。

Brewfileを更新する。
下記2行を追加。

tap homebrew/versions
install maven31

homebrew/versionsは複数のバージョンを別々のformulaeとして提供するリポジトリ
こいつを追加するとmaven31がインストールできるようになる。

確認。

$ mvn -v
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-18 00:22:22+0900)
Maven home: /usr/local/Cellar/maven31/3.1.1/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: ja_JP, platform encoding: SJIS
OS name: "mac os x", version: "10.9.3", arch: "x86_64", family: "mac"

これでおっけい。
特にJAVA_HOMEを設定してなくても良かった。なぞ。

PC買い替え時に注意すること

結論

バックアップはしっかり取りましょう。

先日Macを買い替えました。
必要なもんはDropboxに置いたりしたので大丈夫!
と思ってたら大切なものを無くしました。

無くしたもの

さくらVPS渡した公開鍵
Androidのkeystore

公開鍵無くしてVPSたんはOS再インストールしました。

keystore無くしたので過去に公開したAndroidアプリが更新できません。
同じパッケージ名が使えません。

プライベートで本当に良かったと思います。
みなさんも気をつけてください。