Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

other issue data here or elsewhere? #13

Open
jbenet opened this issue Aug 17, 2016 · 2 comments
Open

other issue data here or elsewhere? #13

jbenet opened this issue Aug 17, 2016 · 2 comments

Comments

@jbenet
Copy link
Contributor

jbenet commented Aug 17, 2016

Do you want to use this module to grab other issue data? (status, labels, assignee, etc) Or should this be a separate module?

I would imagine this one to save on requests, but then again, we could use a proxy in between that caches requests or something. so yeah, prob separate, but figured i'd ask.

@hackergrrl
Copy link
Owner

hackergrrl commented Aug 17, 2016

I've been thinking about this, and the more ugly GitHub API code I write the more I want to break apart the pieces. I'm thinking we split the module in two:

  1. github-issues-fetch: given a GitHub org, repo, or issue, returns those raw issues. Takes care of pagination at the org and issue level.
  2. github-dependency-crawl: given the output of (1), pulls out the "Depends on ..." content and recursively grabs external dependencies (also using (1)) until all are resolved. Returns the dependency tree that you see today, except with raw issue data attached.

This makes the whole process much more like a stateless pipeline:

fetch-issues ----> issues-to-dep-graph ---> post-processors

Where "post-processors" might be things like "look at the graph and apply color values to issues depending on their open/closed/ready-to-work-on status". Your dot renderer would be the final sink in that pipeline.

This also means the fetch-issues source can more easily be IPFS or local FS or the Github API.

@jbenet
Copy link
Contributor Author

jbenet commented Aug 18, 2016

This sounds great to me.
On Wed, Aug 17, 2016 at 19:06 Stephen Whitmore [email protected]
wrote:

I've been thinking about this, and the more ugly GitHub API code I write
the more I want to break apart the pieces. I'm thinking we split the module
in two:

  1. github-issues-fetch: given a GitHub org, repo, or issue, returns
    those raw issues. Takes care of pagination at the org and issue level.
  2. github-dependency-crawl: given the output of (1), pulls out the
    "Depends on ..." content and recursively grabs external dependencies (also
    using (1)) until all are resolved. Returns the dependency tree that you see
    today, except with raw issue data attached.

This makes the whole process much more like a stateless pipeline:

fetch-issues ----> issues-2-dep-graph ---> post-processors

Where "post-processors" might be things like "look at the graph and apply
color values to issues depending on their open/closed/ready-to-work-on
status". Your dot renderer would be the final sink in that pipeline.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#13 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIcoR3jmyDsojfdzkM-C7T9IQtJuwvLks5qg5P-gaJpZM4JmTVS
.

zjiekai pushed a commit to zjiekai/github-dependency-crawl that referenced this issue Aug 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants