Skip to content

Update multiple repositories's `.github/FUNDING.yml` via GitHub API

License

Notifications You must be signed in to change notification settings

azu/github-funding-yml-updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github-funding-yml-updater Build Status

Update multiple repositories's .github/FUNDING.yml at once via GitHub API.

It will help you to setup GitHub Sponsors for your repository.

Features

  • Setup .github/FUNDING.yml for GitHub Sponsors
  • No need to clone git repository in local
    • This tools using GitHub API

Install

Install with npm:

npm install github-funding-yml-updater -g
# or
npx -p github-funding-yml-updater github-funding-yml-updater [opions]

Usage

Usage
  $ github-funding-yml-updater [options]

Options
  --mode "add", "delete", or "overwrite"
    --mode "add" and --mode "delete" require --user argument
    --mode "overwrite" require --funding-file argument
  --user GitHub account name
  --list-file input list file path. list file includes line-separated repository list for updating
  --funding-file input FUNDING.yml file path. It is for --mode overwrite
  --write update GitHub repository if set it. Default: dry-run(no update)
  --token GitHub Token(or env GITHUB_TOKEN=xxx)

Examples
  # Dry-run by default
  $ github-funding-yml-updater --mode add --user azu --list-file list.txt --token XXXX
  # Add user to Repository
  $ github-funding-yml-updater --mode add --user azu --list-file list.txt --token XXXX --write
  # Delete user from Repository
  $ github-funding-yml-updater --mode delete --user azu --list-file list.txt --token XXXX --write
  # Overwrite using existing FUNDING.yml
  $ github-funding-yml-updater --mode overwrite --funding-file ./FUNDING.yml --list-file list.txt --token XXXX --write

You should get GitHub Token(has repo permission) from next url.

--write

github-funding-yml-updater dry-run by default.

If you want to update actual repository, you should run it --write options.

--mode

  • add: add --user to repositories
  • delete: delete --user from repositories
  • overwrite: overwrite by --funding-file

--list-file

--list-file specify text file that is following format:

owner/repo
owner/repo@branch
https://github.com/owner/repo

Example of list.txt:

azu/example1@develop
azu/example2
example/example

📝 Tips

curl + jq can generate your repositories.

export GH_USER="azu"
curl -s "https://api.github.com/search/repositories?q=user:${GH_USER}&&per_page=100" | jq ".items[].full_name" > list.txt

Examples

Add gh-user to each repositories:

github-funding-yml-updater --mode add --user gh-user --list-file list.txt --token $GITHUB_TOKEN --write

Remove gh-user from each repositories:

github-funding-yml-updater --mode delete --user gh-user --list-file list.txt --token $GITHUB_TOKEN --write

Overwrite .github/FUNDING.yml with a file.yml:

github-funding-yml-updater --mode overwrite --funding-file file.yml --list-file list.txt --token $GITHUB_TOKEN --write

Notice ⚠️

Currently, only put .github/FUNDING.yml and does not show sponsor button.

You should turn on Sponsorships on your GitHub repository's settings:

Sponsorship check

This tools includes helper tool that show settings url from list file.

npm install github-funding-yml-updater -g
github-funding-yml-settings --list-file list.txt

Or

npx -p github-funding-yml-updater github-funding-yml-settings --list-file list.txt

This tools output setting links from list.txt.

https://github.com/azu/example1/settings#repository-funding-links-feature
https://github.com/azu/example2/settings#repository-funding-links-feature

References

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu

About

Update multiple repositories's `.github/FUNDING.yml` via GitHub API

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published