GitTweet
等级: 3-高级
在GitHub时间线应用中,你使用GitHub的API创建了一个仓库的时间线。还有什么比使用这样的API更强大的呢?当然要使用两个API。
GitTweet的目标是创建一个GitHub应用,在你的仓库创建拉取请求时进行推文。
用户故事
- [ ] 用户可以看到一个输入区域,表格显示预先填充了她的每个仓库的行,每个仓库名称旁边有一个选择框,一个单独的输入日期字段和一个'扫描'按钮。
- [ ] 用户可以点击仓库列表中的复选框来选择或取消选择要处理的仓库。
- [ ] 用户可以在日期字段中输入日期。这定义了从哪个点以后任何新的PR请求将被推文。
- [ ] 用户可以点击'扫描'按钮来识别那些已经创建了新的PR但没有被推文的仓库。换句话说,连续输入相同的日期进行扫描应该只生成尚未被推文的PR的推文。
- [ ] 如果没有输入日期,用户会看到错误消息;如果日期无效,或者日期是未来的,则会显示错误消息。
- [ ] 如果为某个仓库生成推文,仓库会被突出显示,'扫描'按钮将更改为'推文'。
- [ ] 用户可以通过点击其复选框来取消选择仓库。这样做会将按钮变回'扫描',再次点击它将会搜索自用户输入扫描日期以来已经创建了新PR(尚未推文)的仓库。
- [ ] 用户可以在此时输入新的扫描日期,这将使按钮变回'扫描'。
- [ ] 用户可以点击'推文'按钮发送一条推文,内容如下 -
Pull Request #<pr-number> 创建自仓库 <repo name> - <repo description>
。 - [ ] 用户可以看到这条推文来自她的Twitter账户。
额外功能
- [ ] 用户不需要手动输入扫描日期。如果省略,扫描将从上次扫描日期继续,该日期必须在会话之间保持一致。
- [ ] 用户可以输入自定义推文消息
- [ ] 用户的仓库选择将在会话之间持续存在,因此无需每次重新选择。
有用的链接和资源
- Twitter开发者文档
- GitHub应用
-
GitHub提供了两个API供您访问仓库数据。您也可以选择使用NPM包访问GitHub API。GitHub API的文档可以在以下位置找到:
- GitHub GraphQL API V4
展示如何使用GitHub API的示例代码包括:
您可以使用此CURL命令查看V3 REST API为您的仓库返回的JSON:
curl -u "user-id" https://api.github.com/users/user-id/repos