According to https://developer.github.com/v3/issues/#create-an-issue:
Only users with push access can set labels for new issues. Labels are silently dropped otherwise.
Scenario:
alertmanager-github-receiver is running as a user without permission to push to a repo.
- An alert is generated, and the program creates an issue. It tries to add labels to the issue, but no labels are added.
- Alertmanager periodically resends the alert. The next time
alertmanager-github-receiver receives it, it checks to see if the issue already exists. It searches based on labels first, so it doesn't find the existing issue.
alertmanager-github-receiver creates a duplicate issue.
- It does so again every time alertmanager resends the alert.
It seems like there are a few things we should/could do:
- Warn users that they need to have
push permissions for the service account.
- Detect insufficient permissions and warn the user.
- Refuse to create duplicate issues.
According to https://developer.github.com/v3/issues/#create-an-issue:
Scenario:
alertmanager-github-receiveris running as a user without permission to push to a repo.alertmanager-github-receiverreceives it, it checks to see if the issue already exists. It searches based on labels first, so it doesn't find the existing issue.alertmanager-github-receivercreates a duplicate issue.It seems like there are a few things we should/could do:
pushpermissions for the service account.