Skip to content

Instantly share code, notes, and snippets.

@xinbenlv
Last active April 10, 2025 04:52
Show Gist options
  • Save xinbenlv/58e4b49650ef3e9bd92c2174ff5457d9 to your computer and use it in GitHub Desktop.
Save xinbenlv/58e4b49650ef3e9bd92c2174ff5457d9 to your computer and use it in GitHub Desktop.
Step 1: Generate Raw Reports
Go through all PRs and branches of the repos of namefi-astra,
namefi-api, namefi-app, namefi-home, namefi-md, namefi-gpt,
plus repos under github.com/d3servelabs organization that has git commits
in its default branch in the last 4 weeks, summarize a daily updates
(since 6am yesterday til 6am today, US Pacific time) of every contributor
in bullet points in the following format, group by contributor:
Summary
@teammate1
- done:
- bullet points of <summary_of_PR_merged_or_standalone_commits_pushed>
- wip:
- bullet points of <summary_of_PR_not_merged_but_has_commits_in_the_range>
// whereas <summary_of_PR_merged_or_standalone_commits_pushed> and <summary_of_PR_not_merged_but_has_commits_in_the_range>
is a synthesize human readable summary of work drived from PRs
and commits by @teammate1 from git history.
```
@teammate1
- done:
- Added DNS debugging guide (PR #123)
- updated health check format and DNS forwarding(PR #456)
- improved README documentation(PR #789)
- another things (commit #123456)
- wip:
- do something else (PR #124)
- do third thing (commit #ab12cd)
(same format with teammate 1) ...
@teammate2
```
Step 2: Refine The Raw Report
Read the Raw Report from Step 1 try to create the Refined Report in the following way
1. Keep similar format with Raw Report
2. For each teammate, deduplicate PR and commits, rank tasks by importance
3. For entire team create a TL:DR less than two lines summarizing entire team progress
4. Make sure links are preserved
Step 3: Then format the Refined Report to slack incoming webhook format
Again, don't forget to ensure each PR and commit links to github web url of them each individually
Step 4: send to slack via slack incoming webhook using the provided webhook URL
## Note
1. Please try to use Github REST API as much as possible, only git clone repo to local if absolutely needed.
2. If you create any script, prefer bash script unless too complex and needs python program to conduct tasks.
For script and program you created, please add logs to avoid being silent for too long when executing them.
## Github REST API reference
List Pull Requests
```
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/pulls
```
List commits of a PR
```
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/pulls/PULL_NUMBER/commits
```
List reviews of a PR
```
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/pulls/PULL_NUMBER/reviews/REVIEW_ID/comments
```
Understand Rate Limit
```
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/rate_limit
```
List commits
```
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/commits
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment