home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

22 rows where author_association = "MEMBER" and "created_at" is on date 2020-03-23 sorted by updated_at descending

✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: issue_url, created_at (date), updated_at (date)

issue 6

  • Set up a live demo Datasette instance 8
  • Commits in GitHub API can have null author 6
  • Assets table with downloads 3
  • Enable full-text search for more stuff (like commits, issues and issue_comments) 2
  • Turn GitHub API errors into exceptions 2
  • Add "incomplete" boolean to users table for incomplete profiles 1

user 1

  • simonw 22

author_association 1

  • MEMBER · 22 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
602920163 https://github.com/dogsheep/github-to-sqlite/issues/21#issuecomment-602920163 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/21 MDEyOklzc3VlQ29tbWVudDYwMjkyMDE2Mw== simonw 9599 2020-03-23T23:48:22Z 2020-03-23T23:48:22Z MEMBER

I'm happy with this pattern: https://github.com/dogsheep/github-to-sqlite/blob/f78c4e9baaf0970ffab266ba780df7240aae9f32/github_to_sqlite/utils.py#L4-L18

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Turn GitHub API errors into exceptions 586561727  
602918689 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602918689 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjkxODY4OQ== simonw 9599 2020-03-23T23:43:39Z 2020-03-23T23:47:50Z MEMBER

I pointed https://github-to-sqlite.dogsheep.net/ at it. May take a few minutes for the new certificate to provision though.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602919058 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602919058 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjkxOTA1OA== simonw 9599 2020-03-23T23:44:48Z 2020-03-23T23:44:48Z MEMBER

Next step: use a metadata.json file to add some extras. And add the datasette-render-markdown plugin as soon as I ship https://github.com/simonw/datasette-render-markdown/issues/2 (GFM support).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602917713 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602917713 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjkxNzcxMw== simonw 9599 2020-03-23T23:40:29Z 2020-03-23T23:40:29Z MEMBER

Most recently updated issues across all Dogsheep repos, with faceting: https://github-to-sqlite-j7hipcg4aq-uc.a.run.app/github/issues?_facet=repo&_facet=user&_facet=state&_facet=author_association&_facet=type&_sort_desc=updated_at

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602916947 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602916947 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjkxNjk0Nw== simonw 9599 2020-03-23T23:38:06Z 2020-03-23T23:38:06Z MEMBER

Woohoo! https://github-to-sqlite-j7hipcg4aq-uc.a.run.app/

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602896434 https://github.com/dogsheep/github-to-sqlite/issues/21#issuecomment-602896434 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/21 MDEyOklzc3VlQ29tbWVudDYwMjg5NjQzNA== simonw 9599 2020-03-23T22:43:37Z 2020-03-23T22:43:37Z MEMBER

I'm going to do this now to help figure out the latest error in #13: Traceback (most recent call last): File "/opt/hostedtoolcache/Python/3.8.2/x64/bin/github-to-sqlite", line 11, in <module> load_entry_point('github-to-sqlite', 'console_scripts', 'github-to-sqlite')() File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/hostedtoolcache/Python/3.8.2/x64/lib/python3.8/site-packages/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/home/runner/work/github-to-sqlite/github-to-sqlite/github_to_sqlite/cli.py", line 237, in commits utils.save_commits(db, commits, repo_full["id"]) File "/home/runner/work/github-to-sqlite/github-to-sqlite/github_to_sqlite/utils.py", line 345, in save_commits for commit in commits: File "/home/runner/work/github-to-sqlite/github-to-sqlite/github_to_sqlite/utils.py", line 207, in fetch_commits if stop_when(commit): File "/home/runner/work/github-to-sqlite/github-to-sqlite/github_to_sqlite/cli.py", line 224, in stop_when db["commits"].get(commit["sha"]) TypeError: string indices must be integers

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Turn GitHub API errors into exceptions 586561727  
602895896 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602895896 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjg5NTg5Ng== simonw 9599 2020-03-23T22:42:25Z 2020-03-23T22:42:25Z MEMBER

Urgh this is such a mess! I should have done this on a branch / pull request to avoid polluting my main master history, but never mind.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602862967 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602862967 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjg2Mjk2Nw== simonw 9599 2020-03-23T21:22:04Z 2020-03-23T21:22:04Z MEMBER

Following these instructions: https://simonwillison.net/2020/Jan/21/github-actions-cloud-run/

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602862236 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602862236 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjg2MjIzNg== simonw 9599 2020-03-23T21:20:26Z 2020-03-23T21:20:26Z MEMBER

