octokit
Version, currently 0.2.45 versions
github.com/GrantBirki/octokit.cr
Crystal toolkit for the GitHub API (in development)
Installation
# Add this to your shard.yml
dependencies:
octokit:
github: GrantBirki/octokit.cr
version: ~> 0.2.4Then run:
shards installshard.yml
- Crystal
>= 1.12.1- License
- MIT
- Authors
- Grant Birkinbine, Chris Watson
Dependencies
Runtime Dependencies
- halite0.12.0github: icyleaf/halite
- json_mapping0.1.1github: crystal-lang/json_mapping.cr
Development Dependencies
README
octokit
Crystal toolkit for the GitHub API.
Note: This is in the very early stages of development. The GitHub API is expansive and there is a lot to do to get this up and running. For a list of API connections that have been completed and are still to come, see the Roadmap
This project is a maintained fork of watzon/octokit.cr
Installation
-
Add the dependency to your
shard.yml:dependencies: octokit: github: grantbirki/octokit.cr -
Run
shards install
Usage
require "octokit"
# Create a new Octokit Client
# Your password should be your Personal Access Token (PAT)
github = Octokit.client("grantbirki", "PASSWORD")
# Also, you can authenticate this way:
# github = Octokit.client("grantbirki", access_token: "PAT")
# Fetch information about the logged in user
pp github.user
# Fetch information about another user
pp github.user("asterite")
There are way too many options to list here, even at this early stage. For more usage examples see the documentation.
Roadmap
There are a lot of pieces of the GitHub API to cover. Here are the ones that need to be working before this shard is considered v1.0 ready.
- [ ] Apps
- [ ] Authorizations
- [ ] Checks
- [ ] CommitComments
- [ ] Commits
- [ ] CommunityProfile
- [ ] Contents
- [x] Deployments
- [ ] Downloads
- [ ] Emojis
- [ ] Events
- [ ] Feeds
- [ ] Gists
- [ ] Gitignore
- [ ] Hooks
- [x] Issues
- [ ] Labels
- [ ] LegacySearch
- [ ] Licenses
- [x] Markdown
- [ ] Marketplace
- [ ] Meta
- [ ] Milestones
- [ ] Notifications
- [ ] Objects
- [ ] Organizations
- [ ] Pages
- [ ] Projects
- [x] PubSubHubbub
- [ ] PullRequests
- [x] RateLimit
- [ ] Reactions
- [ ] Refs
- [x] Releases
- [x] Repositories
- [ ] RepositoryInvitations
- [ ] Reviews
- [x] Say
- [x] Search
- [ ] ServiceStatus
- [ ] SourceImport
- [ ] Stats
- [x] Statuses
- [ ] Traffic
- [x] Users
I am trying to complete what I deem the most important ones first so that this shard can be immediately useful. Keep in mind, however, that the API may change at any time.
Contributing
I don't only welcome contributions, I beg for them. If this is a library that might help you out please, help me by forking this repo and porting one of the many APIs that's not checked above. Thank you!
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Grant Birkinbine
- Chris Watson - original creator and maintainer
Thanks
Thanks to all of the maintainers of octokit/octokit.rb who made this so much easier on me. This library is a port of the ruby library and I've tried to keep the APIs as similar as possible.
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.2.4- Tagged
- Apr 29, 2024
- Commit
bb15b174c07a- Crystal
>= 1.12.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/GrantBirki/octokit.cr
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 15, 2026
- Synced
- Aug 15, 2026
- Versions
- 5