diff --git a/lib/entry-points.js b/lib/entry-points.js index f35cad21c..ede4701fd 100644 --- a/lib/entry-points.js +++ b/lib/entry-points.js @@ -170758,8 +170758,8 @@ function getApiDetails(env = getEnv()) { ...getCurrentInstance(env) }; } -function getApiClient(env = getEnv()) { - return createApiClientWithDetails(getApiDetails(env)); +function getApiClient(env = getEnv(), apiDetails) { + return createApiClientWithDetails(apiDetails ?? getApiDetails(env)); } function getApiClientWithExternalAuth(apiDetails, proxy) { return createApiClientWithDetails(apiDetails, { allowExternal: true, proxy }); diff --git a/src/api-client.ts b/src/api-client.ts index b75aacbb7..7aa4d61d7 100644 --- a/src/api-client.ts +++ b/src/api-client.ts @@ -169,8 +169,22 @@ export function getApiDetails(env: ReadOnlyEnv = getEnv()): GitHubApiDetails { }; } -export function getApiClient(env: ReadOnlyEnv = getEnv()) { - return createApiClientWithDetails(getApiDetails(env)); +/** + * Constructs an {@link ApiClient} using {@link apiDetails}. + * + * If {@link apiDetails} is not specified, then the GitHub instance URLs and auth token + * are taken from {@link env}. + * + * If {@link env} is not specified, then the process environment is used. + * + * @param env The environment to obtain the GitHub instance URLs from. + * @param apiDetails The {@link GitHubApiDetails} to construct the {@link ApiClient} for. + */ +export function getApiClient( + env: ReadOnlyEnv = getEnv(), + apiDetails?: GitHubApiDetails, +) { + return createApiClientWithDetails(apiDetails ?? getApiDetails(env)); } export function getApiClientWithExternalAuth(