gavinr / github-csv-tools

Import and export GitHub issues via CSV
https://npmjs.com/github-csv-tools
MIT License
669 stars 119 forks source link

Non admin/owner cannot create issues for organization. #110

Open matt-regier opened 1 year ago

matt-regier commented 1 year ago

https://github.com/gavinr/github-csv-tools/issues/99 leads to https://github.com/gavinr/github-csv-tools/discussions/83 leads to https://github.com/gavinr/github-csv-tools/pull/82 leads to https://github.com/gavinr/github-csv-tools/issues/84

I've seen the tradeoff issue; are we saying we're just committed to the you must be the repo admin business call?

If so, I 100% agree that the README should be updated, because I'm a couple hours in and have just now realized this path is a non-starter for me.

(I know my token and org name are good because I can perform and export.)

matt-regier commented 1 year ago

githubCsvTools --version

`3.2.0`

node --version

`v18.17.1`

GitHub.import.slim.csv

title,body,labels
Common Api Proxy: test/api/get-test-api.js,convert all the calls in get-test-api.js to call Passthrough Api instead of Common Api,refactor

working export

githubCsvTools
      --token "bearer ghp_ClassicGitHubPATwithREPOscopes"
      --organization OrgName
      --repository RepoName
      --exportFileName RepoName.issues.csv
      --verbose

failing import

githubCsvTools
      --token "bearer ghp_ClassicGitHubPATwithREPOscopes"
      --organization OrgName
      --repository RepoName
      --verbose
      GitHub.import.slim.csv

error info

[@octokit/plugin-throttling] `onAbuseLimit()` is deprecated and will be removed in a future release of `@octokit/plugin-throttling`, please use the `onSecondaryRateLimit` handler instead
Error
RequestError [HttpError]: Not Found
    at C:\Users\First.Last\AppData\Roaming\nvm\v18.17.1\node_modules\github-csv-tools\node_modules\@octokit\request\dist-node\index.js:122:21
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Job.doExecute (C:\Users\First.Last\AppData\Roaming\nvm\v18.17.1\node_modules\github-csv-tools\node_modules\bottleneck\light.js:405:18) {
  status: 404,
  response: {
    url: 'https://api.github.com/repos/OrgName/RepoName/import/issues',
    status: 404,
    headers: {
      'access-control-allow-origin': '*',
      'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset',
      'content-encoding': 'gzip',
      'content-security-policy': "default-src 'none'",
      'content-type': 'application/json; charset=utf-8',
      date: 'Tue, 24 Oct 2023 15:13:26 GMT',
      'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
      server: 'GitHub.com',
      'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',
      'transfer-encoding': 'chunked',
      vary: 'Accept-Encoding, Accept, X-Requested-With',
      'x-accepted-oauth-scopes': '',
      'x-content-type-options': 'nosniff',
      'x-frame-options': 'deny',
      'x-github-api-version-selected': '2022-11-28',
      'x-github-media-type': 'github.v3; format=json',
      'x-github-request-id': 'AAAA:AAAA:AAAAAA:AAAAAA:AAAAAAAA',
      'x-oauth-scopes': 'repo',
      'x-ratelimit-limit': '5000',
      'x-ratelimit-remaining': '4811',
      'x-ratelimit-reset': '1698161966',
      'x-ratelimit-resource': 'core',
      'x-ratelimit-used': '189',
      'x-xss-protection': '0'
    },
    data: {
      message: 'Not Found',
      documentation_url: 'https://docs.github.com/rest'
    }
  },
  request: {
    method: 'POST',
    url: 'https://api.github.com/repos/OrgName/RepoName/import/issues',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'github-csv-tools octokit-rest.js/19.0.13 octokit-core.js/4.2.4 Node.js/18.17.1 (win32; x64)',
      authorization: 'token [REDACTED]',
      'content-type': 'application/json; charset=utf-8'
    },
    body: '{"issue":{"title":"Common Api Proxy: test/api/get-test-api.js","body":"convert all the calls in get-test-api.js to call Passthrough Api instead of Common Api","labels":["refactor"]}}',
    request: { hook: [Function: bound bound register] }
  }
}