【Powershell】Gitログの送信
マージ履歴を見ることで進捗を確認したり、他の人が何をしたのか
確認したいことってありますよね。
そこでソース管理をGitでしている場合マージ履歴をメールで送ってくれるバッチを作ってみました。
#Gitログの作成 cd C:\Users\ #ワークスペースのパス git log --name-only --encoding=sjis > develop_log.csv if($LastExitCode -eq 0){ # 宛先メールアドレス $to = "メールアドレス" # 送信元メールアドレス $from = "git@log.com" # SMTPサーバー(IP、ホスト名どちらでも) $smtp = "メールサーバー" #添付ファイルq $File='C:\Users\ワークスペースのパス\develop_log.csv' # 件名 $subject = "Gitログの送信" # 本文 [string]$body = @() $body += "前日のGitログを送信します。" #メール送信 Send-MailMessage -To $to -From $from -Attachments $File -SmtpServer $smtp -Subject $subject -Body $body -Encoding ([System.Text.Encoding]::UTF8) echo 送信成功 }
Gitを導入するとGitのコマンドを使用できるので、それを利用して
git logを出力します。
まず、ワークスペースの場所に移動する。
git log を出力。(sjisで出力)
git logを出力し終わらないうちにメールが送信されてしまう
ことがあるため、$LastExitCodeで前の処理が終了したかを判断しています。
このバッチをタスクマネージャーで朝一回起動するようにして
昨日までのマージ履歴を確認するようにしています。