initial commit

Adds in the plain plugin as created by mvn hpi:create
insert licence and developers section into pom

and update the .gitignore file to hide the generated resources from git.
include generated eclipse files in .gitignore
testing out various jenkins parts

Still learning how the various parts of a jenkins plugin fit togather.
pull in configsettings from the mysql-auth-plugin and the twitter-jenkins-plugins
jelly works and security realm is selectable in jenkins.

The trick was to run the launcher with 'clean hpi:run' to show the new module.

Now we can setup the oauth application details (well we hard code to the test account for now)

And the login is delegated properly to the GitHubSecurityRealm.

Next step is to try out binding to signpost-oauth to see if it will work.

Also changed the licence to the MIT licence since that is what I have been copying from to get to this point.
credit the mysql-auth-plugin in the GithubSecurityRealm class
add in readme file
Login link starts the authentication process.

Now we can click login and it redirects to our listener in the GithubOAuthSecurityRealm.

The redirection still doesn't work properly.
remove federatedloginservice subclass to focus only on security realm.

Now we get get the oauth token but we still need to cache it somewhere for the user
and to make the user as authenticated.
Remote API calls using the token work.

We can now load data like the api.github.com/user for the current user.

Now we just need to place it into a location where we can let jenkins know that the user is authenticated.
authentication works but authorization needs work

We can now authenticate but the next step is to restrict users access to jobs based on their permissioning in github.

And we also need to support setting the admin user(s) to allow the jenkins management features to still be used.
Fix formatting of GithubAuthenticationToken class
update pom to 1.419 parent and remove unneeded dependencies.

We didn't need oauth-signpost so I removed the dependency's from the pom.xml
implement github authorization strategy

This is the top level access strategy.  We allow a comma delimited list of usernames to be given for the administrator users.

We also have a check box that can be used to let authenticated users have a read only view.

This would allow any github user to view the jobs and settings.
Switch to using the github-api artifact

There is already a repo and org api so we will use that for project based authorization.
Use new command from github-api to get list of organizations of a user.

There are some problems with the github API that are preventing me from getting the list of team members of an organization (for some reason the user requesting this is left out from the returnded lists).

So I have adopted a broader approach where we will just check if the authenticated user is a member of a specific organization and if so grant them access to viewing and running the builds.
merged both ACL's into one and it is now the root ACL.

This seems to allow the participating user to build the jobs.
Add in test case with api details externalized through Systetm Properties

This is the test code I have been using to figure out how to get the members list of an organization that the current user belongs to.

Because of the nature of the login api key or the oauth key they can't be included in the source code so I have externalized the fields so others can still run the code.
update README and remove git dependency

Updates the readme now that the plugin works better.

Also we don't need the git plugin because we define the organization name in the Jenkins settings and don't need to look anything up from the job.