All Projects → jessfraz → Gitable

jessfraz / Gitable

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

Programming Languages

go
31211 projects - #10 most used programming language

gitable

make-all make-image 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].