Bot to automatically sync and update an airtable sheet with GitHub pull request and issue data.

Clone this repo:
  1. dd71dca Update ToC for README.md by toc-me[bot] · 7 weeks ago master
  2. 1c8a851 Add option to get issues for watched repositories (#5) by José Carlos Ustra Júnior · 7 weeks ago
  3. 2ee00eb Update ToC for README.md by toc-me[bot] · 8 weeks ago
  4. 0f89aca update generation by Jess Frazelle · 8 weeks ago
  5. ead8586 handle 404 by Jess Frazelle · 8 weeks ago

gitable

Travis CI GoDoc

Bot to automatically sync and update an Airtable sheet with GitHub pull request and issue data.

Table of Contents

Installation

Binaries

For installation instructions from binaries please visit the Releases Page.

Via Go

$ go get github.com/jessfraz/gitable

Running with Docker

$ docker run --restart always -d \
    -v /etc/localtime:/etc/localtime:ro \
    --name gitable \
    -e "GITHUB_TOKEN=59f6asdfasdfasdf0" \
    -e "AIRTABLE_APIKEY=ksdfsdf7" \
    -e "AIRTABLE_BASEID=appzxcvewrwtrewt4" \
    -e "AIRTABLE_TABLE=Current Open GitHub Pull Request and Issues" \
    r.j3ss.co/gitable --interval 1m

Usage

$ gitable -h
gitable -  Bot to automatically sync and update an airtable sheet with GitHub pull request and issue data.

Usage: gitable <command>

Flags:

  --airtable-apikey  Airtable API Key (or env var AIRTABLE_APIKEY) (default: <none>)
  --airtable-baseid  Airtable Base ID (or env var AIRTABLE_BASEID) (default: <none>)
  --airtable-table   Airtable Table (or env var AIRTABLE_TABLE) (default: <none>)
  --autofill         autofill all pull requests and issues for a user [or orgs] to a table (defaults to current user unless --orgs is set) (default: false)
  -d, --debug        enable debug logging (default: false)
  --github-token     GitHub API token (or env var GITHUB_TOKEN)
  --interval         update interval (ex. 5ms, 10s, 1m, 3h) (default: 1m0s)
  --once             run once and exit, do not run as a daemon (default: false)
  --orgs             organizations to include (this option only applies to --autofill) (default: [])
  --watch-since      defines the starting point of the issues been watched (format: 2006-01-02T15:04:05Z). defaults to no filter (default: 2008-01-01T00:00:00Z)
  --watched          include the watched repositories (default: false)

Commands:

  version  Show the version information.

Airtable Setup

Using the API

Follow this guide.

Format

Your airtable table must have the following fields:

  • reference (single line text)
  • title (single line text)
  • type (single select)
  • state (single line text)
  • author (single line text)
  • labels (multiple select)
  • comments (number)
  • url (url)
  • updated (date, include time)
  • created (date, include time)
  • completed (date, include time)
  • project (link to another sheet)
  • repository (single line text)

The only data you need to initialize (if not running with --autofill) is the Reference which is in the format {owner}/{repo}#{number}.

It should look like the following:

airtable.png