Terraform-aws-github-runner: Header diperlukan untuk API Pemeriksaan untuk Server Perusahaan

Dibuat pada 19 Jan 2021  ·  13Komentar  ·  Sumber: philips-labs/terraform-aws-github-runner

2021-01-19T16:58:27.528Z    784f32d9-df03-522b-86b6-6a58cee71a88    ERROR   RequestError [HttpError]: If you would like to help us test the Checks API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details. 

Kemungkinan disebabkan oleh #386

Komentar yang paling membantu

Rilis yang dibuat 0.9.1

Semua 13 komentar

Sarankan kami mengembalikan #386 untuk saat ini.

Dipecahkan oleh #481

Saya masih mendapatkan kesalahan ini. Mencoba membuat lambda sendiri kemarin setelah #481 digabungkan serta ritsleting lambda 0.9.0 yang baru saja dirilis.

2021-01-21T18:33:14.240Z    66df9451-e423-5303-ab9e-ccd22f36bbf2    ERROR   RequestError [HttpError]: If you would like to help us test the Checks API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.
    at /var/task/index.js:2756:23
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  status: 415,
  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-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset',
    'alt-svc': 'clear',
    connection: 'close',
    'content-length': '288',
    'content-security-policy': "default-src 'none'",
    'content-type': 'application/json; charset=utf-8',
    date: 'Thu, 21 Jan 2021 18:33:14 GMT',
    'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
    server: 'GitHub.com',
    status: '415 Unsupported Media Type',
    'strict-transport-security': 'max-age=31536000; includeSubdomains',
    via: '1.1 google',
    'x-content-type-options': 'nosniff',
    'x-frame-options': 'deny',
    'x-github-enterprise-version': '2.22.6',
    'x-github-media-type': 'github.v3; format=json',
    'x-github-request-id': '197c6068-c1d5-43d2-9ed4-bb0d409b2500',
    'x-ratelimit-limit': '12500',
    'x-ratelimit-remaining': '12036',
    'x-ratelimit-reset': '1611255703',
    'x-runtime-rack': '0.038530',
    'x-xss-protection': '1; mode=block'
  },
  request: {
    method: 'GET',
    url: 'https://github.example.com/api/v3/repos/acme/somerepo/check-runs/68859',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'octokit-rest.js/18.0.12 octokit-core.js/3.2.4 Node.js/12.20.1 (linux; x64)',
      authorization: 'token [REDACTED]'
    },
    request: { hook: [Function: bound bound register] }
  },
  documentation_url: 'https://docs.github.com/enterprise/2.22/rest/reference/checks#get-a-check-run'
}
server: 'GitHub.com',

anda masih menggunakan komit lama untuk Lambdas Anda ..

Tidak. Saya sangat yakin saya menjalankan lambdas v0.9.0 yang dapat diunduh di sini dari Github. Header server: 'GitHub.com' dikembalikan dari perusahaan kami GitHub Enterprise.

Apa yang bisa menjadi alasan mengapa tajuk Accept: application/vnd.github.v3+json masih dikirim alih-alih application/vnd.github.antiope-preview+json ? ghesApiUrl diatur di https://github.com/philips-labs/terraform-aws-github-runner/blob/v0.9.0/modules/runners/lambdas/runners/src/scale-runners/ gh-auth.ts# L51 -L56.

@buamod Saya mendapatkan header server . Sepertinya itu normal?

@samuelb Saya melewatkan memodifikasi tes untuk perbaikan yang berhasil masuk ke v0.9.0, jadi saya memodifikasi L120 dari gh-auth.test.ts secara lokal:

request: mockedRequestInterface.defaults({ baseUrl: githubServerUrl, mediaType: { previews: ['antiope'] } }),

Ujian itu berlalu.

Saya juga menemukan bahwa Anda dapat mengaktifkan debug di octokit. log: console, dimasukkan ke L11 dari gh-auth.ts , dikompilasi ulang, diunggah, dan menghasilkan ini:

2021-01-22T13:33:31.960Z    a3e98909-2b21-52b0-9e5c-d18dfd7d23cf    DEBUG   request {
  method: 'GET',
  baseUrl: 'https://githubtest.internal/api/v3',
  headers: {
    accept: 'application/vnd.github.v3+json',
    'user-agent': 'octokit-rest.js/18.0.9 octokit-core.js/3.2.4 Node.js/12.19.0 (linux; x64)'
  },
  mediaType: { format: '', previews: [ 'antiope' ] },
  request: { hook: [Function: bound bound register] },
  url: '/repos/{owner}/{repo}/check-runs/{check_run_id}',
  check_run_id: 845,
  owner: 'ActionsTest',
  repo: 'repo-test'
}