I'll run the commits and issues and issue-comments commands in addition to the releases command.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602861730 https://github.com/dogsheep/github-to-sqlite/issues/13#issuecomment-602861730 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/13 MDEyOklzc3VlQ29tbWVudDYwMjg2MTczMA== simonw 9599 2020-03-23T21:19:16Z 2020-03-23T21:19:42Z MEMBER

I'm going to do this with a scheduled GitHub Action in this repo.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Set up a live demo Datasette instance 521275281  
602813731 https://github.com/dogsheep/github-to-sqlite/issues/18#issuecomment-602813731 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/18 MDEyOklzc3VlQ29tbWVudDYwMjgxMzczMQ== simonw 9599 2020-03-23T19:38:03Z 2020-03-23T20:44:49Z MEMBER

So it turns out "author" and "committer" on the commit are null if the email address in the nested "commit" doesn't match an existing GitHub user.

Maybe I should be storing the nested data somewhere as well?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Commits in GitHub API can have null author 585411547  
602846293 https://github.com/dogsheep/github-to-sqlite/issues/18#issuecomment-602846293 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/18 MDEyOklzc3VlQ29tbWVudDYwMjg0NjI5Mw== simonw 9599 2020-03-23T20:44:40Z 2020-03-23T20:44:40Z MEMBER

I implemented the raw_authors idea.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Commits in GitHub API can have null author 585411547  
602815120 https://github.com/dogsheep/github-to-sqlite/issues/18#issuecomment-602815120 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/18 MDEyOklzc3VlQ29tbWVudDYwMjgxNTEyMA== simonw 9599 2020-03-23T19:40:55Z 2020-03-23T19:43:19Z MEMBER

I could pull a pk-hashed version of the name/email into separate raw_author and raw_committer columns perhaps - against a commit_authors table. Could be interesting.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Commits in GitHub API can have null author 585411547  
602811785 https://github.com/dogsheep/github-to-sqlite/issues/18#issuecomment-602811785 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/18 MDEyOklzc3VlQ29tbWVudDYwMjgxMTc4NQ== simonw 9599 2020-03-23T19:33:56Z 2020-03-23T19:34:06Z MEMBER

json [ { "sha": "a8dc914089d399d9b522ebb51b67f9ac2e8aa6b0", "node_id": "MDY6Q29tbWl0OTMyMDk6YThkYzkxNDA4OWQzOTlkOWI1MjJlYmI1MWI2N2Y5YWMyZThhYTZiMA==", "commit": { "author": { "name": "Simon Willison", "email": "simon@...", "date": "2008-12-18T23:17:12Z" }, "committer": { "name": "Simon Willison", "email": "simon@...", "date": "2008-12-18T23:17:12Z" }, "message": "First commit", "tree": { "sha": "ac2dfb75e2592c59165c2880f3f7a16dafd452a1", "url": "https://api.github.com/repos/simonw/simonw.github.com/git/trees/ac2dfb75e2592c59165c2880f3f7a16dafd452a1" }, "url": "https://api.github.com/repos/simonw/simonw.github.com/git/commits/a8dc914089d399d9b522ebb51b67f9ac2e8aa6b0", "comment_count": 0, "verification": { "verified": false, "reason": "unsigned", "signature": null, "payload": null } }, "url": "https://api.github.com/repos/simonw/simonw.github.com/commits/a8dc914089d399d9b522ebb51b67f9ac2e8aa6b0", "html_url": "https://github.com/simonw/simonw.github.com/commit/a8dc914089d399d9b522ebb51b67f9ac2e8aa6b0", "comments_url": "https://api.github.com/repos/simonw/simonw.github.com/commits/a8dc914089d399d9b522ebb51b67f9ac2e8aa6b0/comments", "author": null, "committer": null, "parents": [] } ]

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Commits in GitHub API can have null author 585411547  
602811468 https://github.com/dogsheep/github-to-sqlite/issues/18#issuecomment-602811468 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/18 MDEyOklzc3VlQ29tbWVudDYwMjgxMTQ2OA== simonw 9599 2020-03-23T19:33:14Z 2020-03-23T19:33:14Z MEMBER

Found one: https://api.github.com/repos/simonw/simonw.github.com/commits

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Commits in GitHub API can have null author 585411547  
602807178 https://github.com/dogsheep/github-to-sqlite/issues/18#issuecomment-602807178 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/18 MDEyOklzc3VlQ29tbWVudDYwMjgwNzE3OA== simonw 9599 2020-03-23T19:24:43Z 2020-03-23T19:24:43Z MEMBER

