Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
035c421
build(deps): bump @slack/web-api from 7.8.0 to 7.9.1 (#419)
dependabot[bot] Mar 26, 2025
2bbdda4
build(deps-dev): bump @types/node from 22.13.7 to 22.13.13 (#417)
dependabot[bot] Mar 26, 2025
e7edf37
build(deps-dev): bump sinon from 19.0.2 to 20.0.0 (#418)
dependabot[bot] Mar 26, 2025
79ad3a9
build(deps-dev): bump @types/node from 22.13.13 to 22.13.14 (#421)
dependabot[bot] Apr 1, 2025
18d0229
docs: organize documentation as markdown files to match web pages (#422)
slackapi[bot] Apr 3, 2025
9e9c4b1
docs: shortens readme due to new tools site docs (#424)
lukegalbraithrussell Apr 3, 2025
d947f9a
ci: synchronize documentation pages on the tools.slack.dev site after…
lukegalbraithrussell Apr 3, 2025
d07fadf
docs: pulls out variables into separate page (#425)
lukegalbraithrussell Apr 3, 2025
7cbfbe9
docs: update links to go to new api docs site (#428)
slackapi[bot] Apr 10, 2025
aef4dbb
docs: update casing of Github to GitHub (#430)
slackapi[bot] Apr 17, 2025
f473c97
build(deps-dev): bump @types/node from 22.13.14 to 22.15.3 (#433)
dependabot[bot] May 1, 2025
c34c4e8
build(deps-dev): bump typescript from 5.8.2 to 5.8.3 (#434)
dependabot[bot] May 1, 2025
9472fc6
build(deps): bump axios from 1.8.4 to 1.9.0 (#435)
dependabot[bot] May 1, 2025
54c2553
build(deps): bump actions/create-github-app-token from 1 to 2 (#436)
dependabot[bot] May 1, 2025
4fc20be
build(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2 (#437)
dependabot[bot] May 1, 2025
c7dafcf
fix: require a custom 'api' url to send to instead of absolute urls a…
zimeg May 6, 2025
ab965e5
fix: include cause of parsing errors in action output logs (#431)
zimeg May 6, 2025
47b1876
chore(release): tag version 2.1.0 (#438)
zimeg May 6, 2025
abe8518
build(deps): bump undici from 5.28.5 to 5.29.0 (#442)
dependabot[bot] May 15, 2025
ab28db9
ci: pin action hashes and escape variables with minimum permission (#…
zimeg May 17, 2025
f234e85
build(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3 (#443)
dependabot[bot] May 17, 2025
a16c1c3
docs: fix channel mention formatting (#447)
mwbrooks May 26, 2025
2ea4169
build(deps-dev): bump mocha from 11.1.0 to 11.5.0 (#450)
dependabot[bot] Jun 2, 2025
b8ee725
build(deps): bump @actions/github from 6.0.0 to 6.0.1 (#451)
dependabot[bot] Jun 2, 2025
1069110
build(deps-dev): bump @types/node from 22.15.3 to 22.15.29 (#452)
dependabot[bot] Jun 2, 2025
6e4ac77
build(deps): bump @slack/web-api from 7.9.1 to 7.9.2 (#453)
dependabot[bot] Jun 2, 2025
a3c435b
fix: parse provided payloads before replacing templated variables (#449)
zimeg Jun 10, 2025
82b86fb
build: create separate release branches for tagged releases on publis…
zimeg Jun 13, 2025
b6c49e4
docs: remove links to pages that are no longer referenced in markdown…
zimeg Jun 18, 2025
d5b7e5f
build(deps): bump @slack/web-api from 7.9.2 to 7.9.3 (#462)
dependabot[bot] Jun 19, 2025
1d0943c
build(deps): bump axios from 1.9.0 to 1.10.0 (#465)
dependabot[bot] Jun 19, 2025
c69deab
build(deps-dev): bump @types/node from 22.15.29 to 24.0.3 (#466)
dependabot[bot] Jun 19, 2025
a7f5b68
build: clone repository "docs" and configuration when syncing project…
lukegalbraithrussell Jun 25, 2025
d7b6150
build(deps-dev): bump mocha from 11.5.0 to 11.7.1 (#468)
dependabot[bot] Jul 1, 2025
75b7822
build(deps-dev): bump mocha-suppress-logs from 0.5.1 to 0.6.0 (#469)
dependabot[bot] Jul 1, 2025
e6fa633
build(deps-dev): bump sinon from 20.0.0 to 21.0.0 (#471)
dependabot[bot] Jul 1, 2025
f647c89
build(deps-dev): bump @types/node from 24.0.3 to 24.0.8 (#472)
dependabot[bot] Jul 1, 2025
d3dc61e
build(deps-dev): bump @biomejs/biome from 1.9.4 to 2.0.6 (#470)
dependabot[bot] Jul 2, 2025
b6f4640
chore(release): tag version 2.1.1 (#474)
zimeg Jul 9, 2025
b4ca8e7
chore: update steps taken to release a new latest tag and version (#439)
zimeg Jul 10, 2025
5138660
build(deps): bump form-data from 4.0.0 to 4.0.4 (#477)
dependabot[bot] Jul 22, 2025
82af96e
build(deps): bump axios from 1.10.0 to 1.11.0 (#478)
dependabot[bot] Jul 23, 2025
71c5cf4
build(deps-dev): bump @biomejs/biome from 2.0.6 to 2.1.3 (#482)
dependabot[bot] Aug 1, 2025
b734dbb
build(deps-dev): bump typescript from 5.8.3 to 5.9.2 (#481)
dependabot[bot] Aug 1, 2025
749d8a6
build(deps-dev): bump @types/node from 24.0.8 to 24.1.0 (#483)
dependabot[bot] Aug 1, 2025
a560f02
docs: updates links to point to `docs.slack.dev/tools*` paths (#485)
lukegalbraithrussell Aug 7, 2025
f8c2b64
build(deps): bump axios from 1.11.0 to 1.12.2 (#493)
dependabot[bot] Oct 1, 2025
daf3fa4
build(deps): bump actions/setup-node from 4.4.0 to 5.0.0 (#494)
dependabot[bot] Oct 1, 2025
e2e9063
build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (#495)
dependabot[bot] Oct 1, 2025
b83c176
build(deps): bump codecov/codecov-action from 5.4.3 to 5.5.1 (#496)
dependabot[bot] Oct 1, 2025
cf0e38c
build(deps): bump @slack/web-api from 7.9.3 to 7.10.0 (#497)
dependabot[bot] Oct 1, 2025
ad69f40
build(deps-dev): bump @biomejs/biome from 2.1.3 to 2.2.4 (#499)
dependabot[bot] Oct 1, 2025
bbe641b
build(deps-dev): bump mocha from 11.7.1 to 11.7.3 (#500)
dependabot[bot] Oct 1, 2025
a51955a
build(deps-dev): bump @types/node from 24.1.0 to 24.6.1 (#498)
dependabot[bot] Oct 1, 2025
a540467
build(deps-dev): bump typescript from 5.9.2 to 5.9.3 (#501)
dependabot[bot] Oct 1, 2025
e298ba2
build(deps): bump actions/setup-node from 5.0.0 to 6.0.0 (#503)
dependabot[bot] Nov 3, 2025
16dd454
build(deps-dev): bump @types/node from 24.6.1 to 24.9.2 (#504)
dependabot[bot] Nov 3, 2025
fc333cb
build(deps-dev): bump mocha from 11.7.3 to 11.7.4 (#505)
dependabot[bot] Nov 3, 2025
8e38857
build(deps): bump @slack/web-api from 7.10.0 to 7.12.0 (#506)
dependabot[bot] Nov 3, 2025
1da3770
build(deps-dev): bump @biomejs/biome from 2.2.4 to 2.3.2 (#507)
dependabot[bot] Nov 3, 2025
b96580f
build(deps-dev): bump chai from 5.1.2 to 6.2.0 (#508)
dependabot[bot] Nov 3, 2025
4fc7218
chore: Add .github/CODEOWNERS file (#509)
mwbrooks Nov 14, 2025
9696238
build(deps): bump js-yaml from 4.1.0 to 4.1.1 (#510)
dependabot[bot] Nov 17, 2025
26d9f0a
build(deps): bump glob from 10.4.5 to 10.5.0 (#512)
dependabot[bot] Nov 19, 2025
81ba0fd
build(deps): bump @slack/web-api from 7.12.0 to 7.13.0 (#514)
dependabot[bot] Dec 1, 2025
2b7ed7d
build(deps): bump axios from 1.12.2 to 1.13.2 (#515)
dependabot[bot] Dec 1, 2025
f4bb1a8
build(deps-dev): bump @types/sinon from 17.0.4 to 21.0.0 (#516)
dependabot[bot] Dec 1, 2025
c0b3219
build(deps-dev): bump @biomejs/biome from 2.3.3 to 2.3.8 (#518)
dependabot[bot] Dec 1, 2025
575fc98
build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (#519)
dependabot[bot] Dec 1, 2025
5ae53f9
build(deps-dev): bump @types/node from 24.10.0 to 24.10.1 (#517)
dependabot[bot] Dec 1, 2025
b48c87d
docs: fix typos and misspellings in descriptions (#530)
szepeviktor Jan 8, 2026
56653df
build(deps): bump actions/checkout from 6.0.0 to 6.0.1 (#522)
dependabot[bot] Jan 8, 2026
99314bb
build(deps): bump actions/setup-node from 6.0.0 to 6.1.0 (#523)
dependabot[bot] Jan 8, 2026
2c4a825
build(deps-dev): bump sinon from 21.0.0 to 21.0.1 (#524)
dependabot[bot] Jan 8, 2026
25214a4
build(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 (#525)
dependabot[bot] Jan 8, 2026
0d573f7
build(deps): bump @actions/core from 1.11.1 to 2.0.1 (#526)
dependabot[bot] Jan 8, 2026
a398587
build(deps-dev): bump @biomejs/biome from 2.3.8 to 2.3.10 (#527)
dependabot[bot] Jan 8, 2026
3493f18
build(deps-dev): bump @vercel/ncc from 0.38.3 to 0.38.4 (#528)
dependabot[bot] Jan 8, 2026
5fa0df4
build: match the node types package and node version (#531)
zimeg Jan 12, 2026
3c6b0f8
build(deps-dev): bump @biomejs/biome from 2.3.10 to 2.3.11 (#534)
dependabot[bot] Jan 12, 2026
746fcbf
build(deps-dev): bump @types/node from 20.19.27 to 20.19.28 (#535)
dependabot[bot] Jan 12, 2026
9072060
build(deps): bump @actions/github from 6.0.1 to 7.0.0 (#537)
dependabot[bot] Jan 12, 2026
78efa1c
docs: redirect links to the current developer documentation pages (#532)
zimeg Jan 12, 2026
a47c150
test: use node test runner to assert expected cases (#538)
zimeg Jan 24, 2026
68e4523
test: switch junit test reporter for lcov results to upload (#539)
zimeg Jan 24, 2026
2c6a83c
build(deps): bump actions/checkout from 6.0.1 to 6.0.2 (#540)
dependabot[bot] Feb 2, 2026
512c82d
build(deps): bump actions/setup-node from 6.1.0 to 6.2.0 (#541)
dependabot[bot] Feb 2, 2026
243c5a2
build(deps): bump axios from 1.13.2 to 1.13.4 (#543)
dependabot[bot] Feb 2, 2026
a26fa87
build(deps-dev): bump @biomejs/biome from 2.3.11 to 2.3.13 (#545)
dependabot[bot] Feb 2, 2026
62b67a3
build(deps-dev): bump @types/node from 20.19.28 to 20.19.30 (#546)
dependabot[bot] Feb 2, 2026
3345d5a
ci(deps): auto-approve / auto-merge dependencies from dependabot (#548)
mwbrooks Feb 4, 2026
951edf9
build: update @actions dependencies to versions with esm support (#547)
zimeg Feb 4, 2026
3e1da4d
build(deps): bump axios from 1.13.4 to 1.13.5 (#558)
dependabot[bot] Feb 11, 2026
79c7509
ci: run tests without permission checks for origin pull requests (#553)
zimeg Feb 12, 2026
bb7fade
docs: move pull request requirements instructions into a comment (#551)
zimeg Feb 12, 2026
3ffcfc3
build: ignore dist when linting and formating (#550)
zimeg Feb 28, 2026
bce508b
build(deps-dev): bump @biomejs/biome from 2.3.13 to 2.4.4 (#563)
dependabot[bot] Mar 1, 2026
08dcfa9
build(deps): bump @slack/web-api from 7.13.0 to 7.14.1 (#564)
dependabot[bot] Mar 1, 2026
1629881
build(deps-dev): bump @types/node from 20.19.30 to 20.19.35 (#562)
dependabot[bot] Mar 1, 2026
3a8b606
build(deps): bump axios from 1.13.5 to 1.13.6 (#565)
dependabot[bot] Mar 1, 2026
8dfc370
build!: update node runtime to version 24 (#567)
desrosj Mar 12, 2026
47ed77f
build(deps-dev): bump @biomejs/biome from 2.4.4 to 2.4.6 (#570)
dependabot[bot] Mar 12, 2026
bd9e2ce
build(deps): bump actions/setup-node from 6.2.0 to 6.3.0 (#569)
dependabot[bot] Mar 12, 2026
4795f96
build(deps-dev): bump sinon from 21.0.1 to 21.0.2 (#571)
dependabot[bot] Mar 12, 2026
0aed2c2
build(deps): bump https-proxy-agent from 7.0.6 to 8.0.0 (#572)
dependabot[bot] Mar 12, 2026
e45cb89
feat: support slack cli commands with composite action inputs (#560)
zimeg Mar 12, 2026
90b7328
build(deps): bump @slack/logger from 4.0.0 to 4.0.1 (#573)
dependabot[bot] Mar 13, 2026
963b979
build(deps): bump @slack/web-api from 7.14.1 to 7.15.0 (#574)
dependabot[bot] Mar 13, 2026
c5d43da
chore(release): tag version 3.0.0 (#575)
zimeg Mar 13, 2026
2bc9e7a
chore: use a unique title for marketplace (#576)
zimeg Mar 13, 2026
add1a00
chore(release): tag version 3.0.1 (#577)
zimeg Mar 13, 2026
fd99891
build(deps): bump undici from 6.23.0 to 6.24.0 (#578)
dependabot[bot] Mar 14, 2026
1d14808
build(deps-dev): bump sinon from 21.0.2 to 21.0.3 (#583)
dependabot[bot] Apr 1, 2026
a8dafde
build(deps): bump axios from 1.13.6 to 1.14.0 (#585)
dependabot[bot] Apr 1, 2026
965e61a
build(deps-dev): bump @biomejs/biome from 2.4.6 to 2.4.10 (#586)
dependabot[bot] Apr 1, 2026
3bf860a
build(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 (#582)
dependabot[bot] Apr 1, 2026
4414b7f
build(deps): bump codecov/codecov-action from 5.5.2 to 6.0.0 (#581)
dependabot[bot] Apr 1, 2026
79529d7
build(deps): bump axios from 1.14.0 to 1.15.0 (#588)
dependabot[bot] Apr 12, 2026
1f09fc7
build(deps-dev): bump typescript from 5.9.3 to 6.0.2 (#584)
dependabot[bot] Apr 14, 2026
093434f
build(deps): bump follow-redirects from 1.15.11 to 1.16.0 (#589)
dependabot[bot] Apr 14, 2026
7ce931d
docs: streamlines doc structure (#590)
lukegalbraithrussell Apr 17, 2026
dd817b0
docs: update broken hyperlinks to docs (#591)
Apr 22, 2026
0b9c067
build: automate release packaging and version bumps with changesets (…
zimeg Apr 23, 2026
b0fbce7
ci: send release announcements on publish (#594)
zimeg Apr 23, 2026
90fee45
chore: release (#593)
github-actions[bot] Apr 23, 2026
9e0edd2
build(deps): bump dependabot/fetch-metadata from 3.0.0 to 3.1.0 (#595)
dependabot[bot] Apr 23, 2026
4f1351d
build(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (#597)
dependabot[bot] Apr 23, 2026
91d55b3
docs(maintainers): note marketplace share requirement after publish (…
zimeg Apr 23, 2026
feba1e2
ci: skip publish step if no release is needed (#599)
zimeg Apr 27, 2026
26856cc
build(deps): bump slackapi/slack-github-action from 3.0.1 to 3.0.2 (#…
dependabot[bot] Apr 28, 2026
53fdcff
build(deps): bump @actions/core from 3.0.0 to 3.0.1 (#602)
dependabot[bot] May 1, 2026
900cd3e
build(deps-dev): bump @types/node from 24.12.0 to 24.12.2 (#603)
dependabot[bot] May 1, 2026
0325526
build(deps-dev): bump @biomejs/biome from 2.4.10 to 2.4.13 (#601)
dependabot[bot] May 1, 2026
c5e7059
build(deps): bump @slack/web-api from 7.15.0 to 7.15.1 (#604)
dependabot[bot] May 1, 2026
0fe0f90
build(deps): bump @actions/github from 9.0.0 to 9.1.1 (#605)
dependabot[bot] May 1, 2026
66834e4
feat: add instrumentation to address error rates (#600)
zimeg May 1, 2026
1c0bcf0
chore: release (#606)
github-actions[bot] May 1, 2026
dfb9281
build(deps): bump axios from 1.15.0 to 1.16.0 (#608)
dependabot[bot] May 8, 2026
3d1eba9
build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1 (#611)
dependabot[bot] Jun 1, 2026
c992db0
build(deps): bump slackapi/slack-github-action from 3.0.2 to 3.0.3 (#…
dependabot[bot] Jun 1, 2026
d774aad
build(deps-dev): bump @biomejs/biome from 2.4.13 to 2.4.16 (#617)
dependabot[bot] Jun 1, 2026
afef5b7
build(deps-dev): bump @types/node from 24.12.2 to 24.12.4 (#618)
dependabot[bot] Jun 1, 2026
0f5f208
build(deps): bump js-yaml from 4.1.1 to 4.2.0 (#615)
dependabot[bot] Jun 1, 2026
34580ac
build(deps): bump @slack/web-api from 7.15.1 to 7.16.0 (#614)
dependabot[bot] Jun 1, 2026
6d14fdd
build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0…
dependabot[bot] Jun 1, 2026
a4cfc41
docs: note requirement of checkout to upload existing files (#607)
zimeg Jun 1, 2026
29e6550
build(deps): bump changesets/action from 1.7.0 to 1.8.0 (#613)
dependabot[bot] Jun 1, 2026
9a2e0ee
build(deps): bump https-proxy-agent from 8.0.0 to 9.0.0 (#616)
dependabot[bot] Jun 1, 2026
e76e931
build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#624)
dependabot[bot] Jun 17, 2026
bf46fbd
build(deps): bump form-data from 4.0.5 to 4.0.6 (#626)
dependabot[bot] Jun 17, 2026
603a948
build(deps): bump changesets/action from 1.8.0 to 1.9.0 (#623)
dependabot[bot] Jun 17, 2026
1c7290c
build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 (#625)
dependabot[bot] Jun 17, 2026
d4d0c17
chore: open changeset release pull requests as draft (#622)
zimeg Jun 19, 2026
977625e
build(deps): bump undici from 6.24.0 to 6.27.0 (#627)
dependabot[bot] Jun 19, 2026
c47a194
chore: block @dependabot updates to @types/node@26 (#628)
zimeg Jun 26, 2026
10c95c6
build(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#629)
dependabot[bot] Jun 26, 2026
a2a5362
build(deps-dev): bump typescript from 6.0.2 to 6.0.3 (#631)
dependabot[bot] Jul 1, 2026
c61fe04
build(deps-dev): bump @biomejs/biome from 2.4.16 to 2.5.1 (#632)
dependabot[bot] Jul 1, 2026
84efc65
build(deps-dev): bump @types/node from 24.12.4 to 24.13.2 (#633)
dependabot[bot] Jul 1, 2026
2a27647
build(deps): bump axios from 1.16.0 to 1.18.1 (#634)
dependabot[bot] Jul 1, 2026
0539f0d
build(deps): bump js-yaml from 4.2.0 to 5.2.0 (#635)
dependabot[bot] Jul 9, 2026
fa03fe4
refactor: send webhooks with the @slack/webhook package (#630)
zimeg Jul 10, 2026
e1f137c
chore: release (#636)
github-actions[bot] Jul 10, 2026
96fddbe
fix: revert multiline yaml parsing indentation change (#638)
zimeg Jul 11, 2026
be88bdd
chore: release (#639)
github-actions[bot] Jul 11, 2026
2c7d194
build(deps): bump @slack/web-api from 7.16.0 to 7.19.0 (#641)
dependabot[bot] Jul 13, 2026
a1ea33c
build(deps): bump https-proxy-agent from 9.0.0 to 9.1.0 (#644)
dependabot[bot] Jul 13, 2026
3e5afd8
build(deps-dev): bump @biomejs/biome from 2.5.2 to 2.5.3 (#643)
dependabot[bot] Jul 13, 2026
edf2895
build(deps-dev): bump @vercel/ncc from 0.38.4 to 0.44.1 (#642)
dependabot[bot] Jul 13, 2026
654bb72
chore: provide proxied configurations in update to "@slack/web-api@v8…
zimeg Jul 15, 2026
3548c3e
build(deps): bump slackapi/slack-github-action from 3.0.3 to 3.0.5 (#…
dependabot[bot] Jul 15, 2026
5092efb
build(deps-dev): bump @biomejs/biome from 2.5.3 to 2.5.4 (#650)
dependabot[bot] Jul 15, 2026
26a5ad3
build(deps): bump actions/setup-node from 6.4.0 to 7.0.0 (#647)
dependabot[bot] Jul 15, 2026
3ca6997
build(deps-dev): bump sinon and @types/sinon (#649)
dependabot[bot] Jul 15, 2026
31d473e
build(deps-dev): bump typescript from 6.0.3 to 7.0.2 (#651)
dependabot[bot] Jul 15, 2026
03922a9
chore: track undici-types to the resolved undici version (#652)
zimeg Jul 15, 2026
947ed06
build(deps): bump undici from 7.28.0 to 8.7.0 (#653)
dependabot[bot] Jul 15, 2026
b1974f0
build!: parse yaml with more strict multiline indentation rules (#640)
dependabot[bot] Jul 15, 2026
53861e0
chore: release (#645)
github-actions[bot] Jul 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .c8rc.json

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changesets

This directory contains [**Changesets**](https://github.com/changesets/changesets) which are markdown files that describe package changes for the next release.

For guidance on when and how to add changesets, checkout the [Maintainer's Guide](../.github/maintainers_guide.md#changesets).
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Salesforce Open Source project configuration
# Learn more: https://github.com/salesforce/oss-template
#ECCN:Open Source
#GUSINFO:Open Source,Open Source Workflow

# @slackapi/slack-github-action
# are code reviewers for all changes in this repo.
* @slackapi/slack-github-action

# @slackapi/developer-education
# are code reviewers for changes in the `/docs` directory.
/docs/ @slackapi/developer-education
18 changes: 11 additions & 7 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: 'monthly'

- package-ecosystem: 'github-actions'
directory: '/'
interval: "monthly"
ignore:
- dependency-name: "@types/node"
versions:
- "25.x"
- "26.x"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: 'monthly'
interval: "monthly"
132 changes: 95 additions & 37 deletions .github/maintainers_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,88 @@ Information on setting up and configuring mocked events can be found in [`.githu

### Testing

When testing locally, ensure at least linting and unit tests pass by running `npm test`.
Additionally, sending a PR is highly recommended with every change as there are several GitHub
Actions jobs that execute what are effectively integration tests for this GitHub Action.

#### Checks on PRs

Actions that run the integration tests on PRs from a fork will require approval before running.
These checks use stored secrets so the changes should be reviewed before approving the workflow to
avoid accidently leaking tokens!

### Releasing

* Check the status of this project's GitHub Milestone to be released for issues that should be shipped with the release.
- If all issues have been closed, continue with the release.
- If issues are still open, discuss with the team about whether the open issues should be moved to a future release or if the release should be held off until the issues are resolved.
- Take a look at all issues under the Milestone to make sure that the type of issues included aligns with the Milestone name based on [semantic versioning](https://semver.org/). If the issues do not align with the naming of the Milestone (ex: if the issues are all bug fixes, but the Milestone is labeled as a minor release), then you can tweak the Milestone name to reflect the correct versioning.
* Update the version in `package.json`.
* Update all references to versions in the README and in the workflow files under `example-workflows/` to refer to the latest release.
* Run all tests using `npm test` to make sure the tests pass.
* Commit the changes on your `main` branch.
* Create a git tag for the new version. Should be in the format `v1.4.0`. `git tag v1.4.0`.
* Push changes up to GitHub `git push origin main --tags`.
* Create a GitHub Release based on the tag you just pushed up - this will trigger the publishing
GitHub workflow.
* Once released, make sure to close the relevant GitHub Milestone for the version you released.
Expected behaviors are confirmed with both unit tests and integration tests. Our unit tests run fast without secrets, while integration tests use webhooks and tokens for sending data to Slack across various techniques.

#### Unit tests

Run the following scripts to confirm tests pass before opening a PR:

```sh
$ npm test # Unit tests
$ npm run lint # Lint and format
$ npm run check # Typecheck
```

The `test.yml` workflow runs these scripts for pull requests and changes to the `main` branch.

#### Integration tests

The `integration.yml` workflow uses this action in interactions with Slack using secrets saved to the `staging` environment.

A PR from a forked branch will fail this workflow until a maintainer reviews the code and [dispatches](https://github.com/slackapi/slack-github-action/actions/workflows/integration.yml) a test run that points to the most recent commit using the following format:

```
pull/<NUMBER>/head
```

### Documentation

This repo contains two types of docs files:

- markdown files
- sidebar.json

The private repo containing the docs.slack.dev site pulls these in at build time.

Maintainers need to use the `run workflow` button associated with the `deploy` workflow in that private repo to update the docs with changes from here.

#### Markdown Files

The markdown files here are secretly mdx files in disguise.

If you'd like to add images to pages, add the image files to the same folder the md file is in.

We appreciate markdown edits from anyone!!!

#### Sidebar

`_sidebar.json` sets the slack github action docs sidebar

sidebar values take the form of "slack-github-action/path-within-docs/"

or, in other words - full path but remove "docs":
path: slack-github-action/docs/sending-variables.md
value: slack-github-action/sending-variables

for info on syntax see https://docusaurus.io/docs/sidebar

this file is copied into slackapi.github.io/slack-github-action/sidebar.js it is then called in slackapi.github.io/sidebars.js

### Changesets

This project uses [Changesets](https://github.com/changesets/changesets) to track changes and automate releases.

Each changeset describes a change to the package and its [semver](https://semver.org/) impact, and a new changeset should be added when updating the package with some change that affects consumers:

```sh
npm run changeset
```

Updates to documentation, tests, or CI might not require new entries.

When a PR containing changesets is merged to `main`, a different PR is opened or updated using [changesets/action](https://github.com/changesets/action) which consumes the pending changesets, bumps the package version, and updates the `CHANGELOG` in preparation to release.

### Releases

New versions are published when the release PR created from changesets is merged and the publish workflow is approved. Follow these steps to build confidence:

1. **Check GitHub Milestones**: Before merging the release PR please check the relevant [Milestones](https://github.com/slackapi/slack-github-action/milestones). If issues or pull requests are still open either decide to postpone the release or save those changes for a future update.

2. **Review the release PR**: Verify that the version bump matches expectations, `CHANGELOG` entries are clear, and CI checks pass.

3. **Merge and approve**: Merge the release PR, then approve the publish workflow to release the action. Update the [release](https://github.com/slackapi/slack-github-action/releases) to share to the [marketplace](https://github.com/marketplace/actions/the-slack-github-action).

4. **Update Milestones**: Close the relevant [Milestones](https://github.com/slackapi/slack-github-action/milestones) and rename these to match the released version. Open a new Milestone for the next version.

## Workflow

Expand All @@ -60,6 +117,8 @@ As a maintainer, the development you do will be almost entirely off of your fork

`main` is where active development occurs.

`release/vX.Y.Z` has the packaged distribution of a particular version based from the changes on `main`. This is created using a workflow when new releases are published.

When developing, branches should be created off of your fork and not directly off of this repository. If working on a long-running feature and in collaboration with others, a corresponding branch of the same name is permitted. This makes collaboration on a single branch possible, as contributors working on the same feature cannot push commits to others' open Pull Requests.

After a major version increment, there also may be maintenance branches created specifically for supporting older major versions.
Expand All @@ -68,18 +127,17 @@ After a major version increment, there also may be maintenance branches created

Labels are used to run issues through an organized workflow. Here are the basic definitions:

* `bug`: A confirmed bug report. A bug is considered confirmed when reproduction steps have been
documented and the issue has been reproduced.
* `enhancement`: A feature request for something this package might not already do.
* `docs`: An issue that is purely about documentation work.
* `tests`: An issue that is purely about testing work.
* `needs feedback`: An issue that may have claimed to be a bug but was not reproducible, or was otherwise missing some information.
* `discussion`: An issue that is purely meant to hold a discussion. Typically the maintainers are looking for feedback in this issues.
* `question`: An issue that is like a support request because the user's usage was not correct.
* `semver:major|minor|patch`: Metadata about how resolving this issue would affect the version number.
* `security`: An issue that has special consideration for security reasons.
* `good first contribution`: An issue that has a well-defined relatively-small scope, with clear expectations. It helps when the testing approach is also known.
* `duplicate`: An issue that is functionally the same as another issue. Apply this only if you've linked the other issue by number.
- `bug`: A confirmed bug report. A bug is considered confirmed when reproduction steps have been documented and the issue has been reproduced.
- `enhancement`: A feature request for something this package might not already do.
- `docs`: An issue that is purely about documentation work.
- `tests`: An issue that is purely about testing work.
- `needs feedback`: An issue that may have claimed to be a bug but was not reproducible, or was otherwise missing some information.
- `discussion`: An issue that is purely meant to hold a discussion. Typically the maintainers are looking for feedback in this issues.
- `question`: An issue that is like a support request because the user's usage was not correct.
- `semver:major|minor|patch`: Metadata about how resolving this issue would affect the version number.
- `security`: An issue that has special consideration for security reasons.
- `good first contribution`: An issue that has a well-defined relatively-small scope, with clear expectations. It helps when the testing approach is also known.
- `duplicate`: An issue that is functionally the same as another issue. Apply this only if you've linked the other issue by number.

**Triage** is the process of taking new issues that aren't yet "seen" and marking them with a basic
level of information with labels. An issue should have **one** of the following labels applied:
Expand Down
6 changes: 3 additions & 3 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Describe the goal of this PR. Mention any related Issue numbers.

### Requirements (place an `x` in each `[ ]`)
### Requirements <!-- Place an `x` in each `[ ]` -->

* [ ] I've read and understood the [Contributing Guidelines](https://github.com/slackapi/slack-github-action/blob/main/.github/contributing.md) and have done my best effort to follow them.
* [ ] I've read and agree to the [Code of Conduct](https://slackhq.github.io/code-of-conduct).
- [ ] I've read and understood the [Contributing Guidelines](https://github.com/slackapi/slack-github-action/blob/main/.github/contributing.md) and have done my best effort to follow them.
- [ ] I've read and agree to the [Code of Conduct](https://slackhq.github.io/code-of-conduct).
1 change: 1 addition & 0 deletions .github/resources/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
export SLACK_BOT_TOKEN=xoxb-01010101-example
export SLACK_CHANNEL_ID=C0123456789
export SLACK_INCOMING_WEBHOOK=https://hooks.slack.com/services/T0123456789/B0123456789/abcdefghijklmnopqrstuvwxyz
export SLACK_SERVICE_TOKEN=xoxp-01010101-example
export SLACK_WEBHOOK_TRIGGER=https://hooks.slack.com/triggers/T0123456789/00000000000/abcdefghijklmnopqrstuvwxyz
4 changes: 3 additions & 1 deletion .github/resources/.slack/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"experiments": ["bolt"],
"manifest": {
"source": "local"
},
"project_id": "c4805b41-d1ce-4ea0-b297-ed2f8c64c267"
}

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"runtime": "actions",
"hooks": {
"deploy": "open https://api.slack.com/apps || true",
"deploy": "echo https://api.slack.com/apps",
"get-manifest": "cat ./.slack/manifest.json #"
},
"config": {
Expand Down
14 changes: 11 additions & 3 deletions .github/resources/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ experiments with the [Slack CLI][cli].

## Overview

This app showcases all three techniques of sending data into Slack and follows
This app showcases all four techniques of interacting with Slack and follows
patterns found in the integration tests.

- **Technique 1** Slack Workflow Builder: Use a Slack webhook trigger to start a
Expand All @@ -15,13 +15,18 @@ patterns found in the integration tests.
data provided through the GitHub workflow.
- **Technique 3** Incoming webhook: Post a message to a Slack channel using an
incoming webhook.
- **Technique 4** Slack CLI Command: Install and run Slack CLI commands such as
`deploy` or `manifest` using a service token.

Configurations for the Slack app and workflow, and the GitHub Actions workflow
are found in the following files:

- Slack app setup: [`.github/resources/.slack/manifest.json`][slacktion]
- GitHub Actions steps: [`.github/workflows/develop.yml`][develop]

> **Note:** During CLI integration tests, `.github/resources/.slack` is moved to
> `.slack` at the project root so the Slack CLI can discover the app manifest.

Either the techniques or app setup and workflow steps can be adjusted during
testing and development. For experimenting with new changes, we recommend using
the [steps for development](#experimenting-for-development) while the
Expand Down Expand Up @@ -76,6 +81,8 @@ tested. Required values include:
https://hooks.slack.com/services/T0123456789/B0123456789/abcdefghijklmnopqrstuvwxyz
- `SLACK_WEBHOOK_TRIGGER`:
https://hooks.slack.com/triggers/T0123456789/00000000000/abcdefghijklmnopqrstuvwxyz
- `SLACK_SERVICE_TOKEN`: xoxp-service-token-example (secret — for CLI commands)
- `SLACK_APP_ID`: A0123456789 (variable — used with `--app` flag in CLI deploy)

### Experimenting for development

Expand All @@ -98,6 +105,7 @@ export SLACK_BOT_TOKEN=xoxb-01010101-example
export SLACK_CHANNEL_ID=C0123456789
export SLACK_INCOMING_WEBHOOK=https://hooks.slack.com/services/T0123456789/B0123456789/abcdefghijklmnopqrstuvwxyz
export SLACK_WEBHOOK_TRIGGER=https://hooks.slack.com/triggers/T0123456789/00000000000/abcdefghijklmnopqrstuvwxyz
export SLACK_SERVICE_TOKEN=xoxp-service-token-example
```

Environment variables and credentials should be set in the created `.env` file
Expand Down Expand Up @@ -134,8 +142,8 @@ of the `.github/resources/.actions/event.json` file.

Reference: https://docs.github.com/en/webhooks/webhook-events-and-payloads

[cli]: https://api.slack.com/automation/cli/commands
[cli]: https://docs.slack.dev/tools/slack-cli/
[develop]: ../workflows/develop.yml
[manifest]: https://api.slack.com/concepts/manifests
[manifest]: https://docs.slack.dev/app-manifests/
[secrets]: https://github.com/slackapi/slack-github-action/settings/secrets/actions
[slacktion]: ./.slack/manifest.json
29 changes: 29 additions & 0 deletions .github/workflows/dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Merge updates to dependencies
on:
pull_request:
jobs:
dependabot:
name: "@dependabot"
if: github.event.pull_request.user.login == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Collect metadata
id: metadata
uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3.1.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve
if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Automerge
if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor'
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 4 additions & 2 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ on:
jobs:
run:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout action
uses: actions/checkout@v4
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Setup the Node runtime for this project
uses: actions/setup-node@v4
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
cache: npm
cache-dependency-path: package-lock.json
Expand Down
Loading
Loading