{"id":15407055,"url":"https://github.com/bih/gitable-node","last_synced_at":"2025-03-28T02:25:26.716Z","repository":{"id":143349123,"uuid":"164846406","full_name":"bih/gitable-node","owner":"bih","description":"Pull GitHub issues into Airtable (via Node.js) automagically ✨","archived":false,"fork":false,"pushed_at":"2019-07-16T17:42:34.000Z","size":183,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-02T03:43:25.626Z","etag":null,"topics":["airtable","cli","github","javascript","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bih.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-09T11:02:00.000Z","updated_at":"2023-02-16T03:47:55.000Z","dependencies_parsed_at":"2023-06-09T13:00:13.884Z","dependency_job_id":null,"html_url":"https://github.com/bih/gitable-node","commit_stats":{"total_commits":2,"total_committers":2,"mean_commits":1.0,"dds":0.5,"last_synced_commit":"d0e24b29bef8f556ad12761a40abdaf5b95878b2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fgitable-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fgitable-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fgitable-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bih%2Fgitable-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bih","download_url":"https://codeload.github.com/bih/gitable-node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245956307,"owners_count":20700076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airtable","cli","github","javascript","nodejs"],"created_at":"2024-10-01T16:26:55.060Z","updated_at":"2025-03-28T02:25:26.693Z","avatar_url":"https://github.com/bih.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- @format --\u003e\n\n# gitable-node\n\nBot to automatically sync and update an [Airtable](https://airtable.com) sheet with GitHub pull request and issue data.\n\nA [Node.js](https://nodejs.org) port of \u003chttps://github.com/jessfraz/gitable\u003e.\n\n## Installation\n\nYou'll need a GitHub personal access token and Airtable API key.\n\n#### Getting an Airtable `base_id` and table name\n\n[Follow this guide on Airtable](https://help.grow.com/hc/en-us/articles/360015095834-Airtable#How-to-connect)\n\n#### Via NPM\n\n```bash\n$ git clone https://github.com/bih/gitable-node.git\n$ cd gitable-node/\n$ npm install\n$ npm run build\n$ npm run cli --help # runs the cli\n```\n\n#### Via Yarn\n\n```bash\n$ git clone https://github.com/bih/gitable-node.git\n$ cd gitable-node/\n$ yarn install\n$ yarn build\n$ yarn cli --help # runs the cli\n```\n\n## Usage\n\n```console\n$ yarn cli --help\nUsage: gitable-node [options] [command]\n\nSynchronize GitHub Issues and Airtable (via Node.js)\n\nOptions:\n  -v, --version         output the version number\n  -h, --help            output usage information\n\nCommands:\n  airtable [options]    Synchronize records from Airtable\n  github [options]      Synchronize records from GitHub\n  cached-run [options]  Run the Airtable sync script (from cache)\n  run [options]         A full sync - download from GitHub, and Airtable, and apply changes to Airtable\n```\n\n## Requirements\n\n### Airtable Table Structure\n\nIn order to use `gitable-node`, your Airtable _must_ have these columns. Additional columns are fine to add although we will leave them empty.\n\n| Field Name  | Type                        | Example / Expected                              | Required     |\n| ----------- | --------------------------- | ----------------------------------------------- | ------------ |\n| `reference` | `string` (single line text) | `bih/gitable-node#18`                           | **Required** |\n| `title`     | `string` (single line text) | `Fix bug with Yarn`                             | **Required** |\n| `type`      | `string` (single select)    | `pull request` or `issue`                       | **Required** |\n| `state`     | `string` (single line text) | `open` or `closed`                              | **Required** |\n| `author`    | `string` (single line text) | `Bilawal Hameed`                                | **Required** |\n| `labels`    | `string` (multiple select)  | `bug`, `suggestion` or custom labels            | **Required** |\n| `comments`  | `number`                    | `3`                                             | **Required** |\n| `url`       | `string` (URL)              | `https://github.com/bih/gitable-node/issues/18` | **Required** |\n| `updated`   | `datetime`                  | `2019-07-01 08:13:00 GMT+0000`                  | **Required** |\n| `created`   | `datetime`                  | `2019-06-28 19:31:33 GMT+0000`                  | **Required** |\n| `completed` | `datetime`                  | `2019-07-01 08:01:00 GMT+0000`                  | **Required** |\n| `project`   | `string` (single line text) | `gitable-node`                                  | **Required** |\n\nIt should look like the following:\n\n![airtable.png](airtable.png)\n\n## Global Usage\n\nFirst you'll need to generate a config and fill out the details:\n\n```bash\n$ yarn cli run --config ~/.gitable-node.config.json # It will fail, and generate a config for you.\n$ vim ~/.gitable-node.config.json\n$ yarn cli run --config ~/.gitable-node.config.json # Run it again, and it'll work.\n```\n\n## Update to new version\n\nTo update to the newest version, run the following commands:\n\n```bash\n$ git pull origin master\n$ yarn build\n```\n\nThen you can run the `yarn cli run` command again.\n\n## Contributing\n\nThis is infrequently maintained, and was used for work purposes.\n\n- [ ] Write tests\n- [ ] Write contributing guide\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbih%2Fgitable-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbih%2Fgitable-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbih%2Fgitable-node/lists"}