From 35fe00576434bd0996b64192721cfb16520e3554 Mon Sep 17 00:00:00 2001 From: RedlineTriad <39059512+RedlineTriad@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:41:52 +0100 Subject: [PATCH 1/2] feat: export `getOctokitOptions` for easier Octokit config reuse Adds #23211 Signed-off-by: RedlineTriad <39059512+RedlineTriad@users.noreply.github.com> --- .changeset/lucky-ravens-beg.md | 5 +++++ .../scaffolder-backend-module-github/src/actions/index.ts | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 .changeset/lucky-ravens-beg.md diff --git a/.changeset/lucky-ravens-beg.md b/.changeset/lucky-ravens-beg.md new file mode 100644 index 0000000000..119d3e364d --- /dev/null +++ b/.changeset/lucky-ravens-beg.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-github': patch +--- + +Export `getOctokitOptions` for easy re-use of Octokit configuration handling diff --git a/plugins/scaffolder-backend-module-github/src/actions/index.ts b/plugins/scaffolder-backend-module-github/src/actions/index.ts index 27eaca0e85..40a0da5455 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/index.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/index.ts @@ -28,3 +28,5 @@ export { } from './githubPullRequest'; export { createPublishGithubAction } from './github'; export { createGithubAutolinksAction } from './githubAutolinks'; + +export { getOctokitOptions } from './helpers'; From 221fcef553ce4fef12c23c917c53d6d0334eee17 Mon Sep 17 00:00:00 2001 From: RedlineTriad <39059512+RedlineTriad@users.noreply.github.com> Date: Tue, 5 Mar 2024 13:52:30 +0100 Subject: [PATCH 2/2] doc: add documentation for getOctokitOptions Signed-off-by: RedlineTriad <39059512+RedlineTriad@users.noreply.github.com> --- plugins/scaffolder-backend-module-github/api-report.md | 9 +++++++++ .../src/actions/helpers.ts | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/plugins/scaffolder-backend-module-github/api-report.md b/plugins/scaffolder-backend-module-github/api-report.md index de03894a5a..0284c362eb 100644 --- a/plugins/scaffolder-backend-module-github/api-report.md +++ b/plugins/scaffolder-backend-module-github/api-report.md @@ -9,6 +9,7 @@ import { createPullRequest } from 'octokit-plugin-create-pull-request'; import { GithubCredentialsProvider } from '@backstage/integration'; import { JsonObject } from '@backstage/types'; import { Octokit } from 'octokit'; +import { OctokitOptions } from '@octokit/core/dist-types/types'; import { ScmIntegrationRegistry } from '@backstage/integration'; import { ScmIntegrations } from '@backstage/integration'; import { TemplateAction } from '@backstage/plugin-scaffolder-node'; @@ -392,6 +393,14 @@ export const createPublishGithubPullRequestAction: ( JsonObject >; +// @public +export function getOctokitOptions(options: { + integrations: ScmIntegrationRegistry; + credentialsProvider?: GithubCredentialsProvider; + token?: string; + repoUrl: string; +}): Promise; + // @public const githubModule: () => BackendFeature; export default githubModule; diff --git a/plugins/scaffolder-backend-module-github/src/actions/helpers.ts b/plugins/scaffolder-backend-module-github/src/actions/helpers.ts index ec282c74d9..99cc3c5560 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/helpers.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/helpers.ts @@ -39,6 +39,11 @@ import { const DEFAULT_TIMEOUT_MS = 60_000; +/** + * Helper for generating octokit configuration options for given repoUrl. + * If no token is provided, it will attempt to get a token from the credentials provider. + * @public + */ export async function getOctokitOptions(options: { integrations: ScmIntegrationRegistry; credentialsProvider?: GithubCredentialsProvider;