| import os |
| import subprocess |
| import logging |
| from datetime import datetime |
|
|
| logger = logging.getLogger(__name__) |
|
|
|
|
| def get_git_commit_message(): |
| """ |
| 获取当前Git commit message |
| """ |
| try: |
| |
| result = subprocess.run( |
| ["git", "log", "-1", "--pretty=%B"], |
| capture_output=True, |
| text=True, |
| cwd=os.path.dirname(os.path.dirname(os.path.abspath(__file__))), |
| ) |
|
|
| |
| branch_result = subprocess.run( |
| ["git", "branch", "--show-current"], |
| capture_output=True, |
| text=True, |
| cwd=os.path.dirname(os.path.dirname(os.path.abspath(__file__))), |
| ) |
|
|
| if result.returncode == 0: |
| commit_message = result.stdout.strip() |
| branch = ( |
| branch_result.stdout.strip() |
| if branch_result.returncode == 0 |
| else "unknown" |
| ) |
|
|
| |
| formatted_message = f"""☀️☀️☀️☀️☀️ |
| 🕐 {datetime.now().strftime('%Y-%m-%dT%H:%M:%S')} |
| 🔧 {branch} -> {branch} |
| 🏆 prod / |
| 📝 提交信息: {commit_message}""" |
|
|
| return formatted_message |
| else: |
| logger.error(f"获取Git commit message失败: {result.stderr}") |
| return None |
| except Exception as e: |
| logger.error(f"获取Git commit message出错: {e}") |
| return None |
|
|