Skip to content
This repository has been archived by the owner on Jun 8, 2019. It is now read-only.

Latest commit

 

History

History
53 lines (34 loc) · 1.3 KB

README.rdoc

File metadata and controls

53 lines (34 loc) · 1.3 KB

DEPRECATED

thoughtbot is no longer supporting this project, it hasn’t been tested or used since GitHub introduced Organizations (github.com/blog/674-introducing-organizations).

enforcer

A simple way to manage permissions on GitHub.

usage

Create an enforcer script and then run it with the “enforcer” executable.

enforcer my_enforcer_script.rb

howto

The DSL should be formed like such:

Enforcer "your github account", "your github api key" do
  project "project", "user1", "user2", "user3"

  postreceive "project", "http://rdoc.info/projects/update",
                         "http://example.com/post"
end

The users passed into the project are then set as the collaborators. Any users not listed are removed. You can also set postreceive URLs as well.

advanced

You could use a GitHub API wrapper like Octopi to load up your projects. Here’s a more complex example:

require 'octopi'
include Octopi
account = "thoughtbot"
token   = "deadbeef"

Enforcer account, token do
  authenticated_with account, token do |github|
    @projects = github.user.repositories.map { |repo| repo.name }.sort
  end

  users = %w[user1 user2 user3]

  @projects.each do |name|
    project name, *users
  end
end

Copyright © 2009 thoughtbot. See LICENSE for details.