自建连接器+工作流,达成审批通过后自动开通GitHub仓库权限

自建连接器+工作流,达成审批通过后自动开通GitHub仓库权限

开发者广场内容精选NaN-NaN-NaN
解决方案
作者:幻幻
背景
我们希望把飞书审批和仓库成员管理联动起来,实现审批通过以后自动把人员加到仓库中。
集成平台提供了内置的 GitHub 连接器,但是只提供了读取 Repo、Issue 相关的能力,没有提供添加 Collaborator 相关的能力。因此我们通过自建连接器来实现这个业务场景。
操作步骤
新建连接器
新建一个自建的 GitHub 连接器,连接器名称可以随便起;连接器标识符有长度限制需要 >12 个字符,可以用公司名+系统名;
凭证模型选择 GitHub,Base URL 配置成 GitHub API 的根域名:https://api.github.com
250px|700px|reset
增加 Add Collaborator 操作
通过 API 新建操作,第一步可自行制定操作的名称、描述;第二步参考 GitHub 的接口文档Add a repository collaborator,添加 API 请求样例。
创建操作成功后,需要再单独配置一下响应码,定义为 $.code == 0 时成功。
250px|700px|reset
250px|700px|reset
搭建工作流
  • 使用飞书审批作为触发器,当审批实例状态变更时触发工作流
  • 由于飞书审批事件推送里没有审批表单的详细信息,因此后面搭配了飞书审批连接器先拿到单据详情,再使用 JSON 助手将审批表单组件转换成表达式可处理的 JSON 对象,再搭配数据转换组件将审批表单的 map 数据结构转换为 Object,最终输出的格式如下所示
{
"object": {
"仓库": "AnyCrossRepo",
"你的GitHub用户名": "申请人username",
"申请的权限": "pull"
}
}
  • 使用自建的 GitHub 连接器里的「添加协作者」方法,将用户添加到指定的 Repo 中并赋予对应的权限
  • 添加权限成功后,发送消息通知
  1. 最终效果
先进生产力和业务协同平台
联系我们立即试用
更多人气推荐
查看更多

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
反馈给飞书 CEO:ceo@feishu.cn