Header masih diteruskan tetapi mediaType sekarang disetel.

Saat menambahkan log: console, , saya mendapatkan ini:

021-01-22T15:15:21.285Z 68d40d07-e072-55a8-b924-55830e47ae02    DEBUG   request {
  method: 'GET',
  baseUrl: 'https://github.example.com/api/v3',
  headers: {
    accept: 'application/vnd.github.v3+json',
    'user-agent': 'octokit-rest.js/18.0.12 octokit-core.js/3.2.4 Node.js/12.20.1 (linux; x64)'
  },
  mediaType: { format: '', previews: [] },
  request: { hook: [Function: bound bound register] },
  url: '/repos/{owner}/{repo}/check-runs/{check_run_id}',
  check_run_id: 69556,
  owner: 'acme',
  repo: 'somerepo'
}

MediaType ini tidak disetel.
Saya menggandakan dan melipatgandakan memeriksa bahwa checkout cabang yang tepat. Saya bahkan memeriksanya dengan segar, menghapus gambar buruh pelabuhan lambda dll.

Saya hanya melihat dari agen pengguna, versi octokit-rest.js berbeda dari milik Anda. Anda menyarankan sebelumnya bahwa mengembalikan #386 akan menjadi salah satu opsi untuk menyelesaikannya. Mungkinkah #481 sebenarnya tidak menyelesaikan masalah itu tetapi Anda secara tidak sengaja menganggapnya telah diperbaiki saat Anda membuatnya menggunakan octokit-rest.js/18.0.9?

Sepertinya kompilasi terakhir saya mungkin menggunakan perpustakaan yang di-cache. Saya mengkompilasi ulang dan mendapatkan hasil yang sama seperti Anda.

Modifikasi ini berhasil untuk saya:
( gh-auth.ts L8)

export async function createOctoClient(token: string, ghesApiUrl: string = ''): Promise<Octokit> {
  const ocktokitOptions: OctokitOptions = {
    auth: token,
    log: console,
  };
  if (ghesApiUrl) {
    ocktokitOptions.baseUrl = ghesApiUrl;
    ocktokitOptions.previews = ['antiope'];
  }
  return new Octokit(ocktokitOptions);
}

Saya dapat mengonfirmasi bahwa ini berfungsi untuk saya 👍

iff --git a/modules/runners/lambdas/runners/src/scale-runners/gh-auth.ts b/modules/runners/lambdas/runners/src/scale-runners/gh-auth.ts
index 01dc3cf..ae3720e 100644
--- a/modules/runners/lambdas/runners/src/scale-runners/gh-auth.ts
+++ b/modules/runners/lambdas/runners/src/scale-runners/gh-auth.ts
@@ -11,6 +11,7 @@ export async function createOctoClient(token: string, ghesApiUrl: string = ''):
   };
   if (ghesApiUrl) {
     ocktokitOptions.baseUrl = ghesApiUrl;
+    ocktokitOptions.previews = ['antiope'];
   }
   return new Octokit(ocktokitOptions);
 }
@@ -51,7 +52,6 @@ export async function createGithubAuth(
   if (ghesApiUrl) {
     authOptions.request = request.defaults({
       baseUrl: ghesApiUrl,
-      mediaType: { previews: ['antiope'] }
     });
   }
   return await createAppAuth(authOptions)({ type: authType });

Dari CloudWatch:

2021-01-22T16:34:00.464Z    750ac5d2-fd1a-52ff-a26a-9d57fdbb2281    DEBUG   request {
  method: 'GET',
  baseUrl: 'https://github.example.com/api/v3',
  headers: {
    accept: 'application/vnd.github.v3+json',
    'user-agent': 'octokit-rest.js/18.0.12 octokit-core.js/3.2.4 Node.js/12.20.1 (linux; x64)'
  },
  mediaType: { format: '', previews: [ 'antiope' ] },
  request: { hook: [Function: bound bound register] },
  url: '/repos/{owner}/{repo}/check-runs/{check_run_id}',
  check_run_id: 69599,
  owner: 'acme',
  repo: 'somerepo'
}

2021-01-22T16:34:00.841Z    750ac5d2-fd1a-52ff-a26a-9d57fdbb2281    INFO    GET /repos/acme/somerepo/check-runs/69599 - 200 in 377ms

Dibuka #482

Rilis yang dibuat 0.9.1

Apakah halaman ini membantu?
0 / 5 - 0 peringkat