2012-12-14 11 views
18

ピボタルトラッカーとGithubのは偉大な統合を持っている:ピボットトラッカーとGithubインテグレーションをどのように自動化できますか?

git commit -am '[#1234567] my new changes' 
git push origin 

コメント」を追加します。それはセットアップしたら、それぞれ例えば、自動的に対応するピボタルチケットの下に表示されますピボタルトラッカーIDが付けられているコミット私の新しい変更はgithubコミットリンクを使って1234567ピボットチケットに自動的に反映されます。

ただし、毎回チケットIDを追加するのは忘れやすいです。どのようにして簡略化/自動化することができますか?

答えて

18

解決策は、Git-Hooksと機能分岐を使用することです。 (Github-flowが推奨されます)。

あなたは(あなたのローカルリポジトリにファイルをコピーする)このGitの-フックをインストールする必要があります。

https://github.com/ktamas77/git_hooks

あなたが特定のピボタルチケットの作業を開始する前に、あなたはピボタルトラッカーで始まるブランチを作成しますIDは、例えば:あなたが通常行うだろうと

git checkout 1234567_build_new_form 

は、すべての変更内容を追加します。

git commit -am 'form added' 
git commit -am 'styles added' 
git push origin 

git hookスクリプトは、フィーチャーブランチ名からPivotal Tracker IDを自動的に抽出し、それを各コメントの先頭に追加します。必要に応じて、手動で別のIDで上書きすることもできます。

このようにして、1回のコミットごとに手動でピボットIDを追加することを心配する必要はありません。これらのGUIは標準のGITライブラリ/実行可能ファイルを使用しているため、GUIS(GIT Towerなど)でも動作します。

4

Tamasのソリューションに基づいたシンプルなシェルバージョンです。ブランチ名の末尾からIDを取得します。

"my-feature-branch-12345678" => "My commit mssg [#12345678]"。

移動.gitする/フック/準備-MSG-コミットし、それを実行可能にします。

#!/bin/bash 
if story_id=`git branch | grep -oP '^\*.*\-\K[0-9]+$'` 
then 
    echo "[#$story_id]" >> "$1" 
fi 
+1

OS Xのライオンでは動作しません-P(Perl regexes)はgrepではサポートされていないためです。 – Ritchie

4

https://github.com/nebhale/git-pivotal-tracker-integration

'をgitの-中枢トラッカー統合' 宝石をインストールするにはにコマンドを追加しますgitのように開始し、Gitに自動的にブランチのプレフィックスをつけ、トラッカーのストーリーIDでコミットし、コミットメッセージをトラッカーにポストします。 'git start'と呼ぶと、最新のものであることを確認するためにマスターを引き出し、ブランチを作成して、あなたのためにトラッカーでストーリーを開始します。次に、仕事を 'git finish'と呼ぶと、あなたのブランチをマスタートラッカーと更新トラッカーにマージします。

3

私のチームはgit_trackerを使用しています。各開発者は、Pivo​​tal Trackerのプロジェクトごとに1回、

$ git tracker init 

を1回実行する必要があります。次に、それぞれの新しいブランチに特別なコンベンションで名前を付ける必要があります。最後に、ピボットトラッカーのストーリーIDを付ける必要があります。たとえば:

$ git checkout -b the-great-feathure-123456789 

ここで、123456789はピボットトラッカーのストーリーIDです。

ここでは、自動的にそれぞれのコミットがストーリーを参照します。あなたがプル要求を実行するためのGitHubを使用する場合はボーナスポイントは、あなたがコミットマージに追加する物語をマージ査読を依頼することができます:あなたはFinishボタンをクリックする必要はありません、

[Fixes #123456789] ... 

この方法は、GitHubのを行いますそれはあなたのためです。

+0

更新しました。私のチームの中には、マージメッセージに「修正」を追加することを忘れていたため、Pivo​​tal Trackerダッシュボードが非同期になってしまった。だから私は[これ](https://github.com/ssaunier/mergehook)を作って、マージボタンが当たったらすぐにストーリーを完成させました! –

0

ブックマークレットを使用しています。ブックマークレットは、ストーリータイトルのコミットメッセージも設定しています。

[#69609212] Add new Todo 

あなたはhere

0

から後半にコメント、多分まだ役に立つものをそれを得ることができます。 @Sjoerdが提供するのと同じソリューションが欲しかったが、私はMacユーザーだ);

結果のコードは次のようになります。私たちは、支店名に発行IDを付加、それは、文字列ではなく、始まりの終わりにマッチする正規表現を修正するためにかなり基本的です

story_id=`git symbolic-ref --short -q HEAD | grep -o "^[[:digit:]]*"` 
if [ ! -z "$story_id" -a "$story_id" != " " ] 
then 
    echo "[#$story_id] $(cat $1)" > "$1" 
fi 

注意。コメントの先頭にissue IDを追加します。これにより、gitログの概要が明確になります。上記のスクリプトがuesの場合、ブランチ名が実際の発行IDで始まらない場合を除き、各コミットメッセージの先頭に[#<issue ID>]が追加されます。

で先頭に追加されるすべてのコミット、でも自動マージなどがなりますように、このコードは、prepare-commit-msgフック内の他のコードの前に追加された場合、それはおそらく最高であることに留意すべきです。

希望すると便利です。ここで

0

は正確に何をしたいん逸品です:

http://github.com/bogdan/git-storyid

それがうまく形成され、メニューから物語を選択することができます:

[1] Removing Billing Page 
[2] Welcome Email 
[3] Tag campaign insertion points and campaigns with an identifier 

Indexes(csv): 3 
[campaign-tags 3020407] [#44116647] Initial implementation of campaign tags 
1 file changed, 101 insertion(+), 2 deletions(-) 
関連する問題