Skip to content

Commit f28dbf6

Browse files
committed
Add firebase function for sending comments
1 parent de0ebb4 commit f28dbf6

File tree

3 files changed

+139
-0
lines changed

3 files changed

+139
-0
lines changed

packages/react-renderer-demo/firebaseFunctions.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,37 @@ exports.nextjsFunc = functions.https.onRequest((req, res) => {
5858
}
5959
});
6060
});
61+
62+
const github = require('@actions/github');
63+
64+
exports.sendComment = functions.https.onRequest(async (request, response) => {
65+
const token = functions.config().bot.token;
66+
const octokit = github.getOctokit(token);
67+
68+
const { message, issueNumber, commentId } = request.body;
69+
70+
functions.logger.log('updating/creating comment', request.body);
71+
try {
72+
if (commentId) {
73+
await octokit.rest.issues.updateComment({
74+
owner: 'data-driven-forms',
75+
repo: 'react-forms',
76+
// eslint-disable-next-line camelcase
77+
comment_id: commentId,
78+
body: message
79+
});
80+
response.send(`Comment ${commentId} updated with message: ${message}`);
81+
} else {
82+
await octokit.rest.issues.createComment({
83+
owner: 'data-driven-forms',
84+
repo: 'react-forms',
85+
// eslint-disable-next-line camelcase
86+
issue_number: issueNumber,
87+
body: message
88+
});
89+
response.send(`Comment in issue ${issueNumber} created with message: ${message}`);
90+
}
91+
} catch (e) {
92+
response.status(500).send('Something broke!');
93+
}
94+
});

