{"id":16965159,"url":"https://github.com/gregswindle/github-resource-converter","last_synced_at":"2025-04-11T23:02:46.311Z","repository":{"id":90405088,"uuid":"124477396","full_name":"gregswindle/github-resource-converter","owner":"gregswindle","description":"Export GitHub Issues and Pull Requests to CSV and JSON from your Terminal or Node.js app.","archived":false,"fork":false,"pushed_at":"2019-02-22T17:59:00.000Z","size":1176,"stargazers_count":6,"open_issues_count":3,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-29T13:03:33.240Z","etag":null,"topics":["csv","github-enterprise","github-export","github-issues","github-issues-export","github-pr","github-pr-export","json"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gregswindle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-03-09T02:39:55.000Z","updated_at":"2024-04-23T09:45:46.000Z","dependencies_parsed_at":"2023-06-03T21:00:36.731Z","dependency_job_id":null,"html_url":"https://github.com/gregswindle/github-resource-converter","commit_stats":{"total_commits":31,"total_committers":2,"mean_commits":15.5,"dds":0.4838709677419355,"last_synced_commit":"cb26f939f4200f3b890f747ef3c16005f2378633"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregswindle%2Fgithub-resource-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregswindle%2Fgithub-resource-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregswindle%2Fgithub-resource-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregswindle%2Fgithub-resource-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gregswindle","download_url":"https://codeload.github.com/gregswindle/github-resource-converter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239805904,"owners_count":19700209,"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":["csv","github-enterprise","github-export","github-issues","github-issues-export","github-pr","github-pr-export","json"],"created_at":"2024-10-13T23:45:10.408Z","updated_at":"2025-02-20T08:31:40.967Z","avatar_url":"https://github.com/gregswindle.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `github-resource-converter` [![NPM version][npm-image]][npm-url]\n\n\u003e \u003cimg align=\"bottom\" alt=\"issue-opened\" height=\"50\" width=\"50\"  src=\"https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/desktop-download.svg\"\u003e Convert and export GitHub \u003cstrong\u003eIssues\u003c/strong\u003e and \u003cstrong\u003ePull Requests\u003c/strong\u003e to \u003csamp\u003eJSON\u003c/samp\u003e and \u003csamp\u003eCSV\u003c/samp\u003e from a Terminal or Node.js app.\n\n[![The MIT License][license-image]][license-url]\n[![FOSSA Status][fossa-image]][fossa-url]\u003cbr\u003e\n[![NSP Status][nsp-image]][nsp-url]\n[![Dependency Status][daviddm-image]][daviddm-url]\n[![Development Dependency Status][daviddm-dev-image]][daviddm-dev-url]\u003cbr\u003e\n[![MacOS and Ubuntu build statuses][travis-image]][travis-url]\n[![Windows build status][appveyor-image]][appveyor-url]\n[![Coverage percentage][codacy-coverage-image]][codacy-url]\n[![Codacy code quality][codacy-image]][codacy-url]\n[![NPMS score][npms-image]][npms-url]\n[![NPM downloads per month][npm-downloads-month]][npm-url]\n\n## Table of contents\n\n\u003c!-- ⛔️ AUTO-GENERATED-CONTENT:START (TOC:excludeText=Table of contents) --\u003e\n- [1. Overview](#1-overview)\n- [2. Installation](#2-installation)\n  * [2.1. For Terminal/command-line usage](#21-for-terminalcommand-line-usage)\n  * [2.2. As a application dependency](#22-as-a-application-dependency)\n- [3. Usage](#3-usage)\n  * [3.1. Formatting](#31-formatting)\n  * [3.2. Resource types](#32-resource-types)\n  * [3.3. Filtering](#33-filtering)\n  * [3.4. Exporting](#34-exporting)\n    + [3.4.1. Issues](#341-issues)\n    + [3.4.2. Pull Requests](#342-pull-requests)\n    + [3.4.3. All (open and closed issues and pull requests)](#343-all-open-and-closed-issues-and-pull-requests)\n  * [3.5. Command-line flags](#35-command-line-flags)\n  * [3.6. Errors](#36-errors)\n  * [3.7. Info](#37-info)\n- [4. API](#4-api)\n  * [4.1. `grc.authenticate({token, type, key}): void`](#41-grcauthenticatetoken-type-key-void)\n    + [4.1.1. Parameters](#411-parameters)\n    + [4.1.2. Example](#412-example)\n  * [4.2. `grc.getAll({owner, repo}): Promise`](#42-grcgetallowner-repo-promise)\n  * [4.3. `grc.issues.getForRepo({owner, repo}): Promise`](#43-grcissuesgetforrepoowner-repo-promise)\n    + [4.3.1. Parameters](#431-parameters)\n    + [4.3.2. Examples](#432-examples)\n  * [4.4. `grc.logger`](#44-grclogger)\n  * [4.5. `grc.options`](#45-grcoptions)\n  * [4.6. `grc.pullRequests.getForRepo({owner, repo}): Promise`](#46-grcpullrequestsgetforrepoowner-repo-promise)\n    + [4.6.1. Parameters](#461-parameters)\n    + [4.6.2. Examples](#462-examples)\n  * [4.7. `grc.save({data, dest}): Promise`](#47-grcsavedata-dest-promise)\n    + [4.7.1. Parameters](#471-parameters)\n    + [4.7.2. Examples](#472-examples)\n  * [4.8. `grc.toCsv({data=[]}): Promise`](#48-grctocsvdata-promise)\n    + [4.8.1. Parameters](#481-parameters)\n    + [4.8.2. Examples](#482-examples)\n- [5. Version](#5-version)\n- [6. Contributing](#6-contributing)\n- [7. License](#7-license)\n\u003c!-- ⛔️ AUTO-GENERATED-CONTENT:END --\u003e\n\n## 1. Overview\n\n`github-resource-converter` (alias `grc`) exports your GitHub and GitHub Enterprise repositories' Issues and Pull Requests to `CSV` and `JSON` file formats. It's helpful whenever you need to:\n\n- **Use spreadsheets** to analyze, modify, print, or summarize large amounts of data with Pivot Tables and other important financial or statistical operations\n\n  _Example:_\n\n  \u003e ```bash\n  \u003e # Convert all GitHub issues to CSV:\n  \u003e $ github-resource-converter \\\n  \u003e   --owner foo \\\n  \u003e   --repo  bar\n  \u003e # =\u003e Saved \"foo-bar-issues-export.2018-03-20T02_11_04_356Z.csv\".\n  \u003e ```\n\n- **Share data** with other tools like GitLab and JIRA.\n\n  _Example:_\n\n  \u003e ```bash\n  \u003e # Convert and save all GitHub Enterprise\n  \u003e # Pull Requests as JSON (using the grc alias):\n  \u003e $ grc \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo github-resource-converter \\\n  \u003e   --resource-type pr \\\n  \u003e   --dest './docs/reports/export.json'\n  \u003e # Saved \"docs/reports/gregswindle-github-resource-converter-pr-export.2018-03-20T02_18_33_682Z.json\".\n  \u003e ```\n\n## 2. Installation\n\n1.  **Required:** `github-resource-converter` is written in JavaScript (CommonJS) for\n    [Node.js ![External link][icon-octicon-link-external]](https://nodejs.org/) version\n    \u003c!-- AUTO-GENERATED-CONTENT:START (ENGINES) --\u003e\n\n  \u003c!-- AUTO-GENERATED-CONTENT:END --\u003e\n\nwhich must be installed prior to use.\nNode.js requires **npm**, which is used for installing dependencies. (**npm** installs with Node.js.)\n\n1.  **Recommended:** To avoid rate-limiting, you should [create a personal access token ![External link][icon-octicon-link-external]](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) and save your personal access token.\n\n    - **MacOS and Unix**\n\n      ```bash\n      $ mkdir -p /usr/local/etc/github-resource-center/envvars/\n      $ touch /usr/local/etc/github-resource-center/envvars/.env\n      $ echo \"GITHUB_ACCESS_TOKEN=\"{your-personal-access-token-value}\" \u003e \\\n        /usr/local/etc/github-resource-center/envvars/.env\n      ```\n\n    - **Windows**\n\n      ```shell\n      \u003e md -p C:\\usr\\local\\etc\\github-resource-center\\envvars\\\n      \u003e touch C:\\usr\\local\\etc\\github-resource-center\\envvars\\.env\n      \u003e echo \"GITHUB_ACCESS_TOKEN=\"{your-personal-access-token-value}\" \u003e\u003e\n        C:\\usr\\local\\etc\\github-resource-center\\envvars\\.env\n      ```\n\n### 2.1. For Terminal/command-line usage\n\n```bash\n# Install globally to execute from a Terminal/command-line\n$ npm i -g github-resource-converter\n```\n\n### 2.2. As a application dependency\n\n```bash\n# Install as a dependency within a Node.js app\n$ npm i --save github-resource-converter\n```\n\n## 3. Usage\n\n\u003e \u003cimg align=\"left\" alt=\"terminal\" height=\"30\" width=\"30\" src=\"https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/terminal.svg\"\u003e The following examples assume that `github-resource-converter` is installed globally and invoked from a Terminal (command-line interface)\n\n### 3.1. Formatting\n\n`--dest export.[csv|json]`\n\n\u003e You can convert GitHub (Enterprise) Issues and Pull Requests into two file formats: `CSV` and `JSON`.\n\n- ![CSV]CSV is the default format.\n- JSON formatting requires a `--dest` value with a `.json` file extension.\n\n### 3.2. Resource types\n\n`--resource-type, -t`\n\n\u003e Convert and export GitHub (Enterprise) by `--resource-type`: `issues`, `pull_requests`, or both (`all`).\n\n- `issues` is the default `resource-type`.\n- `prs` require a `--resource-type` or `-t` value of\n\n  - `pr`\n  - `prs`\n  - `pull_request`\n  - `pull_requests`\n\n- `--resource-type all` will export all `issues` and `prs` into a single file.\n\n### 3.3. Filtering\n\n\u003e ![alert][icon-octicon-alert] **Filtering is currently unavailable.**\n\u003e\n\u003e If you're interested in [CONTRIBUTING](#contributing) to features like filters--e.g., only select\n\u003e \"open\" issues--we're happily accepting pull requests!\n\n### 3.4. Exporting\n\n#### 3.4.1. Issues\n\n- **CSV**\n\n  _GitHub:_\n\n  \u003e ```bash\n  \u003e # GET https://api.github.com/rrepos/:owner/:repo/issues\n  \u003e $ github-resource-converter \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo  github-resource-converter \\\n  \u003e   --dest  './docs/reports/export.csv'\n  \u003e ```\n\n  _GitHub Enterprise:_\n\n  \u003e ```bash\n  \u003e # GET https://api.ecorp.com/api/v3/repos/:owner/:repo/issues\n  \u003e $ grc --base-url https://api.ecorp.com/api/v3 \\\n  \u003e   --owner evilcorp \\\n  \u003e   --repo ecoin\n  \u003e ```\n\n- **JSON**\n\n  _GitHub:_\n\n  \u003e ```bash\n  \u003e # GET https://api.github.com/repos/:owner/:repo/issues\n  \u003e $ github-resource-converter \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo  github-resource-converter \\\n  \u003e   --dest  './docs/reports/export.json'\n  \u003e ```\n\n  _GitHub Enterprise:_\n\n  \u003e ```bash\n  \u003e # GET https://api.ecorp.com/api/v3/repos/:owner/:repo/issues\n  \u003e $ grc --base-url https://api.ecorp.com/api/v3 \\\n  \u003e   --owner evilcorp \\\n  \u003e   --repo ecoin\n  \u003e   --dest ./export.json\n  \u003e ```\n\n#### 3.4.2. Pull Requests\n\n- **CSV**\n\n  _GitHub:_\n\n  \u003e ```bash\n  \u003e # GET https://api.github.com/repos/:owner/:repo/pulls\n  \u003e $ github-resource-converter \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo  github-resource-converter \\\n  \u003e   --resource-type pr\n  \u003e ```\n\n  _GitHub Enterprise:_\n\n  \u003e ```bash\n  \u003e # GET https://api.ecorp.com/api/v3/repos/:owner/:repo/pulls\n  \u003e $ grc --base-url https://api.ecorp.com/api/v3 \\\n  \u003e   --owner evilcorp \\\n  \u003e   --repo ecoin \\\n  \u003e   --resource-type pr\n  \u003e ```\n\n- **JSON**\n\n  _GitHub:_\n\n  \u003e ```bash\n  \u003e # GET https://api.github.com/repos/:owner/:repo/pulls\n  \u003e $ github-resource-converter \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo  github-resource-converter \\\n  \u003e   --resource-type pr\n  \u003e   --dest './export.json'\n  \u003e ```\n\n  _GitHub Enterprise:_\n\n  \u003e ```bash\n  \u003e # GET https://api.ecorp.com/api/v3/repos/:owner/:repo/pulls\n  \u003e $ grc --base-url https://api.ecorp.com/api/v3 \\\n  \u003e   --owner evilcorp \\\n  \u003e   --repo ecoin \\\n  \u003e   --resource-type pr\n  \u003e   --dest './export.json'\n  \u003e ```\n\n#### 3.4.3. All (open and closed issues and pull requests)\n\n- **CSV**\n\n  _GitHub:_\n\n  \u003e ```bash\n  \u003e # GET https://api.github.com/repos/:owner/:repo/pulls\n  \u003e $ github-resource-converter \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo  github-resource-converter \\\n  \u003e   --resource-type all\n  \u003e ```\n\n  _GitHub Enterprise:_\n\n  \u003e ```bash\n  \u003e # GET https://api.ecorp.com/api/v3/repos/:owner/:repo/pulls\n  \u003e $ grc --base-url https://api.ecorp.com/api/v3 \\\n  \u003e   --owner evilcorp \\\n  \u003e   --repo ecoin \\\n  \u003e   --resource-type all\n  \u003e ```\n\n- **JSON**\n\n  _GitHub:_\n\n  \u003e ```bash\n  \u003e # GET https://api.github.com/repos/:owner/:repo/pulls\n  \u003e $ github-resource-converter \\\n  \u003e   --owner gregswindle \\\n  \u003e   --repo  github-resource-converter \\\n  \u003e   --resource-type all\n  \u003e   --dest './export.json'\n  \u003e ```\n\n  _GitHub Enterprise:_\n\n  \u003e ```bash\n  \u003e # GET https://api.ecorp.com/api/v3/repos/:owner/:repo/pulls\n  \u003e $ grc --base-url https://api.ecorp.com/api/v3 \\\n  \u003e   --owner evilcorp \\\n  \u003e   --repo ecoin \\\n  \u003e   --resource-type all\n  \u003e   --dest './export.json'\n  \u003e ```\n\n### 3.5. Command-line flags\n\n\u003cdl\u003e\n  \u003cdt\u003e\u003ccode\u003e--owner, -o\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003e\u003cp\u003e\u003cstrong\u003eRequired.\u003c/strong\u003e The GitHub account name or organization name.\u003c/p\u003e\u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e--repo, -r\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003e\u003cp\u003e\u003cstrong\u003eRequired.\u003c/strong\u003e The name of the GitHub (or GitHub Enterprise) repository.\u003c/p\u003e\u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e--base-url\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003e\u003cp\u003eThe GitHub REST API v3 URL origin, or a GitHub Enterprise URL origin and path-prefix.\u003c/p\u003e\n    \u003ctable\u003e\n     \u003ctbody\u003e\u003ctr\u003e\u003cth\u003eDefault value:\u003c/th\u003e\u003ctd\u003e\u003ccode\u003ehttps://api.github.com\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\n    \u003c/table\u003e\n  \u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e--dest, -d\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003e\u003cp\u003eThe destination path and file name of the CSV.\u003c/p\u003e\n    \u003ctable\u003e\n     \u003ctbody\u003e\u003ctr\u003e\u003cth\u003eDefault value:\u003c/th\u003e\u003ctd\u003e\u003csamp\u003e./export.csv\u003c/samp\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\n    \u003c/table\u003e\n  \u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e--no-auto-filename\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003e\u003cp\u003eDisable automatic file naming.\u003c/p\u003e\n    \u003ctable\u003e\n     \u003ctbody\u003e\u003ctr\u003e\u003cth\u003eDefault value:\u003c/th\u003e\u003ctd\u003e\u003csamp\u003efalse\u003c/samp\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\n    \u003c/table\u003e\n  \u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e--resource-type, -t\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003e\u003cp\u003eDeclares whether to convert and export Issues, Pull Requests, or All.\u003c/p\u003e\n    \u003ctable\u003e\n      \u003ctr\u003e\n        \u003cth\u003eDefault\u0026nbsp;value:\u003c/th\u003e\n        \u003ctd\u003e\u003csamp\u003eissues\u003c/samp\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003cth\u003eValid values:\u003c/th\u003e\n        \u003ctd\u003e\u003csamp\u003eall\u003c/samp\u003e, \u003csamp\u003eissue\u003c/samp\u003e, \u003csamp\u003eissues\u003c/samp\u003e, \u003csamp\u003epr\u003c/samp\u003e, \u003csamp\u003eprs\u003c/samp\u003e, \u003csamp\u003epull_request\u003c/samp\u003e, \u003csamp\u003epull_requests\u003c/samp\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/table\u003e\n  \u003c/dd\u003e\n\u003c/dl\u003e\n\n### 3.6. Errors\n\nErrors are written to the console (`stdout`) as JSON:\n\n```bash\n# Attempt to fetch issues from a repository that doesn't exist\n$ grc --owner example --repo error\n[2018-03-20T02:31:24.737Z] ERROR: github-resource-converter/48219 on User.router.home: {\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/issues/#list-issues-for-a-repository\"}\n  HttpError: {\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/issues/#list-issues-for-a-repository\"}\n      at response.text.then.message (/p/a/t/h/github-resource-converter/node_modules/@octokit/rest/lib/request/request.js:56:19)\n      at \u003canonymous\u003e\n      at process._tickCallback (internal/process/next_tick.js:188:7)\n```\n\n### 3.7. Info\n\nThe `--help` flag displays all options:\n\n```shell\n$ grc --help\n\n  Convert and export GitHub resources--Issues and Pull Requests--to CSV and JSON.\n\n  Usage\n\n    $ grc [options] [info]\n    $ github-resource-converter [options] [info]\n\n  Options\n\n    --base-url           The GitHub REST API v3 URL origin, or a\n                         GitHub Enterprise URL origin and path-prefix.\n                         [Default: 'https://api.github.com']\n    --dest,          -d  The CSV's destination path and file name.\n                         [Default: './resources.csv']\n    --no-auto-filename   Disable automatic file naming.\n                         [Default: false]\n    --owner,         -o  The GitHub account name or organization name.\n    --repo,          -r  The name of the GitHub (or GitHub enterprise)\n                         repository.\n    --resource-type, -t  \"issues\", \"prs\", or \"all\".\n                         [Default: 'issues']\n\n  Info\n\n    --help     Show this dialog.\n    --version  Display the installed semantic version.\n\n  Examples\n\n    $ grc --owner github --repo hub\n      // =\u003e Exported CSV to /path/of/cwd/issues.csv.\n\n    $ grc --owner github --repo hub -dest './reports/issues/YYYY-MM-DD.csv'\n      // =\u003e Exported CSV to /path/to/reports/issues/YYYY-MM-DD.csv.\n\n    $ grc --owner example --repo error\n      // =\u003e\n      [2018-03-19T08:04:06.596Z] ERROR: github-resource-converter/00000 on localhost: Cannot destructure property `data` of 'undefined' or 'null'.\n        TypeError: Cannot destructure property `data` of 'undefined' or 'null'.\n            at paginate (/p/a/t/h/github-resource-converter/lib/base-resource-converter.js:39:16)\n            at \u003canonymous\u003e\n            at process._tickCallback (internal/process/next_tick.js:188:7\n```\n\nUse the `--version` flag to see which version you have installed:\n\n```bash\n$ github-resource-converter --version\n# =\u003e 1.1.17\n```\n\n## 4. API\n\n\u003e [![beaker][icon-octicon-beaker] Test the `github-resource-converter (grc)` API in your Web browser ![link-external][icon-octicon-link-external]][runkit-grc-url].\n\n### 4.1. `grc.authenticate({token, type, key}): void`\n\n\u003e ![Info][icon-octicon-info] Most GitHub API calls don't require authentication. Rules of thumb:\n\u003e\n\u003e 1.  If you can see the information by visiting the site without being logged in, you don't have to be authenticated to retrieve the same information through the API.\n\u003e 1.  If you want to change data, you have to be authenticated.\n\u003e\n\u003e octokit/rest.js. (2018). GitHub. Retrieved 21 March 2018, from \u003chttps://github.com/octokit/rest.js#authentication\u003e ![link-external][icon-octicon-link-external]\n\n#### 4.1.1. Parameters\n\n| Name  | Type   | Description                                                      | Notes |\n| :---- | :----- | :--------------------------------------------------------------- | :---- |\n| key   | String |                                                                  |       |\n| token | String |                                                                  |       |\n| type  | Enum   | `basic`, `oauth`, `oauth-key-secret`, `token`, and `integration` |       |\n\n#### 4.1.2. Example\n\n```javascript\n// Token (https://github.com/settings/tokens)\ngrc.authenticate({\n  token: 'secrettoken123',\n  type: 'token'\n})\n```\n\n### 4.2. `grc.getAll({owner, repo}): Promise`\n\nRetrieve all open and closed Issues and Pull Requests from a GitHub project.\n\n![GET][rest-get-img]\n\n```http\n/repos/:owner/:repo/issues\n/repos/:owner/:repo/pulls\n```\n\n\u003e **![info][icon-octicon-info] `grc.getAll` combines the results of `grc.issues.getForRepo` and `grc.pullRequests.getForRepo` into a single `Array\u003cobject\u003e`.**\n\u003e\n\u003e For more information, see\n\u003e\n\u003e 1.  [`grc.issues.getForRepo`](#43-grcissuesgetforrepoowner-repo-promise) and\n\u003e 1.  [`grc.pullRequests.getForRepo`](#46-grcpullrequestsgetforrepoowner-repo-promise) below.\n\n### 4.3. `grc.issues.getForRepo({owner, repo}): Promise`\n\nRetrieve all open and closed **issues** for a repository with this proxy method for [`octokit.issues.getForRepo` ![link-external][icon-octicon-link-external]](https://octokit.github.io/rest.js/#api-Issues-getForRepo).\n\n![GET][rest-get-img]\n\n```http\n/repos/:owner/:repo/issues\n```\n\n#### 4.3.1. Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth style=\"width: 30%\"\u003eField\u003c/th\u003e\n      \u003cth style=\"width: 10%\"\u003eType\u003c/th\u003e\n      \u003cth style=\"width: 60%\"\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003eowner\u003c/samp\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003erepo\u003c/samp\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003emilestone\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003estate\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eopen, closed, or all\u003c/p\u003e\n        \u003cp\u003eDefault value: \u003ccode\u003eopen\u003c/code\u003e\u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003eopen\u003c/code\u003e, \n          \u003ccode\u003eclosed\u003c/code\u003e, \n          \u003ccode\u003eall\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003eassignee\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eString User login, \u003ccode\u003enone\u003c/code\u003e for Issues with no assigned User. \u003ccode\u003e*\u003c/code\u003e for Issues with any assigned User.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003ecreator\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eThe user that created the issue.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003eper_page\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        number\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eA custom page size up to 100. Default is 30.\u003c/p\u003e\n        \u003cp\u003eDefault value: \u003ccode\u003e30\u003c/code\u003e\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003elabels\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eString list of comma separated Label names. Example: bug,ui,@high\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003esort\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eDefault value: \u003ccode\u003ecreated\u003c/code\u003e\u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003ecreated\u003c/code\u003e,\n          \u003ccode\u003eupdated\u003c/code\u003e,\n          \u003ccode\u003ecomments\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003edirection\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eDefault value: \u003ccode\u003edesc\u003c/code\u003e\u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003easc\u003c/code\u003e, \n          \u003ccode\u003edesc\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003esince\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        date\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eTimestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003epage\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        number\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003ePage number of the results to fetch.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003ementioned\u003c/samp\u003e \u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eString User login.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n#### 4.3.2. Examples\n\n- _**async/await**:_\n\n  \u003e ```javascript\n  \u003e const result = await grc.issues.getForRepo({\n  \u003e   owner: 'gregswindle',\n  \u003e   repo: 'eslint-plugin-crc'\n  \u003e })\n  \u003e ```\n\n- _**Promise**:_\n\n  \u003e ```javascript\n  \u003e grc.issues\n  \u003e   .getForRepo({\n  \u003e     owner: 'gregswindle',\n  \u003e     repo: 'eslint-plugin-crc'\n  \u003e   })\n  \u003e   .then(result =\u003e {})\n  \u003e   .catch(err =\u003e {})\n  \u003e ```\n\n### 4.4. `grc.logger`\n\nA [`trentm/node-bunyan` ![link-external][icon-octicon-link-external]][node-bunyan-url] logger instance that uses the `LONG` [`thlorenz/bunyan-format` ![link-external][icon-octicon-link-external]][bunyan-format-url] writeable\nstream for output.\n\n\u003e ![info][icon-octicon-info] **`bunyan.INFO`** is the default log LEVEL.\n\n```javascript\nLogger {\n  domain: null,\n  _events: {},\n  _eventsCount: 0,\n  _maxListeners: undefined,\n  _level: 30,\n  streams:\n    [{\n      type: 'stream',\n      stream: BunyanFormatWritable {\n      },\n      closeOnExit: false,\n      level: 30,\n      raw: false\n    }],\n  serializers: null,\n  src: false,\n  fields: {\n    name: 'github-resource-converter',\n     hostname: 'Gregorys-MBP-2.fios-router.home',\n    pid: 76698\n  },\n\n  debug(): void,\n  error(): void,\n  fatal(): void,\n  info(): void,\n  trace(): void,\n  warn(): void\n}\n```\n\n### 4.5. `grc.options`\n\nContains default values for `api`, `cli`, and `meta`data.\n\n---\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cstrong\u003eToggle view of \u003csamp\u003egrc.options\u003c/samp\u003e\u003c/strong\u003e.\u003c/summary\u003e\n  \u003cp\u003e\n\n```javascript\n{\n  \"api\": {\n    \"baseUrl\": \"https://api.github.com\",\n    \"headers\": {\n      \"Accept\":\n        \"application/vnd.github.v3+json, application/vnd.github.symmetra-preview+json\",\n        \"user-agent\": \"gregswindle/github-resource-converter v1.1.17\"\n    },\n    \"owner\": null,\n    \"repo\": null,\n    \"requestMedia\": \"application/vnd.github.v3+json\",\n    \"timeout\": 0\n  },\n  \"cli\": {\n    \"flags\": {\n      \"baseUrl\": {\n        \"default\": \"https://api.github.com\",\n        \"type\": \"string\"\n      },\n      \"dest\": {\n        \"alias\": \"d\",\n        \"default\": \"./export.csv\",\n        \"type\": \"string\"\n      },\n      \"no-auto-filename\": {\n        \"default\": false,\n        \"type\": \"boolean\"\n      },\n      \"owner\": {\n        \"alias\": \"o\",\n        \"type\": \"string\"\n      },\n      \"repo\": {\n        \"alias\": \"r\",\n        \"type\": \"string\"\n      },\n      \"resource-type\": {\n        \"alias\": \"t\",\n        \"default\": \"issues\",\n        \"type\": \"string\"\n      }\n    }\n  },\n  \"meta\": {\n    \"input\": [],\n    \"flags\": {\n      \"noAutoFilename\": false,\n      \"baseUrl\": \"https://api.github.com\",\n      \"dest\": \"./export.csv\",\n      \"d\": \"./export.csv\",\n      \"resourceType\": \"issues\",\n      \"t\": \"issues\"\n    },\n    \"pkg\": {\n      \"name\": \"github-resource-converter\",\n      \"description\":\n        \"Convert and export GitHub resources--Issues and Pull Requests--to CSV and JSON.\",\n      \"version\": \"1.1.17\",\n      \"author\": {\n        \"name\": \"Greg Swindle\",\n        \"email\": \"greg@swindle.net\",\n        \"url\": \"https://github.com/gregswindle\"\n      },\n      \"bin\": {\n        \"grc\": \"lib/cli.js\"\n      },\n      \"bugs\": {\n        \"url\": \"https://github.com/gregswindle/github-resource-converter/issues\"\n      },\n      \"commitplease\": {\n        \"style\": \"angular\",\n        \"types\": [\n          \"build\",\n          \"chore\",\n          \"ci\",\n          \"docs\",\n          \"feat\",\n          \"fix\",\n          \"perf\",\n          \"refactor\",\n          \"revert\",\n          \"style\",\n          \"test\"\n        ],\n        \"scope\": \"\\\\S+.*\"\n      },\n      \"contributors\": [],\n      \"dependencies\": {\n        \"@octokit/rest\": \"15.2.6\",\n        \"bunyan\": \"1.8.12\",\n        \"bunyan-format\": \"0.2.1\",\n        \"dotenv\": \"5.0.1\",\n        \"fs-extra\": \"5.0.0\",\n        \"insight\": \"0.10.1\",\n        \"jsonexport\": \"2.0.11\",\n        \"lodash\": \"4.17.5\",\n        \"meow\": \"4.0.0\"\n      },\n      \"devDependencies\": {\n        \"@semantic-release/changelog\": \"2.0.1\",\n        \"@semantic-release/git\": \"4.0.1\",\n        \"@semantic-release/npm\": \"3.2.4\",\n        \"ajv\": \"6.4.0\",\n        \"ajv-keywords\": \"3.1.0\",\n        \"codacy-coverage\": \"2.1.1\",\n        \"commitplease\": \"3.2.0\",\n        \"coveralls\": \"3.0.0\",\n        \"eslint\": \"4.19.1\",\n        \"eslint-config-prettier\": \"^2.4.0\",\n        \"eslint-config-scanjs\": \"1.0.0-beta4\",\n        \"eslint-config-standard\": \"11.0.0\",\n        \"eslint-config-xo\": \"0.20.1\",\n        \"eslint-plugin-import\": \"2.10.0\",\n        \"eslint-plugin-jsdoc\": \"3.5.0\",\n        \"eslint-plugin-json\": \"1.2.0\",\n        \"eslint-plugin-no-unsafe-innerhtml\": \"1.0.16\",\n        \"eslint-plugin-node\": \"6.0.1\",\n        \"eslint-plugin-prettier\": \"^2.2.0\",\n        \"eslint-plugin-promise\": \"3.7.0\",\n        \"eslint-plugin-security\": \"1.4.0\",\n        \"eslint-plugin-standard\": \"3.0.1\",\n        \"eslint-plugin-unicorn\": \"4.0.2\",\n        \"eslint-plugin-xss\": \"0.1.9\",\n        \"fixpack\": \"2.3.1\",\n        \"husky\": \"^0.14.3\",\n        \"jest\": \"22.4.3\",\n        \"jest-runner-eslint\": \"0.4.0\",\n        \"lec\": \"^1.0.1\",\n        \"lint-staged\": \"7.0.3\",\n        \"markdown-magic\": \"0.1.21\",\n        \"markdown-magic-dependency-table\": \"1.3.2\",\n        \"markdown-magic-install-command\": \"1.3.1\",\n        \"markdown-magic-package-scripts\": \"1.2.1\",\n        \"nsp\": \"^3.2.1\",\n        \"prettier\": \"1.11.1\",\n        \"semantic-release\": \"15.1.5\"\n      },\n      \"engines\": {\n        \"node\": \"\u003e=8.0.0\"\n      },\n      \"eslintIgnore\": [\"lib/__tests__/coverage/**\"],\n      \"files\": [\"lib\"],\n      \"homepage\":\n        \"https://github.com/gregswindle/github-resource-converter/#readme\",\n      \"jest\": {\n        \"automock\": false,\n        \"collectCoverage\": true,\n        \"coverageDirectory\": \"lib/__tests__/coverage\",\n        \"coverageThreshold\": {\n          \"global\": {\n            \"branches\": 100,\n            \"functions\": 100,\n            \"lines\": 100,\n            \"statements\": 100\n          }\n        },\n        \"moduleDirectories\": [\"node_modules\", \"lib\"],\n        \"testMatch\": [\n          \"\u003crootDir\u003e/lib/__tests__/**/*.test.js\",\n          \"\u003crootDir\u003e/lib/__tests__/*.test.js\"\n        ],\n        \"watchman\": false\n      },\n      \"jest-runner-eslint\": {\n        \"cliOptions\": {\n          \"config\": \".github/config/jest-runner-eslint.config.json\",\n          \"fix\": true\n        }\n      },\n      \"keywords\": [\n        \"QA\",\n        \"convert\",\n        \"converter\",\n        \"converter\",\n        \"csv\",\n        \"export\",\n        \"github\",\n        \"google sheets\",\n        \"issue\",\n        \"json\",\n        \"pr\",\n        \"pull request\",\n        \"pull-request\",\n        \"quality assurance\",\n        \"quality-assurance\",\n        \"reporting\",\n        \"reports\",\n        \"save\",\n        \"sheets\",\n        \"spreadsheets\",\n        \"testing\"\n      ],\n      \"license\": \"MIT\",\n      \"lint-staged\": {\n        \"*.js\": [\"npm run lint:js\", \"git add\"],\n        \"*.json\": [\"npm run lint:json\", \"git add\"],\n        \"*.md\": [\"npm run lint:md\", \"npm run docs\", \"git add\"]\n      },\n      \"main\": \"lib/index.js\",\n      \"prettier\": {\n        \"semi\": false,\n        \"singleQuote\": true\n      },\n      \"release\": {\n        \"generateNotes\": {\n          \"preset\": \"angular\"\n        },\n        \"prepare\": [\n          \"@semantic-release/changelog\",\n          \"@semantic-release/npm\",\n          \"@semantic-release/git\"\n        ],\n        \"verifyConditions\": [\"@semantic-release/npm\", \"@semantic-release/git\"]\n      },\n      \"repository\": {\n        \"type\": \"git\",\n        \"url\":\n          \"git+https://github.com/gregswindle/github-resource-converter.git\"\n      },\n      \"scripts\": {\n        \"docs\": \"npm run docs:toc\",\n        \"docs:toc\":\n          \"md-magic --config '.github/config/markdown.config.js' --path '**/*.md' --ignore 'node_modules'\",\n        \"lint\":\n          \"npm run lint:js \u0026\u0026 npm run lint:json \u0026\u0026 npm run lint:manifest \u0026\u0026 npm run lint:md\",\n        \"lint:js\":\n          \"node_modules/.bin/eslint -c .github/config/.eslintrc.yml --ext .js . --fix\",\n        \"lint:json\":\n          \"prettier ./**/*.json --ignore-path '.github/config/.prettierignore' --write\",\n        \"lint:manifest\": \"fixpack\",\n        \"lint:md\": \"prettier ./**/*.md -prose-wrap always --write\",\n        \"posttest:ci:coverage:codacy\":\n          \"cat ./lib/__tests__/coverage/lcov.info | codacy-coverage\",\n        \"precommit\": \"lint-staged\",\n        \"prepare\": \"npm run lint \u0026\u0026 npm run security\",\n        \"prepublish\":\n          \"lec lib/cli.js -c LF \u0026\u0026 npm run security \u0026\u0026 semantic-release -d\",\n        \"prepublishOnly\": \"npm run prepare\",\n        \"pretest\": \"npm run lint\",\n        \"security\": \"npm run security:nsp:scan\",\n        \"security:nsp:scan\": \"nsp check\",\n        \"test\": \"jest\",\n        \"test:config\": \"jest --showConfig\",\n        \"test:watch\": \"jest ./lib/__tests__/*.test.js --watch\",\n        \"test:watch:all\": \"jest ./lib/__tests__/*.test.js --watchAll\"\n      },\n      \"readme\": \"ERROR: No README data found!\",\n      \"_id\": \"github-resource-converter@1.1.17\"\n    },\n    \"help\":\n      \"\\n  Convert and export GitHub resources--Issues and Pull Requests--to CSV and JSON.\\n\\n  Usage\\n\\n    $ grc [options] [info]\\n    $ github-resource-converter [options] [info]\\n\\n  Options\\n    --base-url           The GitHub REST API v3 URL origin, or a\\n                         GitHub Enterprise URL origin and path-prefix.\\n                         [Default: 'https://api.github.com']\\n    --dest,          -d  The CSV's destination path and file name.\\n                         [Default: './resources.csv']\\n    --no-auto-filename       Don't append an ISO 8601-like timestamp to the\\n         output file.\\n                         [Default: false]\\n    --owner,         -o  The GitHub account name or organization name.\\n    --repo,          -r  The name of the GitHub (or GitHub enterprise)\\n                         repository.\\n    --resource-type, -t  \\\"issues\\\", \\\"prs\\\", or \\\"all\\\".\\n                         [Default: 'issues']\\n\\n  Info\\n\\n    --help     Show this dialog.\\n    --version  Display the installed semantic version.\\n\\n  Examples\\n\\n    $ grc --owner github --repo hub\\n      // =\u003e Exported CSV to /path/of/cwd/issues.csv.\\n\\n    $ grc --owner github --repo hub -dest './reports/issues/YYYY-MM-DD.csv'\\n      // =\u003e Exported CSV to /path/to/reports/issues/YYYY-MM-DD.csv.\\n\\n    $ grc --owner example --repo error\\n      // =\u003e\\n      [2018-03-19T08:04:06.596Z] ERROR: github-resource-converter/00000 on localhost: Cannot destructure property `data` of 'undefined' or 'null'.\\n        TypeError: Cannot destructure property `data` of 'undefined' or 'null'.\\n            at paginate (/p/a/t/h/github-resource-converter/lib/base-resource-converter.js:39:16)\\n            at \u003canonymous\u003e\\n            at process._tickCallback (internal/process/next_tick.js:188:7)\\n\"\n  }\n}\n```\n\n\u003c/p\u003e\u003c/details\u003e\n\n---\n\n### 4.6. `grc.pullRequests.getForRepo({owner, repo}): Promise`\n\nRetrieve an array of all open and closed pull requests for a GitHub or GitHub Enterprise repository with this proxy method for\n[`octokit.pullRequests.getAll` ![link-external][icon-octicon-link-external]](https://octokit.github.io/rest.js/#api-PullRequests-getAll).\n\n![GET][rest-get-img]\n\n```http\n/repos/:owner/:repo/pulls\n```\n\n#### 4.6.1. Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth style=\"width: 30%\"\u003eField\u003c/th\u003e\n      \u003cth style=\"width: 10%\"\u003eType\u003c/th\u003e\n      \u003cth style=\"width: 60%\"\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003eowner\u003c/samp\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003erepo\u003c/samp\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003estate\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eDefault value:\n          \u003ccode\u003eopen\u003c/code\u003e\n        \u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003eopen\u003c/code\u003e,\n          \u003ccode\u003eclosed\u003c/code\u003e,\n          \u003ccode\u003eall\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003ehead\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eFilter pulls by head user and branch name in the format of user:ref-name. Example: github:new-script-format.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003ebase\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eFilter pulls by base branch name. Example: gh-pages.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003esort\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003ePossible values are:\n          \u003ccode\u003ecreated\u003c/code\u003e,\n          \u003ccode\u003eupdated\u003c/code\u003e,\n          \u003ccode\u003epopularity\u003c/code\u003e,\n          \u003ccode\u003elong-running\u003c/code\u003e, Default:\n          \u003ccode\u003ecreated\u003c/code\u003e\n        \u003c/p\u003e\n        \u003cp\u003eDefault value:\n          \u003ccode\u003ecreated\u003c/code\u003e\n        \u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003ecreated\u003c/code\u003e,\n          \u003ccode\u003eupdated\u003c/code\u003e,\n          \u003ccode\u003epopularity\u003c/code\u003e,\n          \u003ccode\u003elong-running\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003edirection\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eDefault value:\n          \u003ccode\u003edesc\u003c/code\u003e\n        \u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003easc\u003c/code\u003e,\n          \u003ccode\u003edesc\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003epage\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        number\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003ePage number of the results to fetch.\u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003eper_page\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        number\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eA custom page size up to 100. Default is 30.\u003c/p\u003e\n        \u003cp\u003eDefault value:\n          \u003ccode\u003e30\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n#### 4.6.2. Examples\n\n- _**async/await**:_\n\n  \u003e ```javascript\n  \u003e const grc = require('github-resource-coverter')\n  \u003e\n  \u003e const getAllPullRequests = async (params) = {\n  \u003e   try {\n  \u003e     const WHITESPACE = 2\n  \u003e     const prs = await grc.pullRequests.getForRepo(params)\n  \u003e     grc.logger.info(JSON.stringify(prs, null, WHITESPACE))\n  \u003e   } catch (err) {\n  \u003e     grc.logger.error(err)\n  \u003e   }\n  \u003e }\n  \u003e\n  \u003e await getAllPullRequests({\n  \u003e   owner: 'democracy-ia',\n  \u003e   repo: 'govinfo-link-js'\n  \u003e })\n  \u003e ```\n\n- _**Promises**:_\n\n  \u003e ```javascript\n  \u003e const grc = require('github-resource-coverter')\n  \u003e\n  \u003e grc.pullRequests\n  \u003e   .getForRepo({\n  \u003e     owner: 'democracy-ia',\n  \u003e     repo: 'govinfo-link-js'\n  \u003e   })\n  \u003e   .then(prs =\u003e {\n  \u003e     const WHITESPACE = 2\n  \u003e     grc.logger.info(JSON.stringify(prs, null, WHITESPACE))\n  \u003e   })\n  \u003e   .catch(err =\u003e {\n  \u003e     grc.logger.error(err)\n  \u003e   })\n  \u003e ```\n\n### 4.7. `grc.save({data, dest}): Promise`\n\nExport a collection of Issues or Pull Requests to your local filesystem.\n\n#### 4.7.1. Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth style=\"width: 30%\"\u003eField\u003c/th\u003e\n      \u003cth style=\"width: 10%\"\u003eType\u003c/th\u003e\n      \u003cth style=\"width: 60%\"\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003edata\u003c/samp\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        JSON\u0026nbsp;|\u0026nbsp;object\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003edest\u003c/samp\u003e\n        \u003cspan class=\"label label-optional\"\u003e\u003cimg align=\"right\" alt=\"optional\" height=\"22\" width=\"60\" src=\"https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\"\u003e\u003c/span\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n        string\n      \u003c/td\u003e\n      \u003ctd\u003e\n        \u003cp\u003eDefault value:\n          \u003ccode\u003e./export.csv\u003c/code\u003e\n        \u003c/p\u003e\n        \u003cp\u003eAllowed values:\n          \u003ccode\u003e*.csv\u003c/code\u003e,\n          \u003ccode\u003e*.json\u003c/code\u003e\n        \u003c/p\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n#### 4.7.2. Examples\n\n- _**async/await**:_\n\n  \u003e ```javascript\n  \u003e // Save as JSON\n  \u003e const result = await grc.save({\n  \u003e   data,\n  \u003e   dest: './export.json'\n  \u003e })\n  \u003e ```\n\n- _**Promise**:_\n\n  \u003e ```javascript\n  \u003e // Save as CSV\n  \u003e grc\n  \u003e   .save({\n  \u003e     data,\n  \u003e     dest: './export.csv'\n  \u003e   })\n  \u003e   .then(result =\u003e {})\n  \u003e   .catch((err = {}))\n  \u003e ```\n\n### 4.8. `grc.toCsv({data=[]}): Promise`\n\nConverts (deeply) nested JSON into CSV format, returning a `Promise\u003cstring\u003e`.\n\n#### 4.8.1. Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth style=\"width: 30%\"\u003eField\u003c/th\u003e\n      \u003cth style=\"width: 10%\"\u003eType\u003c/th\u003e\n      \u003cth style=\"width: 60%\"\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003csamp\u003edata\u003c/samp\u003e\u003c/td\u003e\n      \u003ctd\u003e\n        JSON\u0026nbsp;|\u0026nbsp;object\n      \u003c/td\u003e\n      \u003ctd\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n#### 4.8.2. Examples\n\n- _**async/await**:_\n\n  \u003e ```javascript\n  \u003e const result = await grc.toCsv(data)\n  \u003e ```\n\n- _**Promise**:_\n\n  \u003e ```javascript\n  \u003e grc\n  \u003e   .toCsv(data)\n  \u003e   .then(result =\u003e {})\n  \u003e   .catch((err = {}))\n  \u003e ```\n\n## 5. Version\n\n[![NPM version][npm-image]][npm-url]\n\n## 6. Contributing\n\n[![PRs Welcome][makeapullrequest-image] ![External link][icon-octicon-link-external]][makeapullrequest-url] We welcome contributions with GitHub **issues** and **pull requests**.\n\n---\n\n[![Request a feature][issues-new-feat-image]][issues-new-feat-url]\n[![Report a defect][issues-new-defect-image]][issues-new-defect-url]\n\n[![Read the CONTRIBUTING guidelines][contributing-image]][contributing-url]\n\n---\n\nBefore embarking on a significant change, please adhere to the following guidelines:\n\n1.  **[Create an issue][issues-url]**\u0026mdash;e.g., a [defect (\"bug\") report][issues-new-defect-url] or a [feature request][issues-new-feat-url]\u0026mdash;to propose changes.\n\n    _Exceptions:_\n\n    \u003e If you're working on documentation and fixing something simple like a typo or an easy bug, go ahead and make a pull request.\n\n1.  **[Follow the CONTRIBUTING guidelines][contributing-url].**\n\n    _Why:_\n\n    \u003e Standards and guidelines make communication easier. If you're willing and able to program\u0026mdash;or want to learn how\u0026mdash; following the guidelines will increase the likelihood of adding your changes to the software product.\n\n1.  **[Read the Code of Conduct][code-of-conduct-url].**\n\n    _Why:_\n\n    \u003e It's more fun when everybody's friendly and respectful.\n\n1.  **[Make a pull request][pr-url]** when you're ready for other to review your changes (or you get stuck somewhere).\n\n    _PR novices:_\n\n    \u003e **🙋 Never created a pull request?** No problem. [🆓 Take this free online training ![External link][icon-octicon-link-external]][makeapullrequest-url]. (It even covers most of the conventions in the [CONTRIBUTING guidelines][contributing-url]!)\n\n## 7. License\n\n[MIT](./LICENSE) © [Greg Swindle](https://github.com/gregswindle).\n\nRead the [NOTICE ![External link][icon-octicon-link-external]][notice-url] for all third-party software that `github-resource-converter` uses.\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fgregswindle%2Fgithub-resource-converter.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fgregswindle%2Fgithub-resource-converter?ref=badge_large)\n\n---\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/gregswindle/github-resource-converter.svg)](https://greenkeeper.io/)\n[![Readme Score](http://readme-score-api.herokuapp.com/score.svg?url=https://github.com/gregswindle/github-resource-converter)](http://clayallsopp.github.io/readme-score?url=https://github.com/gregswindle/github-resource-converter)\n\n\u003c!-- ⛔️ Link References ⛔️  --\u003e\n\n[bunyan-format-url]: https://github.com/thlorenz/bunyan-format/#readme\n[node-bunyan-url]: https://github.com/trentm/node-bunyan/#readme\n[optional-param-img]: https://fakeimg.pl/60x22/757575/FFF/?text=optional\u0026font_size=16\n[rest-get-img]: https://fakeimg.pl/40x40/0e8a16/FFF/?text=GET\u0026font_size=20\n[runkit-grc-url]: https://runkit.com/gregswindle/github-resource-converter\n[toc]: #table-of-contents\n\n\u003c!-- ⛔️ CI Services ⛔️  --\u003e\n\n[notice-url]: https://app.fossa.io/reports/07123904-7d26-40a6-b6af-c74e82a53789\n[appveyor-image]: https://img.shields.io/appveyor/ci/gregswindle/github-resource-converter.svg?style=flat-square\u0026logo=appveyor\u0026label=windows%20build\n[appveyor-url]: https://ci.appveyor.com/project/gregswindle/github-resource-converter\n[codacy-image]: https://img.shields.io/codacy/grade/b3ac6aaaa3cf41d0897959c1e5d732a3.svg?style=flat-square\n[codacy-coverage-image]: https://img.shields.io/codacy/coverage/b3ac6aaaa3cf41d0897959c1e5d732a3.svg?style=flat-square\n[codacy-url]: https://www.codacy.com/app/greg_7/github-resource-converter?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=gregswindle/github-resource-converter\u0026utm_campaign=Badge_Grade\n[coveralls-image]: https://img.shields.io/coveralls/github/gregswindle/github-resource-converter/master.svg\n[coveralls-url]: https://coveralls.io/r/gregswindle/github-resource-converter\n[daviddm-dev-image]: https://david-dm.org/gregswindle/github-resource-converter/dev-status.svg?theme=shields.io\u0026style=flat-square\n[daviddm-dev-url]: https://david-dm.org/gregswindle/github-resource-converter?type=dev\n[daviddm-image]: https://david-dm.org/gregswindle/github-resource-converter.svg?theme=shields.io\u0026style=flat-square\n[daviddm-url]: https://david-dm.org/gregswindle/github-resource-converter\n[fossa-image]: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fgregswindle%2Fgithub-resource-converter.svg?type=shield\u0026style=flat-square\n[fossa-url]: https://app.fossa.io/projects/git%2Bgithub.com%2Fgregswindle%2Fgithub-resource-converter?ref=badge_shield\n[license-image]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n[license-url]: http://opensource.org/licenses/MIT\n[npm-downloads-month]: https://img.shields.io/npm/dm/github-resource-converter.svg?style=social\n[npm-image]: https://img.shields.io/npm/v/github-resource-converter.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/github-resource-converter\n[npms-image]: https://badges.npms.io/github-resource-converter.svg?style=flat-square\n[npms-url]: https://npms.io/search?q=github-resource-converter\n[nsp-image]: https://nodesecurity.io/orgs/gregswindle/projects/b0a38d7a-29c1-4607-a724-e283b44f1618/badge\n[nsp-url]: https://nodesecurity.io/orgs/gregswindle/projects/b0a38d7a-29c1-4607-a724-e283b44f1618\n[travis-image]: https://img.shields.io/travis/gregswindle/github-resource-converter.svg?branch=master\u0026style=flat-square\u0026label=macOS%20%7C%20ubuntu%20builds\u0026logo=travis\n[travis-url]: https://travis-ci.org/gregswindle/github-resource-converter\n\n\u003c!-- ⛔️ Contributing ⛔️  --\u003e\n\n[code-of-conduct-url]: https://github.com/gregswindle/github-resource-converter/blob/master/.github/CODE_OF_CONDUCT.md\n[contributing-image]: https://img.shields.io/badge/read-CONTRIBUTING%20Guidelines-yellow.svg?style=for-the-badge\u0026label=read+the\n[contributing-url]: https://github.com/gregswindle/github-resource-converter/blob/master/.github/CONTRIBUTING.md\n[issues-new-defect-image]: https://img.shields.io/badge/report-defect-lightgrey.svg?style=for-the-badge\u0026label=report+a\n[issues-new-defect-url]: https://github.com/gregswindle/github-resource-converter/issues/new?title=defect%28scope%29%3A+defect-summary\u0026labels=priority%3a+medium%2cstatus%3a+review+needed%2ctype%3a+defect\u0026template=defect-report.md\n[issues-new-feat-image]: https://img.shields.io/badge/request-feature-blue.svg?style=for-the-badge\u0026label=request+a\n[issues-new-feat-url]: https://github.com/gregswindle/github-resource-converter/issues/new?title=feat%28scope%29%3A+change-proposal-summary\u0026labels=priority%3a+medium%2cstatus%3a+review+needed%2ctype%3a+feature\u0026template=feature-request.md\n[issues-url]: https://github.com/gregswindle/github-resource-converter/issues\n[makeapullrequest-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\n[makeapullrequest-url]: http://makeapullrequest.com\n[pr-url]: https://github.com/gregswindle/github-resource-converter/pulls\n\n\u003c!-- ⛔️ Octicon img references ⛔️  --\u003e\n\n[icon-octicon-alert]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/alert.svg\n[icon-octicon-arrow-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-down.svg\n[icon-octicon-arrow-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-left.svg\n[icon-octicon-arrow-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-right.svg\n[icon-octicon-arrow-small-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-down.svg\n[icon-octicon-arrow-small-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-left.svg\n[icon-octicon-arrow-small-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-right.svg\n[icon-octicon-arrow-small-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-up.svg\n[icon-octicon-arrow-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-up.svg\n[icon-octicon-beaker]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/beaker.svg\n[icon-octicon-bell]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bell.svg\n[icon-octicon-bold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bold.svg\n[icon-octicon-book]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/book.svg\n[icon-octicon-bookmark]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bookmark.svg\n[icon-octicon-briefcase]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/briefcase.svg\n[icon-octicon-broadcast]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/broadcast.svg\n[icon-octicon-browser]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/browser.svg\n[icon-octicon-bug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bug.svg\n[icon-octicon-calendar]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/calendar.svg\n[icon-octicon-check]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/check.svg\n[icon-octicon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg\n[icon-octicon-chevron-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-down.svg\n[icon-octicon-chevron-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-left.svg\n[icon-octicon-chevron-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-right.svg\n[icon-octicon-chevron-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-up.svg\n[icon-octicon-circle-slash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/circle-slash.svg\n[icon-octicon-circuit-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/circuit-board.svg\n[icon-octicon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg\n[icon-octicon-clock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clock.svg\n[icon-octicon-cloud-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/cloud-download.svg\n[icon-octicon-cloud-upload]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/cloud-upload.svg\n[icon-octicon-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/code.svg\n[icon-octicon-comment-discussion]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/comment-discussion.svg\n[icon-octicon-comment]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/comment.svg\n[icon-octicon-credit-card]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/credit-card.svg\n[icon-octicon-dash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/dash.svg\n[icon-octicon-dashboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/dashboard.svg\n[icon-octicon-database]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/database.svg\n[icon-octicon-desktop-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/desktop-download.svg\n[icon-octicon-device-camera-video]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-camera-video.svg\n[icon-octicon-device-camera]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-camera.svg\n[icon-octicon-device-desktop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-desktop.svg\n[icon-octicon-device-mobile]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-mobile.svg\n[icon-octicon-diff-added]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-added.svg\n[icon-octicon-diff-ignored]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-ignored.svg\n[icon-octicon-diff-modified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-modified.svg\n[icon-octicon-diff-removed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-removed.svg\n[icon-octicon-diff-renamed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-renamed.svg\n[icon-octicon-diff]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff.svg\n[icon-octicon-ellipses]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ellipses.svg\n[icon-octicon-ellipsis]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ellipsis.svg\n[icon-octicon-eye]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/eye.svg\n[icon-octicon-file-binary]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-binary.svg\n[icon-octicon-file-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-code.svg\n[icon-octicon-file-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-directory.svg\n[icon-octicon-file-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg\n[icon-octicon-file-pdf]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-pdf.svg\n[icon-octicon-file-submodule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-submodule.svg\n[icon-octicon-file-symlink-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-symlink-directory.svg\n[icon-octicon-file-symlink-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-symlink-file.svg\n[icon-octicon-file-text]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-text.svg\n[icon-octicon-file-zip]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-zip.svg\n[icon-octicon-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file.svg\n[icon-octicon-flame]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/flame.svg\n[icon-octicon-fold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/fold.svg\n[icon-octicon-gear]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gear.svg\n[icon-octicon-gift]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gift.svg\n[icon-octicon-gist-secret]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gist-secret.svg\n[icon-octicon-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gist.svg\n[icon-octicon-git-branch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-branch.svg\n[icon-octicon-git-commit]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-commit.svg\n[icon-octicon-git-compare]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-compare.svg\n[icon-octicon-git-merge]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-merge.svg\n[icon-octicon-git-pull-request]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-pull-request.svg\n[icon-octicon-globe]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/globe.svg\n[icon-octicon-grabber]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/grabber.svg\n[icon-octicon-graph]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/graph.svg\n[icon-octicon-heart]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/heart.svg\n[icon-octicon-history]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/history.svg\n[icon-octicon-home]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/home.svg\n[icon-octicon-horizontal-rule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/horizontal-rule.svg\n[icon-octicon-hubot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/hubot.svg\n[icon-octicon-inbox]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/inbox.svg\n[icon-octicon-info]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/info.svg\n[icon-octicon-issue-closed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-closed.svg\n[icon-octicon-issue-opened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-opened.svg\n[icon-octicon-issue-reopened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-reopened.svg\n[icon-octicon-italic]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/italic.svg\n[icon-octicon-jersey]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/jersey.svg\n[icon-octicon-key]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/key.svg\n[icon-octicon-keyboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/keyboard.svg\n[icon-octicon-law]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/law.svg\n[icon-octicon-light-bulb]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/light-bulb.svg\n[icon-octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg\n[icon-octicon-link]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link.svg\n[icon-octicon-list-ordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/list-ordered.svg\n[icon-octicon-list-unordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/list-unordered.svg\n[icon-octicon-location]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/location.svg\n[icon-octicon-lock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/lock.svg\n[icon-octicon-logo-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/logo-gist.svg\n[icon-octicon-logo-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/logo-github.svg\n[icon-octicon-mail-read]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail-read.svg\n[icon-octicon-mail-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail-reply.svg\n[icon-octicon-mail]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail.svg\n[icon-octicon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg\n[icon-octicon-markdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg\n[icon-octicon-megaphone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/megaphone.svg\n[icon-octicon-mention]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mention.svg\n[icon-octicon-milestone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/milestone.svg\n[icon-octicon-mirror]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mirror.svg\n[icon-octicon-mortar-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mortar-board.svg\n[icon-octicon-mute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mute.svg\n[icon-octicon-no-newline]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/no-newline.svg\n[icon-octicon-octoface]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/octoface.svg\n[icon-octicon-organization]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/organization.svg\n[icon-octicon-package]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/package.svg\n[icon-octicon-paintcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/paintcan.svg\n[icon-octicon-pencil]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pencil.svg\n[icon-octicon-person]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/person.svg\n[icon-octicon-pin]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pin.svg\n[icon-octicon-plug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plug.svg\n[icon-octicon-plus-small]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plus-small.svg\n[icon-octicon-plus]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plus.svg\n[icon-octicon-primitive-dot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/primitive-dot.svg\n[icon-octicon-primitive-square]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/primitive-square.svg\n[icon-octicon-pulse]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pulse.svg\n[icon-octicon-question]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/question.svg\n[icon-octicon-quote]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/quote.svg\n[icon-octicon-radio-tower]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/radio-tower.svg\n[icon-octicon-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/reply.svg\n[icon-octicon-repo-clone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-clone.svg\n[icon-octicon-repo-force-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-force-push.svg\n[icon-octicon-repo-forked]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-forked.svg\n[icon-octicon-repo-pull]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-pull.svg\n[icon-octicon-repo-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-push.svg\n[icon-octicon-repo]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo.svg\n[icon-octicon-rocket]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/rocket.svg\n[icon-octicon-rss]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/rss.svg\n[icon-octicon-ruby]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ruby.svg\n[icon-octicon-search]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/search.svg\n[icon-octicon-server]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/server.svg\n[icon-octicon-settings]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/settings.svg\n[icon-octicon-shield]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/shield.svg\n[icon-octicon-sign-in]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sign-in.svg\n[icon-octicon-sign-out]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sign-out.svg\n[icon-octicon-smiley]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/smiley.svg\n[icon-octicon-squirrel]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/squirrel.svg\n[icon-octicon-star]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/star.svg\n[icon-octicon-stop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/stop.svg\n[icon-octicon-sync]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sync.svg\n[icon-octicon-tag]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tag.svg\n[icon-octicon-tasklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tasklist.svg\n[icon-octicon-telescope]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/telescope.svg\n[icon-octicon-terminal]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/terminal.svg\n[icon-octicon-text-size]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/text-size.svg\n[icon-octicon-three-bars]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/three-bars.svg\n[icon-octicon-thumbsdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsdown.svg\n[icon-octicon-thumbsup]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsup.svg\n[icon-octicon-tools]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tools.svg\n[icon-octicon-trashcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/trashcan.svg\n[icon-octicon-triangle-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-down.svg\n[icon-octicon-triangle-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-left.svg\n[icon-octicon-triangle-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-right.svg\n[icon-octicon-triangle-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-up.svg\n[icon-octicon-unfold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unfold.svg\n[icon-octicon-unmute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unmute.svg\n[icon-octicon-unverified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unverified.svg\n[icon-octicon-verified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/verified.svg\n[icon-octicon-versions]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/versions.svg\n[icon-octicon-watch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/watch.svg\n[icon-octicon-x]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/x.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregswindle%2Fgithub-resource-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgregswindle%2Fgithub-resource-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregswindle%2Fgithub-resource-converter/lists"}