| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/usr/bin/env python3
- import os
- import re
- import sys
- import argparse
- from slack_sdk import WebClient
- from slack_sdk.errors import SlackApiError
- def parse_args():
- parser = argparse.ArgumentParser()
- parser.add_argument("slack_token")
- parser.add_argument("slack_channel")
- args = parser.parse_args()
- return args
- def checkCommitMessage(msg):
- regex = re.compile(r"^'?\[(FL-\d+,?\s?)+\]")
- if regex.match(msg):
- return True
- return False
- def reportSlack(commit_hash, slack_token, slack_channel, message):
- client = WebClient(token=slack_token)
- try:
- client.chat_postMessage(channel="#" + slack_channel, text=message)
- except SlackApiError as e:
- print(e)
- sys.exit(1)
- def main():
- args = parse_args()
- commit_msg = os.getenv("COMMIT_MSG")
- commit_hash = os.getenv("COMMIT_HASH")
- commit_sha = os.getenv("COMMIT_SHA")
- commit_link = (
- "<https://github.com/flipperdevices/flipperzero-firmware/commit/"
- + commit_hash
- + "|"
- + commit_sha
- + ">"
- )
- message = "Commit " + commit_link + " merged to dev without 'FL' ticket!"
- if not checkCommitMessage(commit_msg):
- reportSlack(commit_hash, args.slack_token, args.slack_channel, message)
- if __name__ == "__main__":
- main()
|