# infrastructure-github-discussions-notifier **Repository Path**: mirrors_apache/infrastructure-github-discussions-notifier ## Basic Information - **Project Name**: infrastructure-github-discussions-notifier - **Description**: Apache infrastructure - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-17 - **Last Updated**: 2025-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GitHub Discussion Notifier Platform for ASF Infrastructure This service picks up on GitHub Discussions payloads (sent via webhooks) and distributes to pubsub and (if configured) mailing lists at the ASF. It is designed as a [PipService](https://cwiki.apache.org/confluence/display/INFRA/Pipservices) but can be run manually using pipenv or python3. All activity is relayed through [PyPubSub](https://github.com/Humbedooh/pypubsub/) at pubsub.apache.org, and to the appropriate mailing lists if such have been set up via .asf.yaml. To enable notifications for a repository, the `notifications` directive in .asf.yaml should be appended with a `discussions` target, like so: ~~~yaml notifications: commits: commits@foo.apache.org discussions: issues@foo.apache.org custom_subjects: new_discussion: "Created: Discussion {repository}: {title}" edit_discussion: "Edited: Discussion {repository}: {title}" close_discussion: "Closed: Discussion {repository}: {title}" close_discussion_with_comment: "Closed: Discussion with comment {repository}: {title}" reopen_discussion: "Reopened: Discussion {repository}: {title}" new_comment_discussion: "Commented: Discussion {repository}: {title}" edit_comment_discussion: "Edited a comment: Discussion {repository}: {title}" delete_comment_discussion: "Deleted a comment: Discussion {repository}: {title}" ~~~ ## Possible Actions The different actions I identified and how to detect them: - Discussion Created: - Action: "created" - No "comment" element - Discussion Edited: - Action: "edited" - No "comment" element - Discussion Closed without comment: - Action: "closed" - No "comment" element - Discussion Closed with comment: - Action: "created" - Existing "comment" element - Discussion/State: "closed" - Comment Added: - Action: "created" - Existing "comment" element - Discussion/State: "open" - Comment Edited: - Action: "edited" - Existing "comment" element - Discussion/State: "open" - Comment Deleted: - Action: "deleted" - Existing "comment" element - Discussion/State: "open" NOTE: Problem is, that it seems impossible to distinguish between someone adding a comment to a closed discussion and someone closing a discussion with a comment. For simplicity reasons, we'll assume that if a comment is added and the discussion state is "closed", that this is someone closing a discussion with a comment.