ITエンジニア/デザイナ向けにオープンソースを毎日紹介

これはGitHub/Bitbucketユーザは使うべき!

ソフトウェアの問題はその殆どがプログラムコードにあります。そのためGitHubの課題管理においても要望は幾つかあるものの殆どはバグやコードに関連した事柄が多いのではないでしょうか。

そんな課題を都度Webブラウザを立ち上げてGitHubに書き込むのでは効率的とは言いがたいです。そこで使ってみたいのがwatson、コードに記述する課題管理です。

まずはインストールします。Rubyの他、Perlライブラリもあります。

$ gem install watson-ruby

まずはヘルプ。

$ watson --help
Usage: watson [OPTION]...
Running watson with no arguments will parse with settings in RC file
If no RC file exists, default RC file will be created

   -c, --context-depth   number of lines of context to provide with posted issue
   -d, --dirs            list of directories to search in
   -f, --files           list of files to search in
   -h, --help            print help
   -i, --ignore          list of files, directories, or types to ignore
   -p, --parse-depth     depth to recursively parse directories
   -r, --remote          list / create tokens for Bitbucket/GitHub
   -t, --tags            list of tags to search for
   -u, --update          update remote repos with current issues
   -v, --version      print watson version and info

Any number of files, tags, dirs, and ignores can be listed after flag
Ignored files should be space separated
To use *.filetype identifier, encapsulate in "" to avoid shell substitutions 

Report bugs to: watson@goosecode.com
watson home page: <http: //goosecode.com/projects/watson>
[goosecode] labs | 2012-2013

まずGitHubの認証を行います。2段階認証だとうまくいかなったので、一時的に解除しなければならないようです(面倒ですが…)。

認証中。ついでにリポジトリも設定します。
認証中。ついでにリポジトリも設定します。

そして後は普段の開発中に# [todo] ○○○といった具合にやるべきことやバグフィックスした内容などを記述します。

そうするとwatsonコマンドでファイルが一覧され、その中にある課題がリストアップされます。
そうするとwatsonコマンドでファイルが一覧され、その中にある課題がリストアップされます。

この時点で問題が可視化されるので便利なのですが、さらにGitHubにも課題が自動で登録されます。

そうするとラベルはもちろん、下にあるコードも引っ張って登録してくれます。これが結構便利だと思うのです。
そうするとラベルはもちろん、下にあるコードも引っ張って登録してくれます。これが結構便利だと思うのです。

後はラベルさえ決めておけば、タスクにするのか今後開発すべき機能を洗い出しておくのかと言った使い分けもできるでしょう。ついでに要望なども別ファイルに登録しておいても良いかもしれません。開発がかなりスムーズになるのではないかと思います。

watsonはRuby/Perl製のオープンソース・ソフトウェア(MIT License)です。

watson - inline issue manager

nhmood/watson-ruby

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2