AutoInviteToOrgByStar
Auto Join: A GitHub action script to automatically invite everyone to the organization who star your repository.
Install / Use
/learn @BaseMax/AutoInviteToOrgByStarREADME
Auto Invite To The Organization By Star
A GitHub Action script to automatically invite everyone to your organization that stars your repository.
What is this?
You can FORK and STAR this repository, after that you will be invited to a surprising and fantastic organization.
Deploy to your organization
Create MY_GITHUB_KEY variable at Secrets
Open https://github.com/settings/tokens and create one.
After that you can create a secret at https://github.com/ORG_NAME/REPO_NAME/settings/secrets/actions.
Create COMMUNITY_TEAM_ID variable at Secrets
Do not have team id at your org?
At first, create a team at https://github.com/orgs/YOUR_ORG_NAME/teams and run:
curl -H "Authorization: token *****" https://api.github.com/orgs/YOUR_ORG_NAME/teams
P.S: Put your personal token at the ****, and replace your organization name at YOUR_ORG_NAME.
After that, You can create a secret at https://github.com/ORG_NAME/REPO_NAME/settings/secrets/actions and put api number as value.
Create .github/workflows/invite-by-star.yml file:
on:
watch:
types: [started]
name: Invite a new user
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout repo content
uses: actions/checkout@v2
- name: setup python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests
if [ -f ./.github/workflows/requirements.txt ]; then pip install -r requirements.txt; fi
- name: execute py script
run: |
python ./.github/workflows/AutoInviteToOrgByStar.py
env:
MY_GITHUB_KEY: ${{ secrets.MY_GITHUB_KEY }}
COMMUNITY_TEAM_ID: ${{ secrets.COMMUNITY_TEAM_ID }}
Create .github/workflows/AutoInviteToOrgByStar.py file
# Max Base
# 2021-06-19
# https://github.com/BaseMax/AutoInviteToOrgByStar
import os
import sys
import json
import requests
print("Hello, World")
if os.getenv('CI'):
print('Looks like GitHub!')
else:
print('Maybe running locally?')
print("Environ:")
print(os.environ)
print("Prefix:")
print(sys.prefix)
MY_GITHUB_KEY = os.environ['MY_GITHUB_KEY']
COMMUNITY_TEAM_ID = os.environ['COMMUNITY_TEAM_ID']
file = open(os.environ['GITHUB_EVENT_PATH'])
data = json.load(file)
print("Data:")
print(data)
USERNAME = data['sender']['login']
print('Send invite for the @'+USERNAME)
# TODO: check user already joined or no....
url = 'https://api.github.com/teams/'+COMMUNITY_TEAM_ID+'/memberships/' + USERNAME
payload=''
headers = {
'Accept': 'application/vnd.github.v3+json',
'Authorization': 'token '+MY_GITHUB_KEY
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
© Copyright Max Base, 2021
Related Skills
apple-reminders
349.0kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
gh-issues
349.0kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
349.0kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
