Skip to content

Commit

Permalink
Merge pull request #46 from Gamesight/revert-36-feature/follow-workfl…
Browse files Browse the repository at this point in the history
…ow-run

Revert "response to workflow_run event"
  • Loading branch information
AnthonyKinson committed Oct 19, 2022
2 parents 0fa6a9a + b8243bc commit 374de41
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 34 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ This action will post workflow status notifications into your Slack channel. The
| **name** | _optional_ | Allows you to provide a name for the slack bot user posting the notifications. Overrides the default name created with your webhook.
| **icon_emoji** | _optional_ | Allows you to provide an emoji as the slack bot user image when posting notifications. Overrides the default image created with your webhook. _[Emoji Code Cheat Sheet](https://www.webfx.com/tools/emoji-cheat-sheet/)_
| **icon_url** | _optional_ | Allows you to provide a URL for an image to use as the slack bot user image when posting notifications. Overrides the default image created with your webhook.
| **workflow_run** | _optional_ | If you are using `workflow_run` for notification, go to get the status of the last workflow job.


## Usage
Expand Down
4 changes: 0 additions & 4 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,6 @@ inputs:
description: 'Should the slack notification include the head commit message'
required: true
default: "false"
workflow_run:
required: false
default: "false"
description: 'Execution in workflow_run event'
runs:
using: 'node16'
main: 'dist/index.js'
21 changes: 6 additions & 15 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ module.exports =
/***/ ((module) => {

"use strict";
module.exports = JSON.parse("{\"name\":\"@slack/webhook\",\"version\":\"6.1.0\",\"description\":\"Official library for using the Slack Platform's Incoming Webhooks\",\"author\":\"Slack Technologies, LLC\",\"license\":\"MIT\",\"keywords\":[\"slack\",\"request\",\"client\",\"http\",\"api\",\"proxy\"],\"main\":\"dist/index.js\",\"types\":\"./dist/index.d.ts\",\"files\":[\"dist/**/*\"],\"engines\":{\"node\":\">= 12.13.0\",\"npm\":\">= 6.12.0\"},\"repository\":\"slackapi/node-slack-sdk\",\"homepage\":\"https://slack.dev/node-slack-sdk/webhook\",\"publishConfig\":{\"access\":\"public\"},\"bugs\":{\"url\":\"https://github.com/slackapi/node-slack-sdk/issues\"},\"scripts\":{\"prepare\":\"npm run build\",\"build\":\"npm run build:clean && tsc\",\"build:clean\":\"shx rm -rf ./dist ./coverage ./.nyc_output\",\"lint\":\"eslint --ext .ts src\",\"test\":\"npm run lint && npm run build && nyc mocha --config .mocharc.json src/*.spec.js\",\"coverage\":\"codecov -F webhook --root=$PWD\",\"ref-docs:model\":\"api-extractor run\"},\"dependencies\":{\"@slack/types\":\"^1.2.1\",\"@types/node\":\">=12.0.0\",\"axios\":\"^0.21.4\"},\"devDependencies\":{\"@microsoft/api-extractor\":\"^7.3.4\",\"@typescript-eslint/eslint-plugin\":\"^4.4.1\",\"@typescript-eslint/parser\":\"^4.4.0\",\"@types/chai\":\"^4.1.7\",\"@types/mocha\":\"^5.2.6\",\"chai\":\"^4.2.0\",\"codecov\":\"^3.2.0\",\"eslint\":\"^7.32.0\",\"eslint-config-airbnb-base\":\"^14.2.1\",\"eslint-config-airbnb-typescript\":\"^12.3.1\",\"eslint-plugin-import\":\"^2.22.1\",\"eslint-plugin-jsdoc\":\"^30.6.1\",\"eslint-plugin-node\":\"^11.1.0\",\"mocha\":\"^9.1.0\",\"nock\":\"^13.0.0\",\"nyc\":\"^14.1.1\",\"shx\":\"^0.3.2\",\"sinon\":\"^7.2.7\",\"source-map-support\":\"^0.5.10\",\"ts-node\":\"^8.0.3\",\"typescript\":\"^4.1.0\"}}");
module.exports = JSON.parse("{\"name\":\"@slack/webhook\",\"version\":\"6.1.0\",\"description\":\"Official library for using the Slack Platform's Incoming Webhooks\",\"author\":\"Slack Technologies, LLC\",\"license\":\"MIT\",\"keywords\":[\"slack\",\"request\",\"client\",\"http\",\"api\",\"proxy\"],\"main\":\"dist/index.js\",\"types\":\"./dist/index.d.ts\",\"files\":[\"dist/**/*\"],\"engines\":{\"node\":\">= 12.13.0\",\"npm\":\">= 6.12.0\"},\"repository\":\"slackapi/node-slack-sdk\",\"homepage\":\"https://slack.dev/node-slack-sdk/webhook\",\"publishConfig\":{\"access\":\"public\"},\"bugs\":{\"url\":\"https://github.com/slackapi/node-slack-sdk/issues\"},\"scripts\":{\"prepare\":\"npm run build\",\"build\":\"npm run build:clean && tsc\",\"build:clean\":\"shx rm -rf ./dist ./coverage ./.nyc_output\",\"lint\":\"eslint --ext .ts src\",\"test\":\"npm run lint && npm run build && nyc mocha --config .mocharc.json src/*.spec.js\",\"coverage\":\"codecov -F webhook --root=$PWD\",\"ref-docs:model\":\"api-extractor run\"},\"dependencies\":{\"@slack/types\":\"^1.2.1\",\"@types/node\":\">=12.0.0\",\"axios\":\"^0.21.4\"},\"devDependencies\":{\"@microsoft/api-extractor\":\"^7.3.4\",\"@typescript-eslint/eslint-plugin\":\"^4.4.1\",\"@typescript-eslint/parser\":\"^4.4.0\",\"@types/chai\":\"^4.1.7\",\"@types/mocha\":\"^5.2.6\",\"chai\":\"^4.2.0\",\"codecov\":\"^3.2.0\",\"eslint\":\"^7.32.0\",\"eslint-config-airbnb-base\":\"^14.2.1\",\"eslint-config-airbnb-typescript\":\"^12.3.1\",\"eslint-plugin-import\":\"^2.22.1\",\"eslint-plugin-jsdoc\":\"^30.6.1\",\"eslint-plugin-node\":\"^11.1.0\",\"mocha\":\"^9.1.0\",\"nock\":\"^13.0.0\",\"nyc\":\"^14.1.1\",\"shx\":\"^0.3.2\",\"sinon\":\"^7.2.7\",\"source-map-support\":\"^0.5.10\",\"ts-node\":\"^8.0.3\",\"typescript\":\"^4.1.0\"},\"_resolved\":\"https://registry.npmjs.org/@slack/webhook/-/webhook-6.1.0.tgz\",\"_integrity\":\"sha512-7AYNISyAjn/lA/VDwZ307K5ft5DojXgBd3DRrGoFN8XxIwIyRALdFhxBiMgAqeJH8eWoktvNwLK24R9hREEqpA==\",\"_from\":\"@slack/webhook@6.1.0\"}");

/***/ }),

Expand Down Expand Up @@ -11199,20 +11199,17 @@ function main() {
core.setSecret(webhook_url);
// Auth github with octokit module
const octokit = github_1.getOctokit(github_token);
const run_id = core.getInput('workflow_run')
? Number(github_1.context.payload.workflow_run.id)
: Number(github_1.context.runId);
// Fetch workflow run data
const { data: workflow_run } = yield octokit.actions.getWorkflowRun({
owner: github_1.context.repo.owner,
repo: github_1.context.repo.repo,
run_id
run_id: github_1.context.runId
});
// Fetch workflow job information
const { data: jobs_response } = yield octokit.actions.listJobsForWorkflowRun({
owner: github_1.context.repo.owner,
repo: github_1.context.repo.repo,
run_id
run_id: github_1.context.runId
});
const completed_jobs = jobs_response.jobs.filter(job => job.status === 'completed');
// Configure slack attachment styling
Expand Down Expand Up @@ -11274,16 +11271,10 @@ function main() {
const repo_url = `<${workflow_run.repository.html_url}|*${workflow_run.repository.full_name}*>`;
const branch_url = `<${workflow_run.repository.html_url}/tree/${workflow_run.head_branch}|*${workflow_run.head_branch}*>`;
const workflow_run_url = `<${workflow_run.html_url}|#${workflow_run.run_number}>`;
const event_name = core.getInput('workflow_run')
? github_1.context.payload.workflow_run.event
: github_1.context.eventName;
const workflow_name = core.getInput('workflow_run')
? github_1.context.payload.workflow_run.name
: github_1.context.workflow;
// Example: Success: AnthonyKinson's `push` on `master` for pull_request
let status_string = `${workflow_msg} ${github_1.context.actor}'s \`${event_name}\` on \`${branch_url}\``;
let status_string = `${workflow_msg} ${github_1.context.actor}'s \`${github_1.context.eventName}\` on \`${branch_url}\``;
// Example: Workflow: My Workflow #14 completed in `1m 30s`
const details_string = `Workflow: ${workflow_name} ${workflow_run_url} completed in \`${workflow_duration}\``;
const details_string = `Workflow: ${github_1.context.workflow} ${workflow_run_url} completed in \`${workflow_duration}\``;
// Build Pull Request string if required
const pull_requests = workflow_run.pull_requests
.map(pull_request => `<${workflow_run.repository.html_url}/pull/${pull_request.number}|#${pull_request.number}> from \`${pull_request.head.ref}\` to \`${pull_request.base.ref}\``)
Expand Down Expand Up @@ -11371,7 +11362,7 @@ module.exports = eval("require")("encoding");
/***/ ((module) => {

"use strict";
module.exports = JSON.parse("{\"name\":\"axios\",\"version\":\"0.21.4\",\"description\":\"Promise based HTTP client for the browser and node.js\",\"main\":\"index.js\",\"scripts\":{\"test\":\"grunt test\",\"start\":\"node ./sandbox/server.js\",\"build\":\"NODE_ENV=production grunt build\",\"preversion\":\"npm test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\"postversion\":\"git push && git push --tags\",\"examples\":\"node ./examples/server.js\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"fix\":\"eslint --fix lib/**/*.js\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/axios/axios.git\"},\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"author\":\"Matt Zabriskie\",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"homepage\":\"https://axios-http.com\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"jsdelivr\":\"dist/axios.min.js\",\"unpkg\":\"dist/axios.min.js\",\"typings\":\"./index.d.ts\",\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}]}");
module.exports = JSON.parse("{\"name\":\"axios\",\"version\":\"0.21.4\",\"description\":\"Promise based HTTP client for the browser and node.js\",\"main\":\"index.js\",\"scripts\":{\"test\":\"grunt test\",\"start\":\"node ./sandbox/server.js\",\"build\":\"NODE_ENV=production grunt build\",\"preversion\":\"npm test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\"postversion\":\"git push && git push --tags\",\"examples\":\"node ./examples/server.js\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"fix\":\"eslint --fix lib/**/*.js\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/axios/axios.git\"},\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"author\":\"Matt Zabriskie\",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"homepage\":\"https://axios-http.com\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"jsdelivr\":\"dist/axios.min.js\",\"unpkg\":\"dist/axios.min.js\",\"typings\":\"./index.d.ts\",\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}],\"_resolved\":\"https://registry.npmjs.org/axios/-/axios-0.21.4.tgz\",\"_integrity\":\"sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\",\"_from\":\"axios@0.21.4\"}");

/***/ }),

Expand Down
18 changes: 4 additions & 14 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,22 +70,18 @@ async function main(): Promise<void> {
core.setSecret(webhook_url)
// Auth github with octokit module
const octokit = getOctokit(github_token)

const run_id = core.getInput('workflow_run')
? Number(context.payload.workflow_run.id)
: Number(context.runId)
// Fetch workflow run data
const {data: workflow_run} = await octokit.actions.getWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id
run_id: context.runId
})

// Fetch workflow job information
const {data: jobs_response} = await octokit.actions.listJobsForWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id
run_id: context.runId
})

