Skip to content

Commit 7ed8296

Browse files
authored
Merge branch 'main' into benjagm-contributing-exp
2 parents 57d8216 + f7d1ca1 commit 7ed8296

File tree

18 files changed

+703
-33
lines changed

18 files changed

+703
-33
lines changed

.DS_Store

0 Bytes
Binary file not shown.

.github/workflows/ocwm-creator.yml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout Repository
15-
uses: actions/checkout@v2
16-
- name: Set up Node 18
17-
uses: actions/setup-node@v2
15+
uses: actions/checkout@v4
16+
- name: Set up Node 20
17+
uses: actions/setup-node@v4
1818
with:
19-
node-version: '18'
19+
node-version: '20'
2020
- name: Set up Python
21-
uses: actions/setup-python@v2
21+
uses: actions/setup-python@v4
2222
with:
2323
python-version: '3.8'
2424
- name: Generate Issue Title
@@ -40,9 +40,10 @@ jobs:
4040
run: npm install @octokit/core
4141

4242
- name: Update Issue Body
43-
uses: actions/github-script@v6
43+
uses: actions/github-script@v7
4444
env:
4545
MY_TOKEN: ${{ secrets.AUTH_TOKEN }}
46+
SLACK_WEBHOOK: ${{ vars.SLACK_WEBHOOK }}
4647
with:
4748
script: |
4849
@@ -67,3 +68,21 @@ jobs:
6768
milestone: null,
6869
state: 'open',
6970
})
71+
72+
const newTitle = ocwmissue.title;
73+
const issueDate = newTitle.replace(/Open Community Working Meeting /g, "");
74+
75+
// Notify Slack
76+
const SLACK_WEBHOOK_URL = process.env.SLACK_WEBHOOK;
77+
const SLACK_MESSAGE = `{
78+
"issue": "https://github.com/${context.repo.owner}/${context.repo.repo}/issues/${ocwmnumber}",
79+
"date": "${issueDate}"
80+
}`;
81+
82+
await fetch(SLACK_WEBHOOK_URL, {
83+
method: 'POST',
84+
headers: {
85+
'Content-Type': 'application/json',
86+
},
87+
body: SLACK_MESSAGE,
88+
});

.github/workflows/ocwm-reminders.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Send reminders to join the OCWM the same day
2+
3+
on:
4+
schedule:
5+
- cron: '0 15 * * 1' # Runs every Monday at 15:00
6+
7+
repository_dispatch:
8+
types: ocwm-reminders
9+
10+
jobs:
11+
ocwm-reminders:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout Repository
15+
uses: actions/checkout@v4
16+
- name: Set up Node 20
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: '20'
20+
21+
- name: Install dependencies
22+
run: npm install @octokit/core
23+
24+
- name: Send reminders
25+
uses: actions/github-script@v7
26+
env:
27+
MY_TOKEN: ${{ secrets.AUTH_TOKEN }}
28+
OWNER: ${{ vars.ORGANISATION }}
29+
REPO: 'community'
30+
OCWM_LABEL: ${{ vars.OCWM_LABEL }}
31+
SLACK_WEBHOOK: ${{ vars.SLACK_WEBHOOK_REMINDER }}
32+
with:
33+
script: |
34+
35+
const octokit = require('@octokit/core').Octokit;
36+
const mygithub = new octokit({
37+
request: { fetch: fetch,},
38+
auth: process.env.MY_TOKEN
39+
});
40+
41+
let targetLabel = encodeURIComponent(process.env.OCWM_LABEL);
42+
43+
const { data: workMeetings } = await mygithub.request(`GET /repos/${process.env.OWNER}/${process.env.REPO}/issues?labels=${targetLabel}&per_page=1`, {
44+
})
45+
46+
const issueNumber = workMeetings[0].number
47+
const newTitle = workMeetings[0].title;
48+
const issueDate = newTitle.replace(/Open Community Working Meeting /g, "");
49+
50+
// Notify Slack
51+
const SLACK_WEBHOOK_URL = process.env.SLACK_WEBHOOK;
52+
const SLACK_MESSAGE = `{
53+
"issue": "https://github.com/${process.env.OWNER}/${process.env.REPO}/issues/${issueNumber}",
54+
"date": "${issueDate}"
55+
}`;
56+
57+
await fetch(SLACK_WEBHOOK_URL, {
58+
method: 'POST',
59+
headers: {
60+
'Content-Type': 'application/json',
61+
},
62+
body: SLACK_MESSAGE,
63+
});

ADOPTERS.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,8 @@ By supporting JSON Schema with a case study, you are documenting its success and
5252
| Zones | [Chuck Reeves](https://www.linkedin.com/in/charles-reeves-156953284/) | [Zones - JSON Schema in production episode](https://youtu.be/fkziMQD7pqQ) |
5353
| [Automatic Data Processing (ADP)](https://www.adp.com/) | [Jeremy Fiel](mailto:[email protected]?subject=I%20love%20JSON%20Schema%20too!) | [ADP Developer Resources](https://developers.adp.com/welcome) |
5454
| [Manfred](https://www.getmanfred.com/) | [David Bonilla](https://www.linkedin.com/in/dbonillaf/) | [The MAC is a standard open source format created by Manfred to define and share CVs](https://github.com/getmanfred/mac) |
55-
| [Cyclops](https://cyclops-ui.com/) | [Petar Cvitanović](https://www.linkedin.com/in/petar-cvit/) | [Cyclops is a powerful user interface for managing and interacting with Kubernetes clusters](https://cyclops-ui.com/blog/2023/11/13/JSON-schemas) |
55+
| [Cyclops](https://cyclops-ui.com/) | [Petar Cvitanović](https://www.linkedin.com/in/petar-cvit/) | [Cyclops is a powerful user interface for managing and interacting with Kubernetes clusters](https://cyclops-ui.com/blog/2023/11/13/JSON-schemas) |
56+
| [KrakenD](https://www.krakend.io/) | [Albert Lombarte](https://www.linkedin.com/in/alombarte/) | [KrakenD is a high-performance API Gateway offering JSON Schema validation in requests, responses, config validation, and documentation](https://www.krakend.io/blog/json-schema-use-case/) |
57+
| [HAPI Specification](https://hapi-server.org/) | [Jeremy Faden](https://cottagesystems.com/) | [Server responses can be verified against a schema, accelerating development of correct servers](https://github.com/hapi-server/data-specification-schema) |
58+
| [Waylit](https://www.waylit.com/) | [Satya Mishra](https://www.linkedin.com/in/satyamishra/) | [WayLit helps customers and their employees by making immigration a bit easier. Waylit uses JSON Schema to generate nice-looking adaptive forms and validate all the collected data](https://www.waylit.com/post/more-than-1000-form-fields-and-growing-how-waylit-uses-json-schema) |
59+
| [Invopop](https://www.invopop.com/) | [Sam Lown](https://www.linkedin.com/in/samlown/) | [Invopop helps global companies comply with local tax reporting requirements. Invopop uses JSON Schema at the core of their GOBL SDK to build, share, and convert invoices globally](https://docs.gobl.org/introduction) |

0 commit comments

Comments
 (0)