From 98ca5ffc3d3fbbadcfd52ad7c7a89b24e7c00891 Mon Sep 17 00:00:00 2001 From: Philippe Auriach Date: Tue, 28 Feb 2023 17:52:22 +0100 Subject: [PATCH] Add support for merge group runs (#54) * log merge group or payload to learn more about merge group * Ignore run if running in a merge group * Correct usage of merge group from payload * add merge_group in sample --- action.js | 10 ++++++++++ sample/workflows/asana.yml | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/action.js b/action.js index 9990540b6..66e1f7739 100644 --- a/action.js +++ b/action.js @@ -121,6 +121,7 @@ exports.findAsanaTaskId = function findAsanaTaskId({ exports.getActionParameters = function getActionParameters() { const repository = github.context.payload.repository; const pullRequest = github.context.payload.pull_request; + const mergeGroup = github.context.payload.merge_group; const action = core.getInput("action", { required: true }); const triggerPhrase = core.getInput("trigger-phrase") || ""; const amplifyUri = core.getInput("amplify-uri") || ""; @@ -132,6 +133,7 @@ exports.getActionParameters = function getActionParameters() { triggerPhrase, amplifyUri, storybookAmplifyUri, + mergeGroup, }; }; @@ -338,7 +340,9 @@ async function checkIfCanMergeWithoutAsanaTask({ repository, pullRequest }) { } exports.action = async function action() { + // check if we run on a merge_group const { + mergeGroup, repository, pullRequest, action, @@ -346,6 +350,12 @@ exports.action = async function action() { amplifyUri, storybookAmplifyUri, } = exports.getActionParameters(); + + if (mergeGroup) { + console.log("Running on a merge group - skipping Asana integration"); + return; + } + const taskId = exports.findAsanaTaskId({ triggerPhrase, pullRequest }); const asanaPRStatus = await exports.getAsanaPRStatus({ diff --git a/sample/workflows/asana.yml b/sample/workflows/asana.yml index db1134b07..ffe38f5c6 100644 --- a/sample/workflows/asana.yml +++ b/sample/workflows/asana.yml @@ -1,6 +1,10 @@ name: Asana on: + merge_group: + types: + - checks_requested + pull_request: types: - assigned