UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

42 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isMissingStatusChecksError = exports.enablePullRequestAutoMerge = void 0; const generated_1 = require("../../../graphql/generated"); const graphqlClient_1 = require("./client/graphqlClient"); const fetchPullRequestId2_1 = require("./fetchPullRequestId2"); async function enablePullRequestAutoMerge(options, targetPullRequestNumber) { const { accessToken, githubApiBaseUrlV4, autoMergeMethod = 'merge', } = options; const pullRequestId = await (0, fetchPullRequestId2_1.fetchPullRequestId)(options, targetPullRequestNumber); const query = (0, generated_1.graphql)(` mutation EnablePullRequestAutoMerge( $pullRequestId: ID! $mergeMethod: PullRequestMergeMethod! ) { enablePullRequestAutoMerge( input: { pullRequestId: $pullRequestId, mergeMethod: $mergeMethod } ) { pullRequest { number } } } `); const variables = { pullRequestId, mergeMethod: autoMergeMethod.toUpperCase(), }; const client = (0, graphqlClient_1.getGraphQLClient)({ accessToken, githubApiBaseUrlV4 }); const result = await client.mutation(query, variables); if (result.error) { throw new graphqlClient_1.GithubV4Exception(result); } return result.data?.enablePullRequestAutoMerge?.pullRequest?.number; } exports.enablePullRequestAutoMerge = enablePullRequestAutoMerge; function isMissingStatusChecksError(e) { return e.result.error?.graphQLErrors.some((e) => e.extensions.type === 'UNPROCESSABLE' && (e.message.includes('Branch does not have required protected branch rules') || e.message.includes('Pull request is in clean status'))); } exports.isMissingStatusChecksError = isMissingStatusChecksError; //# sourceMappingURL=enablePullRequestAutoMerge.js.map