From 5f1677d869ed3085cd1c8220e6a31c7917b7fba8 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Fri, 1 Sep 2023 11:04:57 +0200 Subject: [PATCH 01/43] chore(tweet): recurring tweet about discussion tools ideas in our discussions forum (#866) --- tweets/recurring-discuss-ideas/2023-09-01.tweet | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tweets/recurring-discuss-ideas/2023-09-01.tweet diff --git a/tweets/recurring-discuss-ideas/2023-09-01.tweet b/tweets/recurring-discuss-ideas/2023-09-01.tweet new file mode 100644 index 000000000..92b19fefe --- /dev/null +++ b/tweets/recurring-discuss-ideas/2023-09-01.tweet @@ -0,0 +1,5 @@ +Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community? + +Drop it πŸ‘‡ and let us have an open discussion πŸš€ + +https://github.com/asyncapi/community/discussions/categories/ideas \ No newline at end of file From b1fc79b18ae66612da026dc2a8d180d38b473d28 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 2 Sep 2023 12:05:31 +0200 Subject: [PATCH 02/43] chore(tweet): recurring tweet about slack link (#867) --- tweets/recurring-slack-link/2023-09-02.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-09-02.tweet diff --git a/tweets/recurring-slack-link/2023-09-02.tweet b/tweets/recurring-slack-link/2023-09-02.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-09-02.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 9f2e874c1f3fa701418ff3b5053a4ce4e0624514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barbanio=20Gonz=C3=A1lez?= <77982319+Barbanio@users.noreply.github.com> Date: Wed, 6 Sep 2023 12:02:37 +0100 Subject: [PATCH 03/43] chore: add Mete Atamel to Ambassador Program (#871) Co-authored-by: Alejandra Quetzalli %0ACo-authored-by: Lukasz Gornicki --- AMBASSADORS_MEMBERS.json | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/AMBASSADORS_MEMBERS.json b/AMBASSADORS_MEMBERS.json index b4ab927f8..b953354ef 100644 --- a/AMBASSADORS_MEMBERS.json +++ b/AMBASSADORS_MEMBERS.json @@ -330,5 +330,72 @@ "link": "" } ] + }, + { + "name": "Mete Atamel", + "github": "meteatamel", + "twitter": "meteatamel", + "country": "πŸ‡¬πŸ‡§", + "bio": "Mete is a Software Engineer and a Developer Advocate with 18+ years of experience. Currently, he works in the Developer Relations team at Google in London. He builds tools, demos, tutorials, and gives talks to educate and help developers to be successful on Google Cloud. As a regular speaker at tech conferences, he has spoken over 345+ events since 2016 on modern application development topics such as Kubernetes, Istio, Knative, serverless, event-driven architectures, and microservice orchestration. Prior to his current role, he was a Software Engineer/Architect/Tech Lead at Nokia, EMC, Adobe, Skype, and Microsoft building various client and server technologies, resulting in multiple patents.", + "linkedin": "mete-atamel", + "company": "Google", + "title": "Software Engineer and Developer Advocate at Google", + "img": "https://avatars.githubusercontent.com/u/1177542?v=4", + "contributions": [ + { + "type": "article", + "title": "AsyncAPI Basics", + "date": { + "year": 2023, + "month": "May" + }, + "link": "https://medium.com/google-cloud/asyncapi-basics-6e6394c9587" + }, + { + "type": "article", + "title": "AsyncAPI Tools", + "date": { + "year": 2023, + "month": "May" + }, + "link": "https://medium.com/google-cloud/asyncapi-tools-dd59f9236b20" + }, + { + "type": "article", + "title": "Understanding AsyncAPI’s publish & subscribe semantics with an example", + "date": { + "year": 2023, + "month": "May" + }, + "link": "https://medium.com/google-cloud/understanding-asyncapis-publish-subscribe-semantics-with-an-example-cfa1cc3faef5" + }, + { + "type": "article", + "title": "CloudEvents + AsyncAPI", + "date": { + "year": 2023, + "month": "May" + }, + "link": "https://medium.com/google-cloud/cloudevents-asyncapi-fa8ef63f28e0" + }, + { + "type": "article", + "title": "Google Cloud Pub/Sub + AsyncAPI", + "date": { + "year": 2023, + "month": "May" + }, + "link": "https://medium.com/google-cloud/google-cloud-pub-sub-asyncapi-6ea3c1ed3c49" + }, + { + "type": "presentation", + "title": "Open standards for building event-driven applications in the cloud", + "date": { + "year": 2023, + "month": "June" + }, + "link": "https://www.youtube.com/watch?v=6Igp4DhK_hE" + } + ] } ] From 3716cb3d11a3cb206e60d852364f707175a955a1 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 6 Sep 2023 13:49:40 +0200 Subject: [PATCH 04/43] docs: add meteatamel as a contributor for talk, blog, and promotion (#873) --- .all-contributorsrc | 14 ++++++++++++++ README.md | 1 + 2 files changed, 15 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 14e21d56e..d8e7bd969 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -416,6 +416,20 @@ "contributions": [ "code" ] + }, + { + "login": "meteatamel", + "name": "Mete Atamel", + "avatar_url": "https://avatars.githubusercontent.com/u/1177542?v=4", + "profile": "http://atamel.dev", + "contributions": [ + "talk", + "review", + "maintenance", + "ideas", + "blog", + "promotion" + ] } ], "commitConvention": "angular", diff --git a/README.md b/README.md index b605722f5..87a728b75 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d AISHAT MUIBUDEEN
AISHAT MUIBUDEEN

🎨 Richa
Richa

πŸš‡ Prince Rajpoot
Prince Rajpoot

πŸ’» + Mete Atamel
Mete Atamel

πŸ“’ πŸ‘€ 🚧 πŸ€” πŸ“ πŸ“£ From f8f3813098d331663682f7915e778ddccbed4ae0 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 9 Sep 2023 12:05:25 +0200 Subject: [PATCH 05/43] chore(tweet): recurring tweet about slack link (#875) --- tweets/recurring-slack-link/2023-09-09.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-09-09.tweet diff --git a/tweets/recurring-slack-link/2023-09-09.tweet b/tweets/recurring-slack-link/2023-09-09.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-09-09.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 6d49729abd63eeeef49c8b2ec27461772108811c Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Mon, 11 Sep 2023 14:20:52 +0200 Subject: [PATCH 06/43] docs(community): update latest maintainers list (#876) --- MAINTAINERS.yaml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/MAINTAINERS.yaml b/MAINTAINERS.yaml index f2ca9622d..716497a97 100644 --- a/MAINTAINERS.yaml +++ b/MAINTAINERS.yaml @@ -268,15 +268,6 @@ isTscMember: true repos: - jasyncapi-idea-plugin -- name: Pratik Haldankar - github: pratik2315 - slack: U03ADC8FD2S - linkedin: pratik-haldankar-1b237a205 - twitter: PratikHaldankr - availableForHire: true - isTscMember: true - repos: - - generator - name: Richard Coppen github: rcoppen linkedin: richard-coppen From 138f9ceb17f1fc24fb9348a088794cea99564105 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 16 Sep 2023 12:05:46 +0200 Subject: [PATCH 07/43] chore(tweet): recurring tweet about slack link (#880) --- tweets/recurring-slack-link/2023-09-16.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-09-16.tweet diff --git a/tweets/recurring-slack-link/2023-09-16.tweet b/tweets/recurring-slack-link/2023-09-16.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-09-16.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From e18e7eff8770cb255fa2c3bb5d635fc580771792 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 23 Sep 2023 12:05:29 +0200 Subject: [PATCH 08/43] chore(tweet): recurring tweet about slack link (#881) --- tweets/recurring-slack-link/2023-09-23.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-09-23.tweet diff --git a/tweets/recurring-slack-link/2023-09-23.tweet b/tweets/recurring-slack-link/2023-09-23.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-09-23.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 5df2c2657d53b7374e3208a56b11a62eb72500bc Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Mon, 25 Sep 2023 18:00:35 +0200 Subject: [PATCH 09/43] ci: fix meetings scheduling broken by zoom auth changes (#882) --- .../create-event-helpers/package-lock.json | 160 ------------------ .../create-event-helpers/package.json | 1 - .../create-event-helpers/zoom/index.js | 24 ++- 3 files changed, 17 insertions(+), 168 deletions(-) diff --git a/.github/workflows/create-event-helpers/package-lock.json b/.github/workflows/create-event-helpers/package-lock.json index 8685660ca..c95e41a69 100644 --- a/.github/workflows/create-event-helpers/package-lock.json +++ b/.github/workflows/create-event-helpers/package-lock.json @@ -10,7 +10,6 @@ "@actions/core": "^1.6.0", "@mailchimp/mailchimp_marketing": "^3.0.74", "googleapis": "^99.0.0", - "jsonwebtoken": "^8.5.1", "node-fetch": "2.6.1" } }, @@ -452,81 +451,6 @@ "bignumber.js": "^9.0.0" } }, - "node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -662,14 +586,6 @@ } ] }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -1098,77 +1014,6 @@ "bignumber.js": "^9.0.0" } }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -1259,11 +1104,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", diff --git a/.github/workflows/create-event-helpers/package.json b/.github/workflows/create-event-helpers/package.json index c7bef2fbf..5b48b79ee 100644 --- a/.github/workflows/create-event-helpers/package.json +++ b/.github/workflows/create-event-helpers/package.json @@ -6,7 +6,6 @@ "@actions/core": "^1.6.0", "@mailchimp/mailchimp_marketing": "^3.0.74", "googleapis": "^99.0.0", - "jsonwebtoken": "^8.5.1", "node-fetch": "2.6.1" } } diff --git a/.github/workflows/create-event-helpers/zoom/index.js b/.github/workflows/create-event-helpers/zoom/index.js index 0d9c87830..3bb48a356 100644 --- a/.github/workflows/create-event-helpers/zoom/index.js +++ b/.github/workflows/create-event-helpers/zoom/index.js @@ -1,5 +1,5 @@ const fetch = require('node-fetch'); -const jwt = require('jsonwebtoken'); +const { URLSearchParams } = require('url'); const core = require('@actions/core'); /** @@ -11,15 +11,25 @@ const core = require('@actions/core'); module.exports = async(date, time, host, cohost) => { const meetingTitle = process.env.MEETING_NAME; - let meetingDetails; + let meetingDetails, token; - const tokenConfig = { - iss: process.env.ZOOM_API_KEY, - exp: ((new Date()).getTime() + 5000) + //getting request token + try { + const params = new URLSearchParams(); + params.append('grant_type', 'account_credentials'); + params.append('account_id', process.env.ZOOM_ACCOUNT_ID); + const tokenCreationResponse = await fetch('https://zoom.us/oauth/token', { + method: 'POST', + body: params, + headers: { + Authorization: `Basic ${ process.env.ZOOM_TOKEN }` + }, + }); + token = (await tokenCreationResponse.json()).access_token; + } catch (error) { + return core.setFailed(`Failed getting token: ${ error }`) } - const token = jwt.sign(tokenConfig, process.env.ZOOM_API_SECRET); - const zoomSettings = JSON.stringify({ topic: meetingTitle, type: '2', From f4fc539770d2717d37c965240b8985e4432339a6 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Tue, 26 Sep 2023 16:37:05 +0200 Subject: [PATCH 10/43] ci: add debug info to meetings workflows (#883) --- .github/workflows/create-event-helpers/zoom/index.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-event-helpers/zoom/index.js b/.github/workflows/create-event-helpers/zoom/index.js index 3bb48a356..b4e757e9e 100644 --- a/.github/workflows/create-event-helpers/zoom/index.js +++ b/.github/workflows/create-event-helpers/zoom/index.js @@ -67,8 +67,11 @@ module.exports = async(date, time, host, cohost) => { return core.setFailed(`Meeting creation failed: ${ error }`) } - //core.debug(JSON.stringify(meetingDetails)); const meetingId = meetingDetails.id; + if (!meetingId) { + core.info(JSON.stringify(meetingDetails, null, 4)); + return core.setFailed('meetingId is not available which means something went wrong in communication with Zoom'); + } const meetingUrl = meetingDetails.join_url; const streamOptions = JSON.stringify({ @@ -94,7 +97,6 @@ module.exports = async(date, time, host, cohost) => { return core.setFailed(`Meeting update with streaming info failed: ${ error }`) } - if (!meetingId) return core.setFailed('meetingId is not available which means something went wrong in communication with Zoom. Most probably the host that you defined is not yet part of related Zoom account'); core.info(`Created meeting ${ meetingId } that you can join at ${ meetingUrl }`); core.setOutput('meetingUrl', meetingUrl); -} \ No newline at end of file +} From 235d616ff3d1638f596d152febd3b8afe8b83dc7 Mon Sep 17 00:00:00 2001 From: Lukasz Gornicki Date: Tue, 26 Sep 2023 16:46:41 +0200 Subject: [PATCH 11/43] ci: update meetings workflows with new variables (#884) --- .github/workflows/create-event-ad-hoc.yml | 4 ++-- .github/workflows/create-event-community-meeting.yml | 4 ++-- .github/workflows/create-event-lets-talk-about.yml | 4 ++-- .github/workflows/create-event-spec-3-0.yml | 4 ++-- .github/workflows/create-event-spec-3-docs.yml | 4 ++-- .github/workflows/create-event-thinking-out-loud.yml | 4 ++-- .github/workflows/create-event-workflow-reusable.yml | 8 ++++---- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/create-event-ad-hoc.yml b/.github/workflows/create-event-ad-hoc.yml index 26517f86c..8a5a0d1b4 100644 --- a/.github/workflows/create-event-ad-hoc.yml +++ b/.github/workflows/create-event-ad-hoc.yml @@ -35,8 +35,8 @@ jobs: create_zoom: true secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }} - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} diff --git a/.github/workflows/create-event-community-meeting.yml b/.github/workflows/create-event-community-meeting.yml index 035734a12..f37e3044b 100644 --- a/.github/workflows/create-event-community-meeting.yml +++ b/.github/workflows/create-event-community-meeting.yml @@ -28,8 +28,8 @@ jobs: create_zoom: true secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }} - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} diff --git a/.github/workflows/create-event-lets-talk-about.yml b/.github/workflows/create-event-lets-talk-about.yml index c82b58375..2942ee8ba 100644 --- a/.github/workflows/create-event-lets-talk-about.yml +++ b/.github/workflows/create-event-lets-talk-about.yml @@ -32,8 +32,8 @@ jobs: create_zoom: false secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }} - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} diff --git a/.github/workflows/create-event-spec-3-0.yml b/.github/workflows/create-event-spec-3-0.yml index 28427d84f..92da486f6 100644 --- a/.github/workflows/create-event-spec-3-0.yml +++ b/.github/workflows/create-event-spec-3-0.yml @@ -29,8 +29,8 @@ jobs: create_zoom: true secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }} - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} diff --git a/.github/workflows/create-event-spec-3-docs.yml b/.github/workflows/create-event-spec-3-docs.yml index 9c831832e..4d2bda5b8 100644 --- a/.github/workflows/create-event-spec-3-docs.yml +++ b/.github/workflows/create-event-spec-3-docs.yml @@ -28,8 +28,8 @@ jobs: create_zoom: true secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }} - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} diff --git a/.github/workflows/create-event-thinking-out-loud.yml b/.github/workflows/create-event-thinking-out-loud.yml index 80018c1fe..656c33760 100644 --- a/.github/workflows/create-event-thinking-out-loud.yml +++ b/.github/workflows/create-event-thinking-out-loud.yml @@ -34,8 +34,8 @@ jobs: create_zoom: true secrets: GH_TOKEN: ${{ secrets.GH_TOKEN }} - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} diff --git a/.github/workflows/create-event-workflow-reusable.yml b/.github/workflows/create-event-workflow-reusable.yml index 5d7fd7d54..388b7ed24 100644 --- a/.github/workflows/create-event-workflow-reusable.yml +++ b/.github/workflows/create-event-workflow-reusable.yml @@ -50,9 +50,9 @@ on: secrets: GH_TOKEN: required: true - ZOOM_API_KEY: + ZOOM_ACCOUNT_ID: required: true - ZOOM_API_SECRET: + ZOOM_TOKEN: required: true STREAM_URL: required: true @@ -74,8 +74,8 @@ on: jobs: setup-meeting: env: - ZOOM_API_KEY: ${{ secrets.ZOOM_API_KEY }} - ZOOM_API_SECRET: ${{ secrets.ZOOM_API_SECRET }} + ZOOM_ACCOUNT_ID: ${{ secrets.ZOOM_ACCOUNT_ID }} + ZOOM_TOKEN: ${{ secrets.ZOOM_TOKEN }} STREAM_URL: ${{ secrets.STREAM_URL }} STREAM_KEY: ${{ secrets.STREAM_KEY }} CALENDAR_ID: ${{ secrets.CALENDAR_ID }} From 8e357cd577704c7c2d89d24fb39209546b2e582e Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 30 Sep 2023 12:05:24 +0200 Subject: [PATCH 12/43] chore(tweet): recurring tweet about slack link (#891) --- tweets/recurring-slack-link/2023-09-30.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-09-30.tweet diff --git a/tweets/recurring-slack-link/2023-09-30.tweet b/tweets/recurring-slack-link/2023-09-30.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-09-30.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 6e8e91168fb43b23e8ab0662299430ccefc94db4 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sun, 1 Oct 2023 11:04:34 +0200 Subject: [PATCH 13/43] chore(tweet): recurring tweet about discussion tools ideas in our discussions forum (#896) --- tweets/recurring-discuss-ideas/2023-10-01.tweet | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tweets/recurring-discuss-ideas/2023-10-01.tweet diff --git a/tweets/recurring-discuss-ideas/2023-10-01.tweet b/tweets/recurring-discuss-ideas/2023-10-01.tweet new file mode 100644 index 000000000..92b19fefe --- /dev/null +++ b/tweets/recurring-discuss-ideas/2023-10-01.tweet @@ -0,0 +1,5 @@ +Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community? + +Drop it πŸ‘‡ and let us have an open discussion πŸš€ + +https://github.com/asyncapi/community/discussions/categories/ideas \ No newline at end of file From e6d045f6fccff742216374793777c8d06c2caf33 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 7 Oct 2023 12:05:26 +0200 Subject: [PATCH 14/43] chore(tweet): recurring tweet about slack link (#904) --- tweets/recurring-slack-link/2023-10-07.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-10-07.tweet diff --git a/tweets/recurring-slack-link/2023-10-07.tweet b/tweets/recurring-slack-link/2023-10-07.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-10-07.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From ca3f8ef6cc4a7f65d6233abaed3d2f9870ec2dab Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 14 Oct 2023 12:05:21 +0200 Subject: [PATCH 15/43] chore(tweet): recurring tweet about slack link (#911) --- tweets/recurring-slack-link/2023-10-14.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-10-14.tweet diff --git a/tweets/recurring-slack-link/2023-10-14.tweet b/tweets/recurring-slack-link/2023-10-14.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-10-14.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From eeb1e89470823bf2944ad519d8db9431a614139e Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 21 Oct 2023 12:05:12 +0200 Subject: [PATCH 16/43] chore(tweet): recurring tweet about slack link (#915) --- tweets/recurring-slack-link/2023-10-21.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-10-21.tweet diff --git a/tweets/recurring-slack-link/2023-10-21.tweet b/tweets/recurring-slack-link/2023-10-21.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-10-21.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From af0be2a687c0a692a3083b4bb300da87b0dd893e Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 28 Oct 2023 12:05:21 +0200 Subject: [PATCH 17/43] chore(tweet): recurring tweet about slack link (#925) --- tweets/recurring-slack-link/2023-10-28.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-10-28.tweet diff --git a/tweets/recurring-slack-link/2023-10-28.tweet b/tweets/recurring-slack-link/2023-10-28.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-10-28.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From c16cc8ea6e41edf3c28c9c35fd9df61b28eb0ccc Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Wed, 1 Nov 2023 10:04:50 +0100 Subject: [PATCH 18/43] chore(tweet): recurring tweet about discussion tools ideas in our discussions forum (#926) --- tweets/recurring-discuss-ideas/2023-11-01.tweet | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tweets/recurring-discuss-ideas/2023-11-01.tweet diff --git a/tweets/recurring-discuss-ideas/2023-11-01.tweet b/tweets/recurring-discuss-ideas/2023-11-01.tweet new file mode 100644 index 000000000..92b19fefe --- /dev/null +++ b/tweets/recurring-discuss-ideas/2023-11-01.tweet @@ -0,0 +1,5 @@ +Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community? + +Drop it πŸ‘‡ and let us have an open discussion πŸš€ + +https://github.com/asyncapi/community/discussions/categories/ideas \ No newline at end of file From 2b444dbc7b81140430baaa48ce96dfaf4d8d5a68 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 4 Nov 2023 11:05:38 +0100 Subject: [PATCH 19/43] chore(tweet): recurring tweet about slack link (#929) --- tweets/recurring-slack-link/2023-11-04.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-11-04.tweet diff --git a/tweets/recurring-slack-link/2023-11-04.tweet b/tweets/recurring-slack-link/2023-11-04.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-11-04.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 018fb6e9eab6dfbfa8aa1513f376e4295c6352b5 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 11 Nov 2023 11:05:30 +0100 Subject: [PATCH 20/43] chore(tweet): recurring tweet about slack link (#945) --- tweets/recurring-slack-link/2023-11-11.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-11-11.tweet diff --git a/tweets/recurring-slack-link/2023-11-11.tweet b/tweets/recurring-slack-link/2023-11-11.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-11-11.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 3562cd6c75b6b786d51c8eca57cbe330f2d8dcb1 Mon Sep 17 00:00:00 2001 From: Animesh Kumar Date: Mon, 13 Nov 2023 20:05:05 +0530 Subject: [PATCH 21/43] feat: youtube to anchor workflow (#805) Co-authored-by: V Thulisile Sibanda <66913810+thulieblack@users.noreply.github.com>%0ACo-authored-by: Lukasz Gornicki --- .../youtube-to-spotify-for-podcasters.yml | 36 ++++++ MEETINGS_ORGANIZATION.md | 109 ++++++++++++++---- 2 files changed, 125 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/youtube-to-spotify-for-podcasters.yml diff --git a/.github/workflows/youtube-to-spotify-for-podcasters.yml b/.github/workflows/youtube-to-spotify-for-podcasters.yml new file mode 100644 index 000000000..685042da9 --- /dev/null +++ b/.github/workflows/youtube-to-spotify-for-podcasters.yml @@ -0,0 +1,36 @@ +name: 'Upload Episode from YouTube To Spotify for Podcasters' + +on: + workflow_dispatch: + inputs: + video_id: + description: 'Enter YouTube video ID to upload on Spotify for Podcasters.' + required: true + +jobs: + upload_episode: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Create episode.json file + run: | + # Get the video ID from the workflow_dispatch input. + video_id="${{ github.event.inputs.video_id }}" + + # Create episode.json content with the video ID + json_content="{\"id\": \"${video_id}\"}" + + # Write the content to episode.json in the workspace directory + echo "${json_content}" > episode.json + + # Verify the content was written successfully + cat episode.json + - name: Upload Episode from YouTube To Anchor.Fm + uses: Schrodinger-Hat/youtube-to-anchorfm@99a4a5409262b356a1bb54e6756d230ee97d3407 #commit related to https://github.com/Schrodinger-Hat/youtube-to-anchorfm/commit/99a4a5409262b356a1bb54e6756d230ee97d3407 || The latest commit which is of Oct 22, 2023 + env: + ANCHOR_EMAIL: ${{ secrets.ANCHOR_EMAIL }} + ANCHOR_PASSWORD: ${{ secrets.ANCHOR_PASSWORD }} + EPISODE_PATH: /github/workspace + URL_IN_DESCRIPTION: true + LOAD_THUMBNAIL: true + POSTPROCESSOR_ARGS: 'ffmpeg:-ac 1' diff --git a/MEETINGS_ORGANIZATION.md b/MEETINGS_ORGANIZATION.md index 7960b8842..6ad1e9a6f 100644 --- a/MEETINGS_ORGANIZATION.md +++ b/MEETINGS_ORGANIZATION.md @@ -1,15 +1,15 @@ -This document covers the aspect of different meetings organization at AsyncAPI. +This document covers the aspects of different meeting organizations at AsyncAPI. ## FAQ ### What do I need to schedule a meeting? To schedule a meeting, you need to be: -- one of the licensed Zoom users associated with the AsyncAPI Zoom account. It is required because only licensed users can start meeting, live transcripts, and streaming. +- one of the licensed Zoom users associated with the AsyncAPI Zoom account. It is required because only licensed users can start meetings, live transcripts, and streaming. - GitHub Action workflow for `Ad Hoc` meeting scheduling should be updated. Newly licensed users should be added as alternative hosts. -- a member of [GitHub team called meetings-organizars](https://github.com/orgs/asyncapi/teams/meetings-organizers). It is required because only maintainers of the given repository can manually trigger GitHub Actions workflows. This group has a `Maintain` role in the `community` repository where meeting automation is implemented. -- a member of a team in the AsyncAPI Restream account. It is required because hosts must log in to Restream before they start streaming the meeting from Zoom and modify the stream's title that will show up on social platforms. -- a member of the AsyncAPI YouTube account. It is required because after the meeting is over, hosts need to add live their stream recording to the proper YouTube Playlist to improve recording discoverability. +- a member of [GitHub team called meetings-organizers](https://github.com/orgs/asyncapi/teams/meetings-organizers). This is required because only repository maintainers can manually trigger GitHub Actions workflows. This group has a `Maintain` role in the `community` repository where meeting automation is implemented. +- a member of a team in the AsyncAPI Restream account. It is required because hosts must log in to Restream before streaming the meeting from Zoom and modify the stream's title that will appear on social platforms. +- a member of the AsyncAPI YouTube account. It is required because hosts need to add live stream recordings to the proper YouTube Playlist after the meeting is over to improve recording discoverability. ### What meetings do we have? @@ -25,16 +25,16 @@ To schedule a meeting, you need to be: We have an automated workflow in place: 1. Automation starts after clicking **Run workflow**. (Unless there is another GitHub Actions outage and proper events are not delivered to automation :smiley: ) -1. It creates a new meeting in Zoom. It is by default configured to support live streaming +1. It creates a new meeting in Zoom. It is, by default, configured to support live streaming 1. It creates a GitHub issue with all details about the meeting 1. It creates a new Google Calendar entry with special metadata containing the GitHub issue number 1. It sends a tweet with information about a newly scheduled event ### What are my responsibilities as meeting host? -Technically there are two types of meetings: -- Zoom-first: Meeting takes place on Zoom and through integration with Restream.io it is streamed to different channels. These meetings happen on Zoom to enable as many people as possible to join live conversation. -- Restream-first: Meeting takes place on Restream and is is streamed to different channels. These meetings are focused on showing or explaining some topic without live audio conversation with the audience. +Technically, there are two types of meetings: +- Zoom-first: The meeting takes place on Zoom and is streamed to different channels through integration with Restream.io. The goal is to enable as many people as possible to join the live conversation. +- Restream-first: The meeting takes place on Restream and is streamed to different channels. These meetings are focused on showing or explaining some topic without a live audio conversation with the audience. #### Zoom-first @@ -53,7 +53,7 @@ This is what you need to do to kick it off: 1. Provide title and description: - Title for the live stream that corresponds with the meeting you just started, - - Meeting description must be provided even if the field is empty, otherwise the old one from other streams will be used. + - Meeting description must be provided even if the field is empty; otherwise, the old one from other streams will be used. @@ -75,15 +75,15 @@ This is what you need to do to kick it off: #### Restream-first -You need to first start with YouTube, even though Restream can directly stream there. It is because by +You must start with YouTube first, even though Restream can directly stream there. It is because by This is what you need to do to kick it off: -1. In [YouTube](https://youtube.com) click on your profile picture and select `Switch account`: +1. In [YouTube](https://youtube.com), click on your profile picture and select `Switch account`: -1. Select `AsyncAPI`. If you do not see it on the list, means you did not have all access rights needed to setup a live stream: +1. Select `AsyncAPI`. If you do not see it on the list, it means you did not have all the access rights needed to set up a live stream: @@ -91,7 +91,7 @@ This is what you need to do to kick it off: -1. Once new live stream is created, in the list of `Upcomming` streams, click `View in Live Control Room` icon next to your live stream: +1. Once a new live stream is created, in the list of `Upcoming` streams, click `View in Live Control Room` icon next to your live stream: @@ -103,7 +103,7 @@ This is what you need to do to kick it off: -1. After enabling audio, video and providing name, you will see a Restream Studio. +1. After enabling the audio, video and providing the name, you will see a Restream Studio. 1. `Edit` the title and description of the stream: @@ -112,7 +112,7 @@ This is what you need to do to kick it off: 1. Provide title and description and click `Next`: - Title for the live stream that corresponds with the meeting you just started, - - Meeting description must be provided even if the field is empty, otherwise the old one from other streams will be used. + - Meeting description must be provided even if the field is empty; otherwise, the old one from other streams will be used. @@ -120,7 +120,7 @@ This is what you need to do to kick it off: -1. Make sure you do not create new event but you select the one you already created on YouTube, with closed captions on: +1. Make sure you do not create a new event, but select the one you already created on YouTube, with closed captions on: @@ -140,7 +140,7 @@ Subscribe to the [AsyncAPI Newsletter](https://asyncapi.com/newsletter) to get i We have an automated workflow in place: 1. Automation starts every Friday at midnight 1. It gets information from Google Calendar about all the meetings scheduled for the upcoming week -1. It schedules a MailChimp campaign to send emails with a list of meetings. It's sent on Friday at 11AM in the subscriber's time zone +1. It schedules a MailChimp campaign to send emails with a list of meetings. It's sent on Friday at 11 AM in the subscriber's time zone ### Where can I find the AsyncAPI calendar? @@ -156,7 +156,7 @@ We have an automated workflow in place: 1. It checks if a closed issue represents a future event 1. It removes meetings from the AsyncAPI Google Calendar -### How do I register a new regular meeting? +### How do I register for a new regular meeting? Start [discussion in community repository](https://github.com/asyncapi/community/discussions). Explain the idea and justify why it requires a separate meeting. We currently have [approval from the Technical Steering Commitee](https://github.com/asyncapi/community/discussions/295) to pay for up to 8 Zoom licenses. @@ -165,4 +165,73 @@ Once a new meeting is approved, add a [new workflow like this one](.github/workf ### How can I become a host? -Once your `Regular` meeting gets approved, contact `Fran Mendez` so that he can give you access to all required tools. +Once your `Regular` meeting gets approved, contact `Fran Mendez` so he can give you access to all required tools. + + + +## How do I publish broadcasted meetings as podcasts? + +### Why do we need this feature? + +- Some people prefer to listen to the video/livestream as an audio (podcast) instead of watching the video. + +- The goal is to upload our AsyncAPI video/live streams on `Spotify For Podcasters` platform, ultimately allowing the listener to play the episodes on Spotify. Almost every YouTube video can be converted into a podcast. + + +### Who can upload the videos? + +- The workflow can only be triggered by a person with write access to the `master` branch of the `asyncapi/community` repository. + +### What is needed? + +- The YouTube video ID is needed to trigger the workflow. + +### What is YouTube video ID? + +- A YouTube video ID is a unique combination of characters that identifies a specific video on the YouTube platform. It's used in the URL of the video to direct users to the exact video they want to watch. The video ID is typically a sequence of letters, numbers, and special characters that generally comes after the "v=" parameter in the URL. +- [More examples](#list-of-different-types-of-youtube-links) of video ID are given below: ⬇️ + +#### How to find YouTube ID? + +Let's take this video link, for example: https://www.youtube.com/watch?v=3rg_7hIb9PQ. + +Here the video ID is the word/entity after `https://www.youtube.com/watch?v=`, i.e., `3rg_7hIb9PQ` + + +### List of different types of YouTube links + +- `https://www.youtube.com/watch?v=VIDEO_ID` + - Here, it can be https://www.youtube.com/watch?v=3rg_7hIb9PQ +- `https://youtu.be/VIDEO_ID` + - Here, it can be https://www.youtu.be/3rg_7hIb9PQ +- `https://www.youtube.com/embed/VIDEO_ID` + - Here, it can be https://www.youtube.com/embed/3rg_7hIb9PQ +- `https://www.youtube.com/playlist?list=PLAYLIST_ID` + - Here, it can be https://www.youtube.com/playlist?list=PLbi1gRlP7piiaD67o1F4EOPoZztg2r8l6 +- `https://www.youtube.com/shorts/VIDEO_ID` + - Here, it can be https://www.youtube.com/shorts/3rg_7hIb9PQ +- `https://www.youtube.com/watch?v=VIDEO_ID&list=PLAYLIST_ID` + - Here, it can be https://www.youtube.com/watch?v=deLUAobdVpw&list=PLbi1gRlP7piiaD67o1F4EOPoZztg2r8l6 +- `https://youtube.com/shorts/VIDEO_ID?feature=share` + - Here, it can be https://youtube.com/shorts/U5jUr8XAF_M?feature=share + + +### Step-by-step procedure + +Here is an example with a procedure on how to use this workflow: + +1. Go to the `Actions` section on GitHub. +2. Scroll down the menu on the left-hand side. +3. Click on the `Upload Episode from YouTube To Spotify for Podcasters` option. +4. Click on the `Run Workflow` button. +5. Provide the YouTube ID in the box. +6. Click on `Run workflow` button. +7. Wait for the workflow to finish. (Depending on video size, it may take some time to upload, so please have patience. Thank you.) . +8. A few moments later....Hurray! Your episode is now uploaded successfully! + +You can also modify description and other information for uploaded podcast directly in Spotify: + +1. Go to https://podcasters.spotify.com/. +2. Login using AsyncAPI account. +2. Go to `Episodes` section. There, you will see your latest upload. +3. Perform edits and save them. From 881a232e6c700a5d64c08b65db86e99ce3b9e416 Mon Sep 17 00:00:00 2001 From: Animesh Kumar Date: Wed, 15 Nov 2023 14:26:21 +0530 Subject: [PATCH 22/43] chore: update podcasts workflow to use latest dependency (#952) --- .github/workflows/youtube-to-spotify-for-podcasters.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/youtube-to-spotify-for-podcasters.yml b/.github/workflows/youtube-to-spotify-for-podcasters.yml index 685042da9..bd91f7b56 100644 --- a/.github/workflows/youtube-to-spotify-for-podcasters.yml +++ b/.github/workflows/youtube-to-spotify-for-podcasters.yml @@ -26,7 +26,7 @@ jobs: # Verify the content was written successfully cat episode.json - name: Upload Episode from YouTube To Anchor.Fm - uses: Schrodinger-Hat/youtube-to-anchorfm@99a4a5409262b356a1bb54e6756d230ee97d3407 #commit related to https://github.com/Schrodinger-Hat/youtube-to-anchorfm/commit/99a4a5409262b356a1bb54e6756d230ee97d3407 || The latest commit which is of Oct 22, 2023 + uses: Schrodinger-Hat/youtube-to-anchorfm@c722f3edeee94f3173dad36c5a959247973c5253 #commit related to https://github.com/Schrodinger-Hat/youtube-to-anchorfm/commit/c722f3edeee94f3173dad36c5a959247973c5253 || The latest commit which is of Nov 14, 2023 env: ANCHOR_EMAIL: ${{ secrets.ANCHOR_EMAIL }} ANCHOR_PASSWORD: ${{ secrets.ANCHOR_PASSWORD }} From 6506fcc0db35c482db53636056715e9d2b70cbda Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Wed, 15 Nov 2023 16:50:56 +0100 Subject: [PATCH 23/43] ci: update of files from global .github repo (#954) --- .github/workflows/automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 9253675cd..116b80652 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -45,7 +45,7 @@ jobs: env: GITHUB_TOKEN: "${{ secrets.GH_TOKEN }}" GITHUB_LOGIN: asyncapi-bot - MERGE_LABELS: "" + MERGE_LABELS: "!do-not-merge" MERGE_METHOD: "squash" MERGE_COMMIT_MESSAGE: "{pullRequest.title} (#{pullRequest.number})" MERGE_RETRIES: "20" From 0c30031c6085c4aa91c8dfab5884bae1c4ddf397 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 18 Nov 2023 11:05:12 +0100 Subject: [PATCH 24/43] chore(tweet): recurring tweet about slack link (#958) --- tweets/recurring-slack-link/2023-11-18.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-11-18.tweet diff --git a/tweets/recurring-slack-link/2023-11-18.tweet b/tweets/recurring-slack-link/2023-11-18.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-11-18.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 467f63c51651730ac80c2c60fc03dfb6242c61f0 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 25 Nov 2023 11:05:18 +0100 Subject: [PATCH 25/43] chore(tweet): recurring tweet about slack link (#966) --- tweets/recurring-slack-link/2023-11-25.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-11-25.tweet diff --git a/tweets/recurring-slack-link/2023-11-25.tweet b/tweets/recurring-slack-link/2023-11-25.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-11-25.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 1285279765068dd03ffba1ca3f78c4116c11e5c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20M=C3=A9ndez?= Date: Tue, 28 Nov 2023 02:05:13 +0100 Subject: [PATCH 26/43] chore: remove me as maintainer (#853) Co-authored-by: Alejandra Quetzalli --- CODEOWNERS | 2 +- Emeritus.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index ddfd73356..02923fd32 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -5,7 +5,7 @@ # For more details, read the following article on GitHub: https://help.github.com/articles/about-codeowners/. # The default owners are automatically added as reviewers when you open a pull request unless different owners are specified in the file. -* @fmvilas @alequetzalli @derberg @asyncapi-bot-eve @thulieblack +* @alequetzalli @derberg @asyncapi-bot-eve @thulieblack # All ambassadors related files AMBASSADOR* @Barbanio diff --git a/Emeritus.yaml b/Emeritus.yaml index 5d706296d..100800335 100644 --- a/Emeritus.yaml +++ b/Emeritus.yaml @@ -2,4 +2,4 @@ emeritus: - jotamusik - LouisXhaferi - - aeworxet \ No newline at end of file + - aeworxet From 0ed6afdea7720e209ef8942a932cb5033b60c315 Mon Sep 17 00:00:00 2001 From: Prince Rajpoot <44585452+princerajpoot20@users.noreply.github.com> Date: Thu, 30 Nov 2023 19:41:36 +0530 Subject: [PATCH 27/43] chore(tsc): add Prince Rajpoot as new TSC member (#971) --- MAINTAINERS.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MAINTAINERS.yaml b/MAINTAINERS.yaml index 716497a97..56355e505 100644 --- a/MAINTAINERS.yaml +++ b/MAINTAINERS.yaml @@ -268,6 +268,15 @@ isTscMember: true repos: - jasyncapi-idea-plugin +- name: Prince Rajpoot + github: princerajpoot20 + linkedin: princerajpoot + slack: U04STTQHV18 + twitter: iamPrince_2003 + availableForHire: true + isTscMember: true + repos: + - studio - name: Richard Coppen github: rcoppen linkedin: richard-coppen From abc6065ff6ba9d47872736b468847121c636453e Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Fri, 1 Dec 2023 10:04:51 +0100 Subject: [PATCH 28/43] chore(tweet): recurring tweet about discussion tools ideas in our discussions forum (#972) --- tweets/recurring-discuss-ideas/2023-12-01.tweet | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tweets/recurring-discuss-ideas/2023-12-01.tweet diff --git a/tweets/recurring-discuss-ideas/2023-12-01.tweet b/tweets/recurring-discuss-ideas/2023-12-01.tweet new file mode 100644 index 000000000..92b19fefe --- /dev/null +++ b/tweets/recurring-discuss-ideas/2023-12-01.tweet @@ -0,0 +1,5 @@ +Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community? + +Drop it πŸ‘‡ and let us have an open discussion πŸš€ + +https://github.com/asyncapi/community/discussions/categories/ideas \ No newline at end of file From 1547693655158a043b361ab90f5f46782c32b792 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 2 Dec 2023 11:05:15 +0100 Subject: [PATCH 29/43] chore(tweet): recurring tweet about slack link (#976) --- tweets/recurring-slack-link/2023-12-02.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-12-02.tweet diff --git a/tweets/recurring-slack-link/2023-12-02.tweet b/tweets/recurring-slack-link/2023-12-02.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-12-02.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 1eef456ebe214171c0405d59e2273d4fc8573711 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 9 Dec 2023 11:05:20 +0100 Subject: [PATCH 30/43] chore(tweet): recurring tweet about slack link (#986) --- tweets/recurring-slack-link/2023-12-09.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-12-09.tweet diff --git a/tweets/recurring-slack-link/2023-12-09.tweet b/tweets/recurring-slack-link/2023-12-09.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-12-09.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 73024435b91b7965b1f3ac8753f00c2983722ff7 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 16 Dec 2023 11:05:23 +0100 Subject: [PATCH 31/43] chore(tweet): recurring tweet about slack link (#992) --- tweets/recurring-slack-link/2023-12-16.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-12-16.tweet diff --git a/tweets/recurring-slack-link/2023-12-16.tweet b/tweets/recurring-slack-link/2023-12-16.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-12-16.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 7ac3df7e45c7d0c1184b0f6f522ffe115983640f Mon Sep 17 00:00:00 2001 From: Akshit Gupta Date: Tue, 19 Dec 2023 22:41:21 +0530 Subject: [PATCH 32/43] docs: add new category section in tools documentation (#987) --- new-tool-documentation.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/new-tool-documentation.md b/new-tool-documentation.md index cee7bbfa5..b854249dc 100644 --- a/new-tool-documentation.md +++ b/new-tool-documentation.md @@ -3,7 +3,8 @@ title: Add new AsyncAPI tool to website description: Learn how to add your tool to the AsyncAPI website using the .asyncapi-tool file. --- -## Introduction +## Introduction + Learn how to add your tool to the AsyncAPI website using the `.asyncapi-tool` file. Make sure to structure your `.asyncapi-tool` file correctly to render your tool on the AsyncAPI website with customized tags and information for users to filter tools according to different categories. > The entire AsyncAPI Tools list is under the [AsyncAPI Tools Dashboard](https://www.asyncapi.com/tools) page. @@ -12,11 +13,11 @@ Learn how to add your tool to the AsyncAPI website using the `.asyncapi-tool` fi The [`.asyncapi-tool` file](https://github.com/asyncapi/website/blob/master/scripts/tools/tools-schema.json) requires a specific schema to describe the type and details of your AsyncAPI tool; this file automatically adds your tool to our website's [Tools Dashboard](https://www.asyncapi.com/tools) within a week. Every Monday, we run our workflow to add new tools or update existing tools in our website and thus, notifies us regarding the wrong format of the file used somewhere in Github using Slack notifications. You can even ask the maintainers to manually trigger workflow by [Creating a Github issue](https://github.com/asyncapi/website/issues/new/choose) or contact us via [AsyncAPI Slack](https://asyncapi.com/slack-invite). -You must create and maintain your `.asyncapi-tool` file in your tool's repository, as it doesn't require AsyncAPI approval. There is no restriction on the directory in which the file has to be created. In case, you need to create 2 or more `.asyncapi-tool` files in same repository, you can do the same, just make sure you provide correct `repoUrl` for each of them. Same case applies for monorepo as well. +You must create and maintain your `.asyncapi-tool` file in your tool's repository, as it doesn't require AsyncAPI approval. There is no restriction on the directory in which the file has to be created. In case, you need to create 2 or more `.asyncapi-tool` files in same repository, you can do the same, just make sure you provide correct `repoUrl` for each of them. Same case applies for monorepo as well. ## Tool file structure -Let's look at a sample `.asyncapi-tool` file in `JSON` and `YAML` structures. You'll use these file structures to insert your tool into the website's [Tools Dashboard](https://www.asyncapi.com/tools). +Let's look at a sample `.asyncapi-tool` file in `JSON` and `YAML` structures. You'll use these file structures to insert your tool into the website's [Tools Dashboard](https://www.asyncapi.com/tools). ### JSON format file structure @@ -118,3 +119,26 @@ Here's what a sample JSON object for an AsyncAPI tool should look like after it ``` > If your tool's information isn't showing up correctly in this file, please [create a new AsyncAPI GitHub issue](https://github.com/asyncapi/website/issues/new/choose) or contact us via [AsyncAPI Slack](https://asyncapi.com/slack-invite). + +## Adding New Category + +The category list is available in the [`categorylist.js` file](https://github.com/asyncapi/website/blob/master/scripts/tools/categorylist.js) from where you can opt the best category for your tools. Moreoever, if you don't find any, you can send us a request to add a new category that goes best with your requirements. + +You can also create a [Pull Request](https://github.com/asyncapi/website/pulls) by adding a new category object in the `categorylist.js` file providing all the details/information about the new category, as follows: + +```js +{ + name: "Sample category name", + tag: "sample-tag", + description: "Description providing some information about the category and other nitty-gritty things about the category." +} +``` + +Also, add the new category details in the [`tools-manual.json` file](https://github.com/asyncapi/website/blob/master/config/tools-manual.json) with proper json schema, as well. + +```JSON + "Sample category name": { + "description": "Description that provides some information about the category and other nitty-gritty things about the category.", + "toolsList": [] + } +``` From ede01304f870212873cf6f5e3e485ce85575d746 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 18:13:12 +0100 Subject: [PATCH 33/43] docs: add akkshitgupta as a contributor for doc (#995) --- .all-contributorsrc | 9 +++++++++ README.md | 3 +++ 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index d8e7bd969..a7098559e 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -430,6 +430,15 @@ "blog", "promotion" ] + }, + { + "login": "akkshitgupta", + "name": "Akshit Gupta", + "avatar_url": "https://avatars.githubusercontent.com/u/96991785?v=4", + "profile": "https://github.com/akkshitgupta", + "contributions": [ + "doc" + ] } ], "commitConvention": "angular", diff --git a/README.md b/README.md index 87a728b75..2eb2ddcd6 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Prince Rajpoot
Prince Rajpoot

πŸ’» Mete Atamel
Mete Atamel

πŸ“’ πŸ‘€ 🚧 πŸ€” πŸ“ πŸ“£ + + Akshit Gupta
Akshit Gupta

πŸ“– + From dec294725459b552f31f23a9d00d077be50db0cb Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 23 Dec 2023 11:05:27 +0100 Subject: [PATCH 34/43] chore(tweet): recurring tweet about slack link (#998) --- tweets/recurring-slack-link/2023-12-23.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-12-23.tweet diff --git a/tweets/recurring-slack-link/2023-12-23.tweet b/tweets/recurring-slack-link/2023-12-23.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-12-23.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From e05b3f74e241841466badf5a6203ba8499d53ac3 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 30 Dec 2023 11:05:24 +0100 Subject: [PATCH 35/43] chore(tweet): recurring tweet about slack link (#1003) --- tweets/recurring-slack-link/2023-12-30.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2023-12-30.tweet diff --git a/tweets/recurring-slack-link/2023-12-30.tweet b/tweets/recurring-slack-link/2023-12-30.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2023-12-30.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 3ba4f3e6d9abd07348aa27145f857c36a0edac3d Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Mon, 1 Jan 2024 10:04:38 +0100 Subject: [PATCH 36/43] chore(tweet): recurring tweet about discussion tools ideas in our discussions forum (#1006) --- tweets/recurring-discuss-ideas/2024-01-01.tweet | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tweets/recurring-discuss-ideas/2024-01-01.tweet diff --git a/tweets/recurring-discuss-ideas/2024-01-01.tweet b/tweets/recurring-discuss-ideas/2024-01-01.tweet new file mode 100644 index 000000000..92b19fefe --- /dev/null +++ b/tweets/recurring-discuss-ideas/2024-01-01.tweet @@ -0,0 +1,5 @@ +Do you have some nice ideas for #AsyncAPI-related tools? Do you want to validate and share with the AsyncAPI community? + +Drop it πŸ‘‡ and let us have an open discussion πŸš€ + +https://github.com/asyncapi/community/discussions/categories/ideas \ No newline at end of file From d4b77a0bc8c3fdde740996ebcf5cd4d46ba26d2d Mon Sep 17 00:00:00 2001 From: nikhilkalburgi <70331875+nikhilkalburgi@users.noreply.github.com> Date: Wed, 3 Jan 2024 17:54:32 +0530 Subject: [PATCH 37/43] docs: correct git-workflow.md with info about fetching (#1005) Co-authored-by: Lukasz Gornicki --- git-workflow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-workflow.md b/git-workflow.md index ad4856788..86da5f0e0 100644 --- a/git-workflow.md +++ b/git-workflow.md @@ -44,7 +44,7 @@ The result is as follows: ``` git remote add upstream https://github.com/asyncapi/asyncapi.git ``` -3. Run the `git fetch upstream master` command to fetch all branches. +3. Run the `git fetch upstream master` command to fetch all the changes from upstream/master branch. 4. Set up the local `master` branch to track the remote `master` branch from the upstream repository: ``` git branch -u upstream/master master From 44b925d83a450921374e7beb94997c498f4e50ee Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 3 Jan 2024 13:25:49 +0100 Subject: [PATCH 38/43] docs: add nikhilkalburgi as a contributor for doc (#1007) --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index a7098559e..9423d1e4b 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -439,6 +439,15 @@ "contributions": [ "doc" ] + }, + { + "login": "nikhilkalburgi", + "name": "nikhilkalburgi", + "avatar_url": "https://avatars.githubusercontent.com/u/70331875?v=4", + "profile": "https://github.com/nikhilkalburgi", + "contributions": [ + "doc" + ] } ], "commitConvention": "angular", diff --git a/README.md b/README.md index 2eb2ddcd6..c20b9ecb2 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Akshit Gupta
Akshit Gupta

πŸ“– + nikhilkalburgi
nikhilkalburgi

πŸ“– From 8ee99f7b38b4d58e9f598fd76f59a40bb0dc3ce4 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 6 Jan 2024 11:05:30 +0100 Subject: [PATCH 39/43] chore(tweet): recurring tweet about slack link (#1010) --- tweets/recurring-slack-link/2024-01-06.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2024-01-06.tweet diff --git a/tweets/recurring-slack-link/2024-01-06.tweet b/tweets/recurring-slack-link/2024-01-06.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2024-01-06.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 36a6a5b77ea5c99c5a4d2c4a0b49343f92c424c2 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 13 Jan 2024 11:05:27 +0100 Subject: [PATCH 40/43] chore(tweet): recurring tweet about slack link (#1014) --- tweets/recurring-slack-link/2024-01-13.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2024-01-13.tweet diff --git a/tweets/recurring-slack-link/2024-01-13.tweet b/tweets/recurring-slack-link/2024-01-13.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2024-01-13.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file From 31c0066d564a747d8679f0913c3a292b69a56cb8 Mon Sep 17 00:00:00 2001 From: Nathan Barbarick Date: Fri, 19 Jan 2024 15:32:52 -0800 Subject: [PATCH 41/43] docs: add first elements of the onboarding guide. (#960) Co-authored-by: Alejandra Quetzalli %0ACo-authored-by: Alejandra Quetzalli --- docs/onboarding-guide/_section.md | 4 +++ .../docs-onboarding-checklist.md | 22 ++++++++++++ docs/onboarding-guide/index.md | 22 ++++++++++++ .../prerequisite-knowledge.md | 36 +++++++++++++++++++ ...cal-writer-contributor-responsibilities.md | 14 ++++++++ 5 files changed, 98 insertions(+) create mode 100644 docs/onboarding-guide/_section.md create mode 100644 docs/onboarding-guide/docs-onboarding-checklist.md create mode 100644 docs/onboarding-guide/index.md create mode 100644 docs/onboarding-guide/prerequisite-knowledge.md create mode 100644 docs/onboarding-guide/technical-writer-contributor-responsibilities.md diff --git a/docs/onboarding-guide/_section.md b/docs/onboarding-guide/_section.md new file mode 100644 index 000000000..def3abfee --- /dev/null +++ b/docs/onboarding-guide/_section.md @@ -0,0 +1,4 @@ +--- +title: Onboarding guide +weight: 10 +--- \ No newline at end of file diff --git a/docs/onboarding-guide/docs-onboarding-checklist.md b/docs/onboarding-guide/docs-onboarding-checklist.md new file mode 100644 index 000000000..e0a8e9c70 --- /dev/null +++ b/docs/onboarding-guide/docs-onboarding-checklist.md @@ -0,0 +1,22 @@ +--- +title: 'Docs onboarding checklist' +weight: 30 +--- +## AsyncAPI docs onboarding checklist + +As an open-source initiative with a global community, technical writer contributors should learn about our governance documents, documentation processes, and communication channels. + +Complete in order the following onboarding tasks: + +- [ ] Read the [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md). +- [ ] Read the [AsyncAPI Slack etiquette](https://github.com/asyncapi/community/blob/master/slack-etiquette.md). +- [ ] Join [the AsyncAPI Slack workspace](https://asyncapi.com/slack-invite). +- [ ] Add the AsyncAPI calendar found in [the AsyncAPI events page](https://www.asyncapi.com/community/events). +- [ ] Read the list of [technical writer contributor responsibilities](/community/onboarding-guide/technical-writer-contributor-responsibilities.md). +- [ ] Read and familiarize yourself with the [prerequisite knowledge topics](/community/onboarding-guide/prerequisite-knowledge.md). +- [ ] Familiarize yourself with the _work-in-progress_ [AsyncAPI Style Guide](https://github.com/asyncapi/community/pulls?q=is%3Apr+is%3Aopen+style+guide). +- [ ] Read all docs under the following content buckets: `Concepts`, `Tutorials`, `Reference`. (Take the time to go through each tutorial.) +- [ ] Set up your local environment following our instructions for the [AsyncAPI git workflow](https://github.com/asyncapi/community/blob/master/git-workflow.md). +- [ ] Introduce yourself in AsyncAPI Slack in the #01_introductions channel and the #13_docs channel. Ask docs-related questions in #13_docs. +- [ ] [Reach out to Quetzalli in Slack DM](https://asyncapi.slack.com/team/U02AKC14WAJ) to request a good first docs issue. +- [ ] Attend [OPEN docs meetings](https://www.asyncapi.com/community/events) to chat with other maintainers, ask docs questions, and request help on docs blockers. diff --git a/docs/onboarding-guide/index.md b/docs/onboarding-guide/index.md new file mode 100644 index 000000000..06860c37c --- /dev/null +++ b/docs/onboarding-guide/index.md @@ -0,0 +1,22 @@ +--- +title: 'Introduction' +weight: 10 +--- +## Technical writer onboarding guide + +The AsyncAPI technical writer onboarding guide teaches new community members how to contribute to our documentation effectively. + +> For a comprehensive understanding of the various ways you can contribute to the AsyncAPI Initiative, please consult the [AsyncAPI contributing guidelines](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md). + +The goal is providing docs contributors with the necessary tools and knowledge to: + +* Understand our documentation tools, technologies, and processes. +* Comprehend our documentation target audiences. +* Connect with teammates and subject matter experts (SMEs). +* Report documentation bugs via issues. +* Implement and propose updates to our documentation. +* Obtain and incorporate reviewers' feedback. +* Publish changes successfully. + + + diff --git a/docs/onboarding-guide/prerequisite-knowledge.md b/docs/onboarding-guide/prerequisite-knowledge.md new file mode 100644 index 000000000..79ad5b454 --- /dev/null +++ b/docs/onboarding-guide/prerequisite-knowledge.md @@ -0,0 +1,36 @@ +--- +title: 'Prerequisite knowledge' +weight: 40 +--- + +The prerequisite knowledge section highlights the key technologies, concepts, and skills our technical writers need for working with AsyncAPI documentation. You must understand the main concepts behind our documentation processes, content classification, and the AsyncAPI specification. + +## DiΓ‘taxis framework and content buckets +AsyncAPI adopted the [DiΓ‘taxis](https://diataxis.fr/) framework to meet our specific needs, classifying our documentation into content buckets (categories). + +- `Concepts` define the concepts of AsyncAPI features. +- `Tutorials` teach beginner processes with AsyncAPI by doing, taking you step-by-step from Point A to Point B. +- `Tools` documents the AsyncAPI tools ecosystem. +- `Guide` teaches troubleshooting and understanding AsyncAPI's capabilities at a high level. +- `Reference` documents the AsyncAPI specification. +- `Migration` guides how to upgrade to a newer AsyncAPI version. +- `Community` explains our documentation processes, guidelines, and resources to community members. + +## Markdown syntax and `mermaid.js` diagrams +AsyncAPI's docs are written in [Markdown syntax](https://www.markdownguide.org/basic-syntax/). + +Our diagrams are created with [Mermaid markdown syntax](https://mermaid.live/) thanks to the [mermaid.js](https://mermaid.js.org/) dependency. + +## AsyncAPI concepts +Before contributing to the documentation, you should understand [the purpose of AsyncAPI](https://www.asyncapi.com/docs/tutorials/getting-started) and essential [AsyncAPI concepts](https://www.asyncapi.com/docs/concepts) _(i.e., servers, producers, consumers, channels, messages, etc.)_. + +You should also fundamentally understand [the AsyncAPI specification](https://www.asyncapi.com/docs/reference/specification/latest). + +## JSON and YAML +Because an AsyncAPI definition can be written in JSON and YAML, you must learn how to read, write, and validate these formats. + +## Understanding Event-Driven Architecture +[Event-Driven Architecture (EDA)](https://www.asyncapi.com/docs/tutorials/getting-started/event-driven-architectures/) uses events to trigger and communicate between services. (AsyncAPI is an open-source initiative that seeks to improve the current state of EDAs.) + +## Protocols used with AsyncAPI +AsyncAPI supports several protocols, such as Kafka, AMQP, MQTT, and more. You will benefit from acquiring a [basic understanding of protocols most used with AsyncAPI](https://www.asyncapi.com/docs/concepts/protocol), including their use cases and how they work with AsyncAPI. diff --git a/docs/onboarding-guide/technical-writer-contributor-responsibilities.md b/docs/onboarding-guide/technical-writer-contributor-responsibilities.md new file mode 100644 index 000000000..3f80f2bb8 --- /dev/null +++ b/docs/onboarding-guide/technical-writer-contributor-responsibilities.md @@ -0,0 +1,14 @@ +--- +title: 'Technical writer contributor responsibilities' +weight: 20 +--- + +In the AsyncAPI community, technical writers collaborate with other technical writers, Subject Matter Experts (SME), designers, engineers, and core maintainers. + +Technical writer contributor responsibilities include: + +* Create quality, easy-to-use, clear, and accurate documentation for all audience levels. +* Collaborate with other contributors to propose, create, and maintain documentation. +* Support fellow technical writers and community members. +* Engage in documentation review processes and incorporate feedback. +* Join documentation community meetings/streams to connect with the community. From 49693444653b5c0857d32317fc85fe2504c8dc3e Mon Sep 17 00:00:00 2001 From: Mary Gathoni Date: Sat, 20 Jan 2024 03:40:17 +0300 Subject: [PATCH 42/43] docs: add docs community section to onboarding guide (#959) Co-authored-by: Alejandra Quetzalli --- docs/onboarding-guide/docs-community.md | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 docs/onboarding-guide/docs-community.md diff --git a/docs/onboarding-guide/docs-community.md b/docs/onboarding-guide/docs-community.md new file mode 100644 index 000000000..7022e3b61 --- /dev/null +++ b/docs/onboarding-guide/docs-community.md @@ -0,0 +1,27 @@ +--- +title: 'AsyncAPI docs community' +weight: 50 +--- + +Join OPEN docs community meetings via Zoom, a regular space for docs contributors to meet and help each other. + +- Add the AsyncAPI calendar [in the AsyncAPI events page](https://www.asyncapi.com/community/events) to get docs meetings automatically added to your calendar of choice. +- Watch past AsyncAPI docs meetings on the [AsyncAPI YouTube channel](https://www.youtube.com/AsyncAPI). +- [Schedule your own docs meetings](https://github.com/asyncapi/community/blob/master/MEETINGS_ORGANIZATION.md). + +### Docs and education community discussions +Visit the [public AsyncAPI Docs & Education discussion board](https://github.com/orgs/asyncapi/discussions/categories/docs-education) to discuss docs-related issues and propose improvements. + +## AsyncAPI Slack workspace and docs channels +Join the [AsyncAPI documentation Slack channel](https://join.slack.com/share/enQtNjUxNTY1NTU1MDk0NS1mYjNhODFhZDI3ZDRjODA1ZWRkZTZlYmM4ZTNjNzZjNTg5NTBiYjNmNTkwYzRlYzY4ZjQ4M2RhMDYzMjI3N2U5) to meet other technical writers: + +- **#13_docs:** A space for all technical writers to start discussions, ask questions, share new ideas, and request `good first issues.` + +## AsyncAPI documentation roadmap 2024 +Stay tuned for new opportunities on our [Docs’ Community discussions](https://github.com/orgs/asyncapi/discussions/categories/docs-education) or reach out in the AsyncAPI Slack channel **#13_docs**. + +| Docs Roadmap | Ongoing Docs Projects | Timeline | Contribution Type | +|--------------|-----------------------|----------|---------------------| +| AsyncAPI Style Guide | [AsyncAPI Style Guide](https://github.com/asyncapi/website/issues/1240) | Ongoing | Regular contribution | +| AsyncAPI Tools’ Docs |
  • [Modelina Docs](https://github.com/asyncapi/modelina/tree/master/docs)
  • [Parser Docs](https://github.com/asyncapi/parser-js/tree/master/docs)
  • [GitHub Actions Docs](https://github.com/asyncapi/github-action-for-generator)
  • [Studio Docs](https://github.com/asyncapi/studio/tree/master/doc/adr)
  • [Generator Docs](https://github.com/asyncapi/generator/tree/master/docs)
  • [CLI Docs](https://github.com/asyncapi/cli/tree/master/docs)
  • | Ongoing | Regular contribution | +| Technical Writer Onboarding Guide | Onboarding Guide for new docs contributors | Ongoing | Regular contribution | From d97f8c18a205b3a194729355435af3795e1d7450 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Sat, 20 Jan 2024 11:05:18 +0100 Subject: [PATCH 43/43] chore(tweet): recurring tweet about slack link (#1020) --- tweets/recurring-slack-link/2024-01-20.tweet | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tweets/recurring-slack-link/2024-01-20.tweet diff --git a/tweets/recurring-slack-link/2024-01-20.tweet b/tweets/recurring-slack-link/2024-01-20.tweet new file mode 100644 index 000000000..0bd3e8865 --- /dev/null +++ b/tweets/recurring-slack-link/2024-01-20.tweet @@ -0,0 +1,7 @@ +✨ Did you know #AsyncAPI is on Slack? ✨ + +Join our Slack workspace to chat with anyone from our Open-Source community! + +πŸ”— asyncapi.com/slack-invite + +Ask for help and help others too. πŸ’ͺ🏿πŸ’ͺ🏽🦾 \ No newline at end of file