diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml index df43305..8caaff3 100644 --- a/.github/workflows/issues.yml +++ b/.github/workflows/issues.yml @@ -4,12 +4,14 @@ on: types: - labeled - opened +concurrency: + group: ${{ github.event.issue.number }} jobs: delete-test-issues: runs-on: ubuntu-latest steps: - run: | - is_test=$(echo "${{ toJSON(github.event) }}" | jq '.issue.labels[].name == "test"' | grep true) + is_test=$(echo '${{ toJSON(github.event) }}' | jq '.issue.labels[].name == "test"' | grep true) if [[ -z "$is_test" ]]; then curl --slient --show-error \ --request PATCH \ diff --git a/README.md b/README.md index 101086a..e18f2ab 100644 --- a/README.md +++ b/README.md @@ -52,3 +52,7 @@ steps: status - `${{ job.status }}` assignees: SomeUsername,AnotherUsername ``` +## Issues & debugging +If you encounter issues with my action feel free to create an issue or a PR, happy to take improvements or requests. + +More verbose logging can be enabled via GitHub Actions feature: [`ACTIONS_STEP_DEBUG`](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging) \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 0369570..1a30a1f 100644 --- a/dist/index.js +++ b/dist/index.js @@ -8573,18 +8573,26 @@ const listToArray = (str) => { const rtrue = { required: true }; const token = Core.getInput('token', rtrue); + Core.debug(`Using token: ${token}`); // required but defaults not handled by action.yml const repoContext = Github.context.repo; const owner = Core.getInput('owner') || repoContext.owner; const repo = Core.getInput('repo') || repoContext.repo; const title = Core.getInput('title', rtrue); + Core.debug(`Using owner: ${owner}`); + Core.debug(`Using repo: ${repo}`); + Core.debug(`Using title: ${title}`); // optional const body = Core.getInput('body'); const milestone = Core.getInput('milestone'); const labels = Core.getInput('labels'); const assignees = Core.getInput('assignees'); + Core.debug(`Using body: """${body}"""`); + Core.debug(`Using milestone: ${milestone}`); + Core.debug(`Using labels: ${labels}`); + Core.debug(`Using assignees: ${assignees}`); const octokit = Github.getOctokit(token); const opts = Object.fromEntries(Object.entries({ @@ -8596,13 +8604,14 @@ const listToArray = (str) => { labels: labels ? listToArray(labels) : null, assignees: assignees ? listToArray(assignees) : null }).filter(([_, v]) => v != null)); - + Core.debug(`Object for new issue: """${JSON.stringify(opts, null, 2)}"""`) // https://docs.github.com/en/rest/reference/issues#create-an-issue const newIssue = await octokit.rest.issues.create(opts); - console.log('Created:', newIssue.data.html_url); + Core.info(`Created: ${newIssue.data.html_url}`) } catch (err) { - Core.setFailed(err.message); + Core.error(err); + Core.setFailed('Request to create new issue failed'); } })(); diff --git a/src/index.js b/src/index.js index bf75b93..26ab72d 100644 --- a/src/index.js +++ b/src/index.js @@ -15,18 +15,26 @@ const listToArray = (str) => { const rtrue = { required: true }; const token = Core.getInput('token', rtrue); + Core.debug(`Using token: ${token}`); // required but defaults not handled by action.yml const repoContext = Github.context.repo; const owner = Core.getInput('owner') || repoContext.owner; const repo = Core.getInput('repo') || repoContext.repo; const title = Core.getInput('title', rtrue); + Core.debug(`Using owner: ${owner}`); + Core.debug(`Using repo: ${repo}`); + Core.debug(`Using title: ${title}`); // optional const body = Core.getInput('body'); const milestone = Core.getInput('milestone'); const labels = Core.getInput('labels'); const assignees = Core.getInput('assignees'); + Core.debug(`Using body: """${body}"""`); + Core.debug(`Using milestone: ${milestone}`); + Core.debug(`Using labels: ${labels}`); + Core.debug(`Using assignees: ${assignees}`); const octokit = Github.getOctokit(token); const opts = Object.fromEntries(Object.entries({ @@ -38,12 +46,13 @@ const listToArray = (str) => { labels: labels ? listToArray(labels) : null, assignees: assignees ? listToArray(assignees) : null }).filter(([_, v]) => v != null)); - + Core.debug(`Object for new issue: """${JSON.stringify(opts, null, 2)}"""`) // https://docs.github.com/en/rest/reference/issues#create-an-issue const newIssue = await octokit.rest.issues.create(opts); - console.log('Created:', newIssue.data.html_url); + Core.info(`Created: ${newIssue.data.html_url}`) } catch (err) { - Core.setFailed(err.message); + Core.error(err); + Core.setFailed('Request to create new issue failed'); } })();