All Projects → Moya → Aeryn

Moya / Aeryn

Licence: mit
Server to invite new contributors to a GitHub organization team.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Aeryn

Goupaz.com
Community driven open source accelerator
Stars: ✭ 163 (+75.27%)
Mutual labels:  community, opensource
Githubrankingsspain
⬆️ Rankings with the most active GitHub users in Spain (sorted by public contributions) 🇪🇸
Stars: ✭ 127 (+36.56%)
Mutual labels:  community, opensource
Book Open Source Tips
Open Source book on Open Source Tips
Stars: ✭ 152 (+63.44%)
Mutual labels:  community, opensource
Devops Patch
A Patch for Dev-Ops community https://t.me/devOpsPatch
Stars: ✭ 193 (+107.53%)
Mutual labels:  community, opensource
Valorize Vidas
Sistema de prevenção ao suicídio
Stars: ✭ 214 (+130.11%)
Mutual labels:  community, opensource
rubynepal.github.io
Official website of Ruby Nepal
Stars: ✭ 21 (-77.42%)
Mutual labels:  community, sinatra
Icms2
Official Repository for InstantCMS 2.x
Stars: ✭ 215 (+131.18%)
Mutual labels:  community, opensource
GLUG-PACE
GLUG PACE is a group of people who works for Free Software Movement Karnataka.
Stars: ✭ 12 (-87.1%)
Mutual labels:  community, opensource
Bhagavadgita
A non-profit initiative to help spread the transcendental wisdom from the Bhagavad Gita to people around the world.
Stars: ✭ 84 (-9.68%)
Mutual labels:  opensource
Aurdroid
Android AUR [Arch Linux user Repository] packages browser
Stars: ✭ 88 (-5.38%)
Mutual labels:  opensource
Ritchie Formulas
This repository contains the community formulas that can be executed through Ritchie CLI once imported. This tool is an open source product that allows you to create, store and share any kind of automations, executing them through command lines, to run operations or start workflows ⚙️ 🖥 💡
Stars: ✭ 84 (-9.68%)
Mutual labels:  opensource
Opencode Collaborative
Best place to start Open Source and learn development.
Stars: ✭ 85 (-8.6%)
Mutual labels:  opensource
Vkbot
Простой разговорный бот на PHP
Stars: ✭ 88 (-5.38%)
Mutual labels:  opensource
It resource exchange app
IT换换官方客户端
Stars: ✭ 84 (-9.68%)
Mutual labels:  opensource
Cdnjs
🤖 CDN assets - The #1 free and open source CDN built to make life easier for developers.
Stars: ✭ 9,270 (+9867.74%)
Mutual labels:  opensource
Reading Vimrc
vimrc読書会まとめ
Stars: ✭ 83 (-10.75%)
Mutual labels:  community
Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (-12.9%)
Mutual labels:  community
Heartypatch
A single lead ECG heart-rate variability monitoring patch with ESP32
Stars: ✭ 92 (-1.08%)
Mutual labels:  opensource
Fastotv
Open source IPTV player
Stars: ✭ 90 (-3.23%)
Mutual labels:  opensource
Usdaplantsapi
DEFUNCT - REST API for the USDA Plants Database
Stars: ✭ 87 (-6.45%)
Mutual labels:  sinatra

Aeryn

CircleCI

Aeryn is a server app, written in Sinatra, used to invite new contributors to a GitHub organization team once they have a pull request merged.

State

This project works for production. However, by this point all of the Aeryn servers ran by the maintainers of this repo have moved to danger/peril with an aeryn.ts file.

Motivation

Moya's contributor guidelines explain in detail what we'll summarize here: we believe in giving push access to contributors after they have a pull request merged. On Moya's main repo, we've been practicing this since June 2015; the practice has led to an engaged, respectful community helping to improve the project.

But remembering to check every pull request, actually inviting new contributors, leaving them a comment – it's work that adds up. This project automates that process using GitHub WebHooks and the GitHub API.

Setup

There are a few prerequisites:

  • A GitHub personal access token.
  • The team ID of the GitHub org team to invite contributors to.

Personal Access Token

You'll need to create a new personal access token on whatever account will be inviting new contributors (this means the account needs admin writes). The access token needs the admin:org and public_repo scopes.

Team ID

The organization's Team ID is also required. This is a number that's not easily retrieved from GitHub's user interface. You can retrieve it by using curl and your personal access token from the previous step.

> curl -H "Authorization: token PUT_YOUR_ACCESS_TOKEN_HERE" https://api.github.com/orgs/PUT_YOUR_ORG_NAME_HERE/teams

That will return a JSON list of teams on the org. Pick the one you want to invite contributors to (here's an abridged sample of what that might look like).

[
  {
    "name": "Contributors",
    "id": 1234567
  }
]

Deploy

The easiest way to deploy the app is to use Heroku. Click the following to get set up and provide necessary config values.

Deploy

If you don't want to use Heroku, you can copy .env.sample to .env to set environment variables for your server. The variables themselves are described in the app.json file.

Configuring the WebHook

Once deployed, we need to point your GitHub repo(s) at the server. Go to your repository's settings page and WebHook tab, and create a new WebHook.

You'll need the server's address, as well as the WEBHOOK_ENDPOINT environment variable you set up earlier. So if your server is at https://example.com and the endpoint is /payload, then the Payload URL for the WebHook is https://example.com/payload.

You'll also need to specify a secret. This is a random string that GitHub will use to sign the requests sent to Aeryn, to make sure no one else can control the server but GitHub.

New WebHook interface

Only certain events need to trigger the WebHook, specifically the "Pull Request" event.

New WebHook interface

Once you've saved the WebHook, GitHub will send a ping to your server to see if everything is working. Aeryn should respond that everything is fine, and you'll see a nice green check under the WebHook settings:

New WebHook interface

If you don't see a green checkmark, it means that GitHub wasn't able to reach Aeryn. Double-check your environment variables and server config, and please feel free to open an issue.

Contributing

If you have trouble installing ffi when running bundle install, try running brew install coreutils first.

This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs.

This project subscribes to the Moya Contributors Guidelines which TLDR: means we give out push access easily and often. That's actually the whole point of this repo.

This repo subscribes to the Contributor Code of Conduct, based on the Contributor Covenant version 1.4.0. The maintainers take the code of conduct seriously.

Organizations using Aeryn

Check out this list of known organizations using Aeryn. Submit a pull request if you'd like to be added to the list!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].