packages/react-renderer-demo/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"generate:examples": "node ./scripts/generate-component-examples && yarn lint --fix"
2121
},
2222
"dependencies": {
23+
"@actions/github": "^5.0.0",
2324
"@babel/plugin-proposal-class-properties": "^7.12.1",
2425
"@data-driven-forms/form-builder": "0.0.11-rc3",
2526
"@data-driven-forms/mui-component-mapper": "*",

yarn.lock

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22
# yarn lockfile v1
33

44

5+
"@actions/github@^5.0.0":
6+
version "5.0.0"
7+
resolved "https://registry.yarnpkg.com/@actions/github/-/github-5.0.0.tgz#1754127976c50bd88b2e905f10d204d76d1472f8"
8+
integrity sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==
9+
dependencies:
10+
"@actions/http-client" "^1.0.11"
11+
"@octokit/core" "^3.4.0"
12+
"@octokit/plugin-paginate-rest" "^2.13.3"
13+
"@octokit/plugin-rest-endpoint-methods" "^5.1.1"
14+
15+
"@actions/http-client@^1.0.11":
16+
version "1.0.11"
17+
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0"
18+
integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==
19+
dependencies:
20+
tunnel "0.0.6"
21+
522
"@ampproject/[email protected]", "@ampproject/toolbox-core@^2.7.1-alpha.0":
623
version "2.7.4"
724
resolved "https://registry.yarnpkg.com/@ampproject/toolbox-core/-/toolbox-core-2.7.4.tgz#8355136f16301458ce942acf6c55952c9a415627"
@@ -3240,6 +3257,13 @@
32403257
dependencies:
32413258
"@octokit/types" "^5.0.0"
32423259

3260+
"@octokit/auth-token@^2.4.4":
3261+
version "2.4.5"
3262+
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3"
3263+
integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==
3264+
dependencies:
3265+
"@octokit/types" "^6.0.3"
3266+
32433267
"@octokit/core@^3.0.0":
32443268
version "3.2.1"
32453269
resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.2.1.tgz#9e04df3f4e7f825ac0559327490ce34299140af5"
@@ -3252,6 +3276,19 @@
32523276
before-after-hook "^2.1.0"
32533277
universal-user-agent "^6.0.0"
32543278

3279+
"@octokit/core@^3.4.0":
3280+
version "3.5.1"
3281+
resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b"
3282+
integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==
3283+
dependencies:
3284+
"@octokit/auth-token" "^2.4.4"
3285+
"@octokit/graphql" "^4.5.8"
3286+
"@octokit/request" "^5.6.0"
3287+
"@octokit/request-error" "^2.0.5"
3288+
"@octokit/types" "^6.0.3"
3289+
before-after-hook "^2.2.0"
3290+
universal-user-agent "^6.0.0"
3291+
32553292
"@octokit/endpoint@^5.5.0":
32563293
version "5.5.1"
32573294
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.5.1.tgz#2eea81e110ca754ff2de11c79154ccab4ae16b3f"
@@ -3278,10 +3315,31 @@
32783315
"@octokit/types" "^5.0.0"
32793316
universal-user-agent "^6.0.0"
32803317

3318+
"@octokit/graphql@^4.5.8":
3319+
version "4.6.4"
3320+
resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz#0c3f5bed440822182e972317122acb65d311a5ed"
3321+
integrity sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==
3322+
dependencies:
3323+
"@octokit/request" "^5.6.0"
3324+
"@octokit/types" "^6.0.3"
3325+
universal-user-agent "^6.0.0"
3326+
3327+
"@octokit/openapi-types@^7.3.2":
3328+
version "7.3.2"
3329+
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.3.2.tgz#065ce49b338043ec7f741316ce06afd4d459d944"
3330+
integrity sha512-oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA==
3331+
32813332
"@octokit/plugin-enterprise-rest@^3.6.1":
32823333
version "3.6.2"
32833334
resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-3.6.2.tgz#74de25bef21e0182b4fa03a8678cd00a4e67e561"
32843335

3336+
"@octokit/plugin-paginate-rest@^2.13.3":
3337+
version "2.13.5"
3338+
resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.5.tgz#e459f9b5dccbe0a53f039a355d5b80c0a2b0dc57"
3339+
integrity sha512-3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg==
3340+
dependencies:
3341+
"@octokit/types" "^6.13.0"
3342+
32853343
"@octokit/plugin-paginate-rest@^2.2.0":
32863344
version "2.6.0"
32873345
resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.6.0.tgz#03416396e7a227b268c5b827365238f620a9c5c1"
@@ -3302,6 +3360,14 @@
33023360
"@octokit/types" "^5.5.0"
33033361
deprecation "^2.3.1"
33043362

3363+
"@octokit/plugin-rest-endpoint-methods@^5.1.1":
3364+
version "5.3.1"
3365+
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.1.tgz#deddce769b4ec3179170709ab42e4e9e6195aaa9"
3366+
integrity sha512-3B2iguGmkh6bQQaVOtCsS0gixrz8Lg0v4JuXPqBcFqLKuJtxAUf3K88RxMEf/naDOI73spD+goJ/o7Ie7Cvdjg==
3367+
dependencies:
3368+
"@octokit/types" "^6.16.2"
3369+
deprecation "^2.3.1"
3370+
33053371
"@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2":
33063372
version "1.2.0"
33073373
resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.0.tgz#a64d2a9d7a13555570cd79722de4a4d76371baaa"
@@ -3319,6 +3385,15 @@
33193385
deprecation "^2.0.0"
33203386
once "^1.4.0"
33213387

3388+
"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0":
3389+
version "2.1.0"
3390+
resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677"
3391+
integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==
3392+
dependencies:
3393+
"@octokit/types" "^6.0.3"
3394+
deprecation "^2.0.0"
3395+
once "^1.4.0"
3396+
33223397
"@octokit/request@^5.2.0":
33233398
version "5.3.1"
33243399
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.1.tgz#3a1ace45e6f88b1be4749c5da963b3a3b4a2f120"
@@ -3346,6 +3421,18 @@
33463421
once "^1.4.0"
33473422
universal-user-agent "^6.0.0"
33483423

3424+
"@octokit/request@^5.6.0":
3425+
version "5.6.0"
3426+
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.0.tgz#6084861b6e4fa21dc40c8e2a739ec5eff597e672"
3427+
integrity sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA==
3428+
dependencies:
3429+
"@octokit/endpoint" "^6.0.1"
3430+
"@octokit/request-error" "^2.1.0"
3431+
"@octokit/types" "^6.16.1"
3432+
is-plain-object "^5.0.0"
3433+
node-fetch "^2.6.1"
3434+
universal-user-agent "^6.0.0"
3435+
33493436
"@octokit/rest@^16.27.0", "@octokit/rest@^16.28.4":
33503437
version "16.35.0"
33513438
resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.35.0.tgz#7ccc1f802f407d5b8eb21768c6deca44e7b4c0d8"
@@ -3386,6 +3473,13 @@
33863473
dependencies:
33873474
"@types/node" ">= 8"
33883475

3476+
"@octokit/types@^6.0.3", "@octokit/types@^6.13.0", "@octokit/types@^6.16.1", "@octokit/types@^6.16.2":
3477+
version "6.16.4"
3478+
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.4.tgz#d24f5e1bacd2fe96d61854b5bda0e88cf8288dfe"
3479+
integrity sha512-UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A==
3480+
dependencies:
3481+
"@octokit/openapi-types" "^7.3.2"
3482+
33893483
"@opentelemetry/[email protected]":
33903484
version "0.14.0"
33913485
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae"
@@ -5387,6 +5481,11 @@ before-after-hook@^2.0.0, before-after-hook@^2.1.0:
53875481
version "2.1.0"
53885482
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635"
53895483

5484+
before-after-hook@^2.2.0:
5485+
version "2.2.2"
5486+
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
5487+
integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
5488+
53905489
big-integer@^1.6.17:
53915490
version "1.6.48"
53925491
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e"
@@ -20124,6 +20223,11 @@ tunnel-agent@^0.6.0:
2012420223
dependencies:
2012520224
safe-buffer "^5.0.1"
2012620225

20226+
20227+
version "0.0.6"
20228+
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
20229+
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
20230+
2012720231
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
2012820232
version "0.14.5"
2012920233
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"

0 commit comments

Comments
 (0)