| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/usr/bin/env python3
- import argparse
- import os
- import re
- import sys
- 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()
|