const completed_jobs = jobs_response.jobs.filter(
Expand Down Expand Up @@ -159,16 +155,10 @@ async function main(): Promise<void> {
const repo_url = `<${workflow_run.repository.html_url}|*${workflow_run.repository.full_name}*>`
const branch_url = `<${workflow_run.repository.html_url}/tree/${workflow_run.head_branch}|*${workflow_run.head_branch}*>`
const workflow_run_url = `<${workflow_run.html_url}|#${workflow_run.run_number}>`
const event_name = core.getInput('workflow_run')
? context.payload.workflow_run.event
: context.eventName
const workflow_name = core.getInput('workflow_run')
? context.payload.workflow_run.name
: context.workflow
// Example: Success: AnthonyKinson's `push` on `master` for pull_request
let status_string = `${workflow_msg} ${context.actor}'s \`${event_name}\` on \`${branch_url}\``
let status_string = `${workflow_msg} ${context.actor}'s \`${context.eventName}\` on \`${branch_url}\``
// Example: Workflow: My Workflow #14 completed in `1m 30s`
const details_string = `Workflow: ${workflow_name} ${workflow_run_url} completed in \`${workflow_duration}\``
const details_string = `Workflow: ${context.workflow} ${workflow_run_url} completed in \`${workflow_duration}\``

// Build Pull Request string if required
const pull_requests = (workflow_run.pull_requests as PullRequest[])
Expand Down

0 comments on commit 374de41

Please sign in to comment.