Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 534142bbee
Fetching contributors…

Cannot retrieve contributors at this time

50 lines (32 sloc) 1.14 kB

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

legal

Copyright © 2009 thoughtbot. See LICENSE for details.

Jump to Line
Something went wrong with that request. Please try again.