You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Monitor Issues & PRs with Slack+Discord Notifications
1
+
# Issue Triaging with Discord Notifications
2
2
3
-
This repo is a fork of [repo-activity-monitor](https://github.com/shubhaamgupta11/repo-monitor) specifically for monitoring issues and pull requests in react-native.
3
+
This repository is a fork of [repo-activity-monitor](https://github.com/shubhaamgupta11/repo-monitor), designed to monitor new issues in the React Native repository and send notifications to Discord for better issue triaging.
4
4
5
-
Managing activity in open-source repositories can be challenging. With a constant influx of **issues** and **pull requests**, it's easy to lose track of what needs attention—especially when working with large teams or active projects. Missed notifications or delayed responses can lead to bottlenecks, reduced contributor satisfaction, and slower project progress.
5
+
## Features
6
6
7
-
## Repo Activity Monitor
8
-
9
-
This [GitHub Action](https://github.com/marketplace/actions/repo-activity-monitor) empowers open-source maintainers by:
10
-
11
-
- Tracking new issues and pull requests.
12
-
- Sending auto-generated notifications to **Slack** or **Discord**.
13
-
- Customizing **Slack** notifications with the ability to ping multiple users or groups.
14
-
- Customizing **Discord** notifications with the ability to ping multiple users or roles.
15
-
- Allowing **Slack** notifications to be sent to designated channels.
16
-
17
-
With **Repo Activity Monitor**, you can stay on top of your repositories activities, streamline communication, and ensure no critical issues or pull requests fall through the cracks.
7
+
- Tracks new **issues** in the React Native repository.
8
+
- Sends notifications to **Discord**.
9
+
- Allows configuring **Discord** notifications to mention users or roles.
fetch_data_interval: 1# Hours (must align with your cron schedule)
47
-
# repo inputs
48
-
repo_owner: "<owner>"
49
-
repo_name: "<repo>"
50
-
# Slack-specific inputs
51
-
slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"
52
-
slack_channel: "<channel-id>"
53
-
slack_id_type: "<user/group>"# Optional: Only needed to ping someone directly.
54
-
slack_ids: "<user-id/group-id>"# Optional: Only needed if slack_id_type is provided. Can pass multiple similar type ids separated by commas. e.g. "Uyyyxxxx,Uzzzxxxx"
55
-
```
56
-
57
-
> **Note:** slack_id_type and slack_ids are only needed if you want to ping someone directly.
58
-
59
-
### Monitoring PRs with Discord
15
+
Create a GitHub Actions workflow file (e.g., .github/workflows/monitor.yml) with the following:
discord_id_type: "<user/role>"# Optional: Only needed to ping someone directly.
91
47
discord_ids: "<user-id/role-id>"# Optional: Only needed if discord_id_type is provided. Can pass multiple similar type ids separated by commas. e.g. "Uyyyxxxx,Uzzzxxxx"
92
48
```
93
49
94
-
> **Note:** You can configure any notifier (slack, discord) for any task (monitor-issues, monitor-prs, etc.).
95
-
96
-
## Message Previews
97
-
Below are examples of how the notifications look on Slack and Discord.
98
-
99
-
### Slack Notification Previews
100
-
<details> <summary>Click to view Slack notifications</summary>
| slack_bot_token | Slack bot token to send notifications (required if notifier=`slack`). | No | None |
133
-
| slack_channel | The Slack channel id to send notifications to (required if notifier=`slack`). | No | None |
134
-
| slack_id_type | Type of Slack ID (user or group, required if notifier=`slack`). This is needed to ping someone directly. | No | None |
135
-
| slack_ids | user id or group id as per `slack_id_type` (required if notifier=`slack`). Can pass multiple similar type ids separated by commas. e.g. "Uyyyxxxx,Uzzzxxxx" | No | None |
136
66
| discord_webhook_url | Discord webhook URL to send notifications (required if notifier=`discord`). | No | None |
137
67
| discord_id_type | Type of Discord ID (user or role, required if notifier=`discord`). This is needed to ping someone directly. | No | None |
138
68
| discord_ids | user id or role id as per `discord_id_type` (required if notifier=`discord`). Can pass multiple similar type ids separated by commas. e.g. "Uyyyxxxx,Uzzzxxxx" | No | None |
139
69
140
-
## 📖 How It Works
141
-
- The action listens for new issues or PRs in the specified GitHub repository.
142
-
- Depending on the `task` input, it will either monitor new issues (`monitor-issues`) or pull requests (`monitor-prs`).
143
-
- Once a new issue or PR is detected, it sends a notification via Slack or Discord based on the `notifier` input.
144
-
- The action checks for issues or PRs within the time period defined by `fetch_data_interval`, which should align with the cron schedule. For example, if the cron schedule is set to run every hour `(0 * * * *)`, set `fetch_data_interval` to 1 hour.
145
-
146
70
## 🔧 Setting Up
147
71
148
-
### Slack
149
-
150
-
- Create a [Slack App](https://api.slack.com/quickstart).
151
-
- Generate a Slack Bot Token.
152
-
- Retrieve the Channel ID and User/Group IDs.
153
-
- Add these secrets to your GitHub repository:
154
-
- `SLACK_BOT_TOKEN`
155
-
- Provide the Slack Channel ID, Slack ID Type and Slack ID in the workflow.
156
-
157
72
### Discord
158
73
159
74
- Create a [Discord Webhook](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks).
- [ ] **Support Custom Filters**: Enable users to apply filters like labels, authors, or milestones to issues and PRs.
171
-
- [ ] **Handle API Rate Limiting**: Add rate limiting or retry logic for handling GitHub API rate limits.
172
-
- [ ] **Track inactivity** on issues and notify users after a specific TAT (Turnaround Time).
84
+
Full roadmap can be found [here](https://github.com/shubhaamgupta11/repo-monitor?tab=readme-ov-file#-roadmap).
173
85
174
86
## 📜 License
175
87
176
-
This project is licensed under the [MIT License](https://github.com/shubhaamgupta11/repo-monitor/blob/main/LICENSE).
88
+
This project is licensed under the [MIT License](https://github.com/react-native-community/repo-monitor/blob/main/LICENSE).
177
89
178
90
## Support & Feedback
179
91
If you find this action helpful, please give the repository a ⭐️ on GitHub! Your support helps us grow and continue improving. Feel free to raise issues or suggest enhancements to make this even better.
0 commit comments