https://github.com/fastai/tweetrel
Use GitHub Actions to send a tweet when you make a new release
https://github.com/fastai/tweetrel
github github-actions nbdev release-automation twitter twitter-api
Last synced: 16 days ago
JSON representation
Use GitHub Actions to send a tweet when you make a new release
- Host: GitHub
- URL: https://github.com/fastai/tweetrel
- Owner: fastai
- License: apache-2.0
- Created: 2020-12-02T19:37:03.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-12-14T17:35:19.000Z (about 5 years ago)
- Last Synced: 2025-09-08T18:29:11.356Z (4 months ago)
- Topics: github, github-actions, nbdev, release-automation, twitter, twitter-api
- Language: Jupyter Notebook
- Homepage: https://fastai.github.io/tweetrel/
- Size: 1.07 MB
- Stars: 18
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# How to tweet your releases
> Send a tweet to let people know when you release software on GitHub.
It's great to release software. And even better when people actually know about it!
One way to let people know about your new software releases is to tell them on Twitter. But we're software developers, not social media managers -- so that means we *automate all the things*.
With tweetrel, you can have GitHub send a tweet for you whenever you make a release.
## Install
`pip install tweetrel`
## How to use
First, you need to add your Twitter API details as [GitHub secrets](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets). You'll need to sign up for a [Twitter API](https://developer.twitter.com/en/docs) account if you don't already have one. Once you've signed up, Twitter will give you four keys: `consumer_key`, `consumer_secret`, `access_token`, and `access_token_secret`. Create a new secret called `TWITTER`, and paste those four keys in, with a space between each one.
If you need to send Tweets on behalf of a different user to the one attached to your login, you'll need to authenticate with Twitter as that user. Run `tweetrel-auth` in your terminal and follow the instructions, and it will give you the `access_token` and `access_token_secret` you need -- paste them (after a space) after your `consumer_key` and `consumer_secret` and that will let you send tweets as the user you authenticated as.
Next, in your terminal, `cd` to the root of your repo, and then run:
```bash
tweetrel-install
```
That will set `tweetrel` up for you to run automatically upon release. You'll see two folders added to your `.github` folder, containing the YAML workflow and python script. No additional setup is needed, other than pushing these to GitHub:
```bash
git add -A .github
git commit -am 'Add tweetrel`
git push
```
You can test this without actually making a release by going to your GitHub repo in your browser, clicking the *Actions* tab, then clicking on the *tweet* action, and clicking the *run workflow* button. That will use GitHub's example release payload for testing.
Once you've confirmed it's working, try making a release on GitHub, and check that you see the green tick in the Actions tab showing a successful run of the *tweet* action.
## Customization
As you'll see, the default template is:
New #{repo} release: v{tag_name}. {html_url}\n\n{body}
You can customize that by setting the `TWEETREL_TEMPLATE` environment variable. For instance, add this (with suitable indentation) to the `env:` section of your workflow YAML file:
```bash
TWEETREL_TEMPLATE: |
We are proud to announce the {tag_name} release of {repo}.
For more, see: {html_url}. Here are the details:
{body}
```
The `|` is the YAML character that indicates a multiline string. The sections in `{...}` are the Python formatting template variables that will be replaced by the details of your release. You don't need to include all of them if you don't want them.