github问题的snooze按钮
github-snooze-button的Python项目详细描述
发行量大的项目会积累很多未解决的问题 不能立即采取行动,通常是因为他们在等待 一个投稿人的回复。没什么好隐藏的 从github接口或向其他维护人员发出的信号 问题或公关还不能采取行动。
输入github snooze按钮!
为问题添加“snooze”标签,github snooze按钮将删除 每当
- 问题或拉取请求接收一条评论,
- 拉取请求接收对diff的注释,或
- 已更新拉取请求分支。
Github Snooze按钮可以在两种模式下运行:部署到AWS Lambda, 或者在本地轮询amazon sqs队列。
配置文件
github snooze按钮使用.ini样式的配置文件,看起来像:
[default] github_username = your_username github_token = your_token aws_key = your_key aws_secret = your_secret snooze_label = snooze # aws_region = us-west-2 # optional [your_username/repo1] ignore_member_of = cool_organization # ignore comments from members of an organization [your_username/repo2] snooze_label = response required
配置文件中的aws凭据被发送到github并用于 将通知推送到sns。听众也会用它们来消费 SQS的事件。它们不用于配置lambda部署。
选项1:AWS Lambda部署
- 使用public_repo生成github身份验证令牌, admin:repo_hook,和(如果您使用的是ignore_member_of, org:read)作用域。(注意,public_repo给出write 许可!这些凭据将嵌入到lambda中 部署包,因此您应该考虑 部署包敏感。)
- 使用these permissions or better保存aws凭据 到一个他们都能找到的地方:要么in the environment 或者在configuration file中。
- 安装github snooze按钮: pip install git+https://github.com/tdsmith/github-snooze-button.git
- 使用snooze_deploy /path/to/config.ini启动。snooze_deploy
威尔:
- 为每个存储库构建部署包
- 定义或重新使用 /tdsmith/github-snooze-button/snooze_lambda_roleiam角色 AWSLambdaBasicExecutionRole策略
- 为每个存储库创建或重用sns主题
- 配置每个github存储库以将通知推送到sns
- 为每个存储库创建或更新lambda函数
- 赋予每个sns主题调用其匹配lambda的权限 函数并创建连接它们的订阅
现在你还活着。
选项2:轮询模式
- 使用public_repo和生成github身份验证令牌 admin:repo_hook作用域。
- 在aws iam中,使用所有amazonsq*和 亚马逊的政策(可能更少?)
- 安装github snooze按钮: pip install git+https://github.com/tdsmith/github-snooze-button.git
- 使用snooze_listen /path/to/config.ini 启动
请注意,队列将继续收集事件,除非 断开存储库与sns的连接。
拆卸
禁用github snooze按钮的最快方法是删除 来自存储库“webhooks&service s”的amazon sns服务 配置页。下次您将自动重新创建它 在任一模式下运行snooze。
联系人
tim d.smith:在tds.xyz打盹,freenode:tdsmith,@biotomylated