mirror of
https://github.com/python/cpython.git
synced 2026-01-06 07:22:09 +00:00
Our legacy mailgun account is associated with a parent rackspace account that I am trying to decomission. The necessary secret has been added to the GitHub Actions Secrets already, so this is ready to go on approval.
56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
name: new-bugs-announce notifier
|
|
|
|
on:
|
|
issues:
|
|
types:
|
|
- opened
|
|
|
|
permissions:
|
|
issues: read
|
|
|
|
jobs:
|
|
notify-new-bugs-announce:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 14
|
|
- run: npm install mailgun.js form-data
|
|
- name: Send notification
|
|
uses: actions/github-script@v6
|
|
env:
|
|
MAILGUN_API_KEY: ${{ secrets.MAILGUN_PYTHON_ORG_MAILGUN_KEY }}
|
|
with:
|
|
script: |
|
|
const Mailgun = require("mailgun.js");
|
|
const formData = require('form-data');
|
|
const mailgun = new Mailgun(formData);
|
|
const DOMAIN = "mailgun.python.org";
|
|
const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY});
|
|
github.rest.issues.get({
|
|
issue_number: context.issue.number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
})
|
|
.then(function(issue) {
|
|
const payload = {
|
|
author : issue.data.user.login,
|
|
issue : issue.data.number,
|
|
title : issue.data.title,
|
|
url : issue.data.html_url,
|
|
labels : issue.data.labels.map(label => { return label.name }).join(", "),
|
|
assignee : issue.data.assignees.map(assignee => { return assignee.login }),
|
|
body : issue.data.body
|
|
};
|
|
|
|
const data = {
|
|
from: "CPython Issues <github@mailgun.python.org>",
|
|
to: "new-bugs-announce@python.org",
|
|
subject: `[Issue ${issue.data.number}] ${issue.data.title}`,
|
|
template: "new-github-issue",
|
|
'o:tracking-clicks': 'no',
|
|
'h:X-Mailgun-Variables': JSON.stringify(payload)
|
|
};
|
|
return mg.messages.create(DOMAIN, data)
|
|
})
|
|
.then(msg => console.log(msg));
|