Git Product home page Git Product logo

githubr's Introduction

githubr: An R Interface to GitHub

lifecycle R build status AppVeyor build status License: MIT

The goal of githubr is to simplify using GitHub’s API. Uses the wonderful gh R package. Inspiration also comes from the gitlabr package.

Installation

You can install the development version of githubr with:

# install.packages("remotes")
remotes::install_github("lwjohnst86/githubr")

Examples

Currently, most of the functionality revolves around Issues. For example, to list issues or labels:

library(githubr)

# See issues
gh_list_issues("lwjohnst86/carpenter")
#> # A tibble: 14 x 11
#>    state number title body  labels.name milestone.number milestone.title
#>    <chr> <chr>  <chr> <chr> <chr>       <chr>            <chr>          
#>  1 open  26     Inte… "htt… <NA>        <NA>             <NA>           
#>  2 open  25     Remo… ""    question    <NA>             <NA>           
#>  3 open  24     Add … ""    docs        1                v0.3.0         
#>  4 open  23     Add … "To … docs        1                v0.3.0         
#>  5 open  21     Crea… ""    feature     1                v0.3.0         
#>  6 open  20     Func… "For… feature     1                v0.3.0         
#>  7 open  19     Add … ""    feature     1                v0.3.0         
#>  8 open  17     Add … ""    feature     1                v0.3.0         
#>  9 open  16     Use … ""    feature     <NA>             <NA>           
#> 10 open  15     Have… "Ins… feature     1                v0.3.0         
#> 11 open  14     Chan… "Thi… feature     1                v0.3.0         
#> 12 open  9      Use … "Sim… feature     1                v0.3.0         
#> 13 open  2      Add … ""    <NA>        <NA>             <NA>           
#> 14 open  1      Add … ""    <NA>        <NA>             <NA>           
#> # … with 4 more variables: milestone.open_issues <chr>,
#> #   milestone.closed_issues <chr>, milestone.state <chr>, comments <chr>

# See labels.
gh_list_labels("lwjohnst86/githubr")
#> # A tibble: 8 x 2
#>   name             color 
#>   <chr>            <chr> 
#> 1 bug              d73a4a
#> 2 duplicate        cfd3d7
#> 3 enhancement      a2eeef
#> 4 good first issue 7057ff
#> 5 help wanted      008672
#> 6 invalid          e4e669
#> 7 question         d876e3
#> 8 wontfix          ffffff

Contributing

Please note that the ‘githubr’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

githubr's People

Contributors

lwjohnst86 avatar

Stargazers

João Santiago avatar  avatar  avatar

Watchers

João Santiago avatar James Cloos avatar Joel Ostblom avatar Madeleine Bonsma-Fisher avatar  avatar Anders Askeland avatar Ahmed Hasan avatar

githubr's Issues

Would it be in scope to have a function to tidy the user repos endpoint?

I've played around a little with the package, and I like it. I also understand that you have an objective in mind for it, and that not every endpoint is reasonable to have. How would you feel about a method to tidy the respons from gh("GET /users/:username/repos", username = "daveparr")?

A quick trial suggests it's not implemented currently:

> githubr::tidy(gh("GET /users/:username/repos", username = "daveparr"))
Error in UseMethod("tidy", x) : 
  no applicable method for 'tidy' applied to an object of class "c('gh_response', 'list')"

If this isn't something that makes sense for you feel free to close :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.