I need to find an example before I work on this.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Commits in GitHub API can have null author 585411547  
602806530 https://github.com/dogsheep/github-to-sqlite/issues/5#issuecomment-602806530 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/5 MDEyOklzc3VlQ29tbWVudDYwMjgwNjUzMA== simonw 9599 2020-03-23T19:23:30Z 2020-03-23T19:23:30Z MEMBER

Yeah alter=True means that this isn't necessary.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Add "incomplete" boolean to users table for incomplete profiles 493671014  
602782437 https://github.com/dogsheep/github-to-sqlite/issues/19#issuecomment-602782437 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/19 MDEyOklzc3VlQ29tbWVudDYwMjc4MjQzNw== simonw 9599 2020-03-23T18:36:12Z 2020-03-23T18:51:23Z MEMBER
  • commits: message
  • issue_comments: body
  • issues: title, body
  • labels: name, description
  • licenses: name
  • milestones: title, description
  • releases: name, body
  • repos: name, description
  • users: login, name (maybe company, bio)
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Enable full-text search for more stuff (like commits, issues and issue_comments) 585850715  
602312054 https://github.com/dogsheep/github-to-sqlite/issues/15#issuecomment-602312054 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/15 MDEyOklzc3VlQ29tbWVudDYwMjMxMjA1NA== simonw 9599 2020-03-23T01:07:10Z 2020-03-23T01:07:10Z MEMBER

Each asset looks like this: json { "url": "https://api.github.com/repos/instrumenta/conftest/releases/assets/11811946", "id": 11811946, "node_id": "MDEyOlJlbGVhc2VBc3NldDExODExOTQ2", "name": "checksums.txt", "label": "", "uploader": { "login": "garethr", "id": 2029, "node_id": "MDQ6VXNlcjIwMjk=", "avatar_url": "https://avatars2.githubusercontent.com/u/2029?v=4", "gravatar_id": "", "url": "https://api.github.com/users/garethr", "html_url": "https://github.com/garethr", "followers_url": "https://api.github.com/users/garethr/followers", "following_url": "https://api.github.com/users/garethr/following{/other_user}", "gists_url": "https://api.github.com/users/garethr/gists{/gist_id}", "starred_url": "https://api.github.com/users/garethr/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/garethr/subscriptions", "organizations_url": "https://api.github.com/users/garethr/orgs", "repos_url": "https://api.github.com/users/garethr/repos", "events_url": "https://api.github.com/users/garethr/events{/privacy}", "received_events_url": "https://api.github.com/users/garethr/received_events", "type": "User", "site_admin": false }, "content_type": "text/plain; charset=utf-8", "state": "uploaded", "size": 600, "download_count": 2, "created_at": "2019-03-30T16:56:44Z", "updated_at": "2019-03-30T16:56:44Z", "browser_download_url": "https://github.com/instrumenta/conftest/releases/download/v0.1.0/checksums.txt" }

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Assets table with downloads 544571092  
602311701 https://github.com/dogsheep/github-to-sqlite/issues/15#issuecomment-602311701 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/15 MDEyOklzc3VlQ29tbWVudDYwMjMxMTcwMQ== simonw 9599 2020-03-23T01:05:15Z 2020-03-23T01:06:14Z MEMBER

None of my own releases use assets (they are all pushed to PyPI instead) but I spotted that your project here uses assets, so I'll test against that: https://github.com/instrumenta/conftest/releases/tag/v0.18.0

github-to-sqlite releases releases.db instrumenta/conftest

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Assets table with downloads 544571092  
602309825 https://github.com/dogsheep/github-to-sqlite/issues/15#issuecomment-602309825 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/15 MDEyOklzc3VlQ29tbWVudDYwMjMwOTgyNQ== simonw 9599 2020-03-23T00:52:38Z 2020-03-23T00:52:38Z MEMBER

Splitting assets out into a separate table totally makes sense to me. They can still be fetched as part of the releases command.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Assets table with downloads 544571092  
602304531 https://github.com/dogsheep/github-to-sqlite/issues/19#issuecomment-602304531 https://api.github.com/repos/dogsheep/github-to-sqlite/issues/19 MDEyOklzc3VlQ29tbWVudDYwMjMwNDUzMQ== simonw 9599 2020-03-23T00:20:28Z 2020-03-23T00:20:28Z MEMBER

Current FTS code: https://github.com/dogsheep/github-to-sqlite/blob/e35eec4343aa560c58c1634cc228d0d46c442304/github_to_sqlite/utils.py#L136-L143

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Enable full-text search for more stuff (like commits, issues and issue_comments) 585850715  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
, [performed_via_github_app] TEXT);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Queries took 902.002ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows