The Github API v3 for Haskell.
Some functions are missing; these are functions where the Github API did not work as expected. The full Github API is in beta and constantly improving.
In your project's cabal file:
-- Packages needed in order to build this package.
Build-depends: github
Or from the command line:
cabal install github
See the samples in the samples/ directory.
For details see the reference documentation on Hackage.
Each module lines up with the hierarchy of documentation from the Github API.
Each function has a sample written for it.
All functions produce an IO (Either Error a)
, where a
is the actual thing
you want. You must call the function using IO goodness, then dispatch on the
possible error message. Here's an example from the samples:
import qualified Github.Users.Followers as Github
import Data.List (intercalate)
main = do
possibleUsers <- Github.usersFollowing "mike-burns"
putStrLn $ either (("Error: "++) . show)
(intercalate "\n" . map formatUser)
possibleUsers
formatUser = Github.githubOwnerLogin
- Comments on gist by gist id
- Specific comment by comment id
- Blobs
- user/repo and commit sha
- Commits
- user/repo and commit sha
- References
- single reference by ref name
- history of references for a user/repo
- references by user/repo, limited by namespace (you can get tags by specifying "tags" here)
- Trees
- Create issue
- Edit issue
- Get issues for repo
- get members by organization
- Review Comments by PR id or comment id
- repos by user
- repos by organization
- Repo search w/ authentication
- Repo search w/o auth
- Code search w/ auth
- Code search w/o auth
- by name, with auth
- by name, with password
- by name, public info
See DetailedOwner
to know what data could be provided.
Please see CONTRIBUTING.md for details on how you can help.
Copyright 2011, 2012 Mike Burns. Copyright 2013-2014 John Wiegley.
Available under the BSD 3-clause license.