Home / Function/ fetchPullRequestMetadata() — react Function Reference

fetchPullRequestMetadata() — react Function Reference

Architecture documentation for the fetchPullRequestMetadata() function in data.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  8beaf454_f8a9_def2_d347_c6f77dad42de["fetchPullRequestMetadata()"]
  60d0c3ed_734d_56fa_7d21_b53dc8d70afe["data.js"]
  8beaf454_f8a9_def2_d347_c6f77dad42de -->|defined in| 60d0c3ed_734d_56fa_7d21_b53dc8d70afe
  style 8beaf454_f8a9_def2_d347_c6f77dad42de fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

scripts/tasks/generate-changelog/data.js lines 129–182

async function fetchPullRequestMetadata(prNumber, {log}) {
  log(`Fetching PR metadata for #${prNumber}...`);
  const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN || null;
  const requestOptions = {
    hostname: 'api.github.com',
    path: `/repos/facebook/react/pulls/${prNumber}`,
    method: 'GET',
    headers: {
      'User-Agent': 'generate-changelog-script',
      Accept: 'application/vnd.github+json',
    },
  };
  if (token) {
    requestOptions.headers.Authorization = `Bearer ${token}`;
  }

  return new Promise(resolve => {
    const req = https.request(requestOptions, res => {
      let raw = '';
      res.on('data', chunk => {
        raw += chunk;
      });
      res.on('end', () => {
        if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
          try {
            const json = JSON.parse(raw);
            resolve({
              authorLogin: json.user?.login || null,
            });
          } catch (error) {
            process.stderr.write(
              `Warning: unable to parse GitHub response for PR #${prNumber}: ${error.message}\n`
            );
            resolve(null);
          }
        } else {
          process.stderr.write(
            `Warning: GitHub API request failed for PR #${prNumber} with status ${res.statusCode}\n`
          );
          resolve(null);
        }
      });
    });

    req.on('error', error => {
      process.stderr.write(
        `Warning: GitHub API request errored for PR #${prNumber}: ${error.message}\n`
      );
      resolve(null);
    });

    req.end();
  });
}

Domain

Subdomains

Frequently Asked Questions

What does fetchPullRequestMetadata() do?
fetchPullRequestMetadata() is a function in the react codebase, defined in scripts/tasks/generate-changelog/data.js.
Where is fetchPullRequestMetadata() defined?
fetchPullRequestMetadata() is defined in scripts/tasks/generate-changelog/data.js at line 129.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free