@onesignal/node-onesignal 5.3.0-beta1 → 5.4.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/apis/DefaultApi.js +44 -44
  2. package/dist/index.d.ts +1 -1
  3. package/dist/models/BasicNotification.d.ts +7 -0
  4. package/dist/models/BasicNotification.js +36 -0
  5. package/dist/models/BasicNotificationAllOf.d.ts +7 -0
  6. package/dist/models/BasicNotificationAllOf.js +36 -0
  7. package/dist/models/Notification.d.ts +7 -0
  8. package/dist/models/Notification.js +36 -0
  9. package/dist/models/NotificationWithMeta.d.ts +7 -0
  10. package/dist/models/NotificationWithMeta.js +36 -0
  11. package/dist/models/ObjectSerializer.js +4 -0
  12. package/package.json +9 -3
  13. package/.github/ISSUE_TEMPLATE/ask-question.yml +0 -25
  14. package/.github/ISSUE_TEMPLATE/bug-report.yml +0 -51
  15. package/.github/ISSUE_TEMPLATE/general-feedback.yml +0 -25
  16. package/.github/pull_request_template.md +0 -44
  17. package/.github/workflows/asana-add-comment.yml +0 -47
  18. package/.github/workflows/asana-create-task.yml +0 -119
  19. package/.github/workflows/asana-update-issue.yml +0 -172
  20. package/.github/workflows/npm_deploy.yml +0 -22
  21. package/.github/workflows/project.yml +0 -17
  22. package/CHANGELOG.md +0 -48
  23. package/DefaultApi.md +0 -3293
  24. package/RELEASE_INSTRUCTIONS.md +0 -2
  25. package/apis/DefaultApi.ts +0 -4673
  26. package/apis/baseapi.ts +0 -37
  27. package/apis/exception.ts +0 -15
  28. package/auth/auth.ts +0 -110
  29. package/configuration.ts +0 -85
  30. package/dist/apis/DefaultApi.js.map +0 -1
  31. package/dist/apis/baseapi.js.map +0 -1
  32. package/dist/apis/exception.js.map +0 -1
  33. package/dist/auth/auth.js.map +0 -1
  34. package/dist/configuration.js.map +0 -1
  35. package/dist/http/http.js.map +0 -1
  36. package/dist/http/isomorphic-fetch.js.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/middleware.js.map +0 -1
  39. package/dist/models/ApiKeyToken.js.map +0 -1
  40. package/dist/models/ApiKeyTokensListResponse.js.map +0 -1
  41. package/dist/models/App.js.map +0 -1
  42. package/dist/models/BasicNotification.js.map +0 -1
  43. package/dist/models/BasicNotificationAllOf.js.map +0 -1
  44. package/dist/models/BasicNotificationAllOfAndroidBackgroundLayout.js.map +0 -1
  45. package/dist/models/Button.js.map +0 -1
  46. package/dist/models/CopyTemplateRequest.js.map +0 -1
  47. package/dist/models/CreateApiKeyRequest.js.map +0 -1
  48. package/dist/models/CreateApiKeyResponse.js.map +0 -1
  49. package/dist/models/CreateNotificationSuccessResponse.js.map +0 -1
  50. package/dist/models/CreateSegmentConflictResponse.js.map +0 -1
  51. package/dist/models/CreateSegmentSuccessResponse.js.map +0 -1
  52. package/dist/models/CreateTemplateRequest.js.map +0 -1
  53. package/dist/models/CreateUserConflictResponse.js.map +0 -1
  54. package/dist/models/CreateUserConflictResponseErrorsInner.js.map +0 -1
  55. package/dist/models/CreateUserConflictResponseErrorsItemsMeta.js.map +0 -1
  56. package/dist/models/CustomEvent.js.map +0 -1
  57. package/dist/models/CustomEventsRequest.js.map +0 -1
  58. package/dist/models/DeliveryData.js.map +0 -1
  59. package/dist/models/ExportEventsSuccessResponse.js.map +0 -1
  60. package/dist/models/ExportSubscriptionsRequestBody.js.map +0 -1
  61. package/dist/models/ExportSubscriptionsSuccessResponse.js.map +0 -1
  62. package/dist/models/Filter.js.map +0 -1
  63. package/dist/models/FilterExpression.js.map +0 -1
  64. package/dist/models/GenericError.js.map +0 -1
  65. package/dist/models/GenericSuccessBoolResponse.js.map +0 -1
  66. package/dist/models/GetNotificationHistoryRequestBody.js.map +0 -1
  67. package/dist/models/GetSegmentsSuccessResponse.js.map +0 -1
  68. package/dist/models/LanguageStringMap.js.map +0 -1
  69. package/dist/models/Notification.js.map +0 -1
  70. package/dist/models/NotificationAllOf.js.map +0 -1
  71. package/dist/models/NotificationHistorySuccessResponse.js.map +0 -1
  72. package/dist/models/NotificationSlice.js.map +0 -1
  73. package/dist/models/NotificationTarget.js.map +0 -1
  74. package/dist/models/NotificationWithMeta.js.map +0 -1
  75. package/dist/models/NotificationWithMetaAllOf.js.map +0 -1
  76. package/dist/models/ObjectSerializer.js.map +0 -1
  77. package/dist/models/Operator.js.map +0 -1
  78. package/dist/models/OutcomeData.js.map +0 -1
  79. package/dist/models/OutcomesData.js.map +0 -1
  80. package/dist/models/PlatformDeliveryData.js.map +0 -1
  81. package/dist/models/PlatformDeliveryDataEmailAllOf.js.map +0 -1
  82. package/dist/models/PlatformDeliveryDataSmsAllOf.js.map +0 -1
  83. package/dist/models/PropertiesBody.js.map +0 -1
  84. package/dist/models/PropertiesDeltas.js.map +0 -1
  85. package/dist/models/PropertiesObject.js.map +0 -1
  86. package/dist/models/Purchase.js.map +0 -1
  87. package/dist/models/RateLimitError.js.map +0 -1
  88. package/dist/models/Segment.js.map +0 -1
  89. package/dist/models/SegmentData.js.map +0 -1
  90. package/dist/models/SegmentNotificationTarget.js.map +0 -1
  91. package/dist/models/StartLiveActivityRequest.js.map +0 -1
  92. package/dist/models/StartLiveActivitySuccessResponse.js.map +0 -1
  93. package/dist/models/Subscription.js.map +0 -1
  94. package/dist/models/SubscriptionBody.js.map +0 -1
  95. package/dist/models/SubscriptionNotificationTarget.js.map +0 -1
  96. package/dist/models/TemplateResource.js.map +0 -1
  97. package/dist/models/TemplatesListResponse.js.map +0 -1
  98. package/dist/models/TransferSubscriptionRequestBody.js.map +0 -1
  99. package/dist/models/UpdateApiKeyRequest.js.map +0 -1
  100. package/dist/models/UpdateLiveActivityRequest.js.map +0 -1
  101. package/dist/models/UpdateLiveActivitySuccessResponse.js.map +0 -1
  102. package/dist/models/UpdateTemplateRequest.js.map +0 -1
  103. package/dist/models/UpdateUserRequest.js.map +0 -1
  104. package/dist/models/User.js.map +0 -1
  105. package/dist/models/UserIdentityBody.js.map +0 -1
  106. package/dist/models/WebButton.js.map +0 -1
  107. package/dist/models/all.js.map +0 -1
  108. package/dist/rxjsStub.js.map +0 -1
  109. package/dist/servers.js.map +0 -1
  110. package/dist/types/ObjectParamAPI.js.map +0 -1
  111. package/dist/types/ObservableAPI.js.map +0 -1
  112. package/dist/types/PromiseAPI.js.map +0 -1
  113. package/dist/util.js.map +0 -1
  114. package/http/http.ts +0 -205
  115. package/http/isomorphic-fetch.ts +0 -30
  116. package/index.ts +0 -12
  117. package/middleware.ts +0 -66
  118. package/models/ApiKeyToken.ts +0 -69
  119. package/models/ApiKeyTokensListResponse.ts +0 -32
  120. package/models/App.ts +0 -328
  121. package/models/BasicNotification.ts +0 -1088
  122. package/models/BasicNotificationAllOf.ts +0 -958
  123. package/models/BasicNotificationAllOfAndroidBackgroundLayout.ts +0 -57
  124. package/models/Button.ts +0 -45
  125. package/models/CopyTemplateRequest.ts +0 -34
  126. package/models/CreateApiKeyRequest.ts +0 -48
  127. package/models/CreateApiKeyResponse.ts +0 -38
  128. package/models/CreateNotificationSuccessResponse.ts +0 -48
  129. package/models/CreateSegmentConflictResponse.ts +0 -38
  130. package/models/CreateSegmentSuccessResponse.ts +0 -41
  131. package/models/CreateTemplateRequest.ts +0 -102
  132. package/models/CreateUserConflictResponse.ts +0 -32
  133. package/models/CreateUserConflictResponseErrorsInner.ts +0 -46
  134. package/models/CreateUserConflictResponseErrorsItemsMeta.ts +0 -31
  135. package/models/CustomEvent.ts +0 -74
  136. package/models/CustomEventsRequest.ts +0 -32
  137. package/models/DeliveryData.ts +0 -74
  138. package/models/ExportEventsSuccessResponse.ts +0 -31
  139. package/models/ExportSubscriptionsRequestBody.ts +0 -54
  140. package/models/ExportSubscriptionsSuccessResponse.ts +0 -31
  141. package/models/Filter.ts +0 -107
  142. package/models/FilterExpression.ts +0 -120
  143. package/models/GenericError.ts +0 -45
  144. package/models/GenericSuccessBoolResponse.ts +0 -31
  145. package/models/GetNotificationHistoryRequestBody.ts +0 -54
  146. package/models/GetSegmentsSuccessResponse.ts +0 -65
  147. package/models/LanguageStringMap.ts +0 -454
  148. package/models/Notification.ts +0 -1098
  149. package/models/NotificationAllOf.ts +0 -34
  150. package/models/NotificationHistorySuccessResponse.ts +0 -38
  151. package/models/NotificationSlice.ts +0 -53
  152. package/models/NotificationTarget.ts +0 -156
  153. package/models/NotificationWithMeta.ts +0 -1206
  154. package/models/NotificationWithMetaAllOf.ts +0 -142
  155. package/models/ObjectSerializer.ts +0 -442
  156. package/models/Operator.ts +0 -37
  157. package/models/OutcomeData.ts +0 -48
  158. package/models/OutcomesData.ts +0 -32
  159. package/models/PlatformDeliveryData.ts +0 -86
  160. package/models/PlatformDeliveryDataEmailAllOf.ts +0 -94
  161. package/models/PlatformDeliveryDataSmsAllOf.ts +0 -54
  162. package/models/PropertiesBody.ts +0 -32
  163. package/models/PropertiesDeltas.ts +0 -46
  164. package/models/PropertiesObject.ts +0 -102
  165. package/models/Purchase.ts +0 -61
  166. package/models/RateLimitError.ts +0 -38
  167. package/models/Segment.ts +0 -55
  168. package/models/SegmentData.ts +0 -94
  169. package/models/SegmentNotificationTarget.ts +0 -44
  170. package/models/StartLiveActivityRequest.ts +0 -177
  171. package/models/StartLiveActivitySuccessResponse.ts +0 -31
  172. package/models/Subscription.ts +0 -146
  173. package/models/SubscriptionBody.ts +0 -32
  174. package/models/SubscriptionNotificationTarget.ts +0 -134
  175. package/models/TemplateResource.ts +0 -72
  176. package/models/TemplatesListResponse.ts +0 -32
  177. package/models/TransferSubscriptionRequestBody.ts +0 -31
  178. package/models/UpdateApiKeyRequest.ts +0 -48
  179. package/models/UpdateLiveActivityRequest.ts +0 -109
  180. package/models/UpdateLiveActivitySuccessResponse.ts +0 -31
  181. package/models/UpdateTemplateRequest.ts +0 -92
  182. package/models/UpdateUserRequest.ts +0 -47
  183. package/models/User.ts +0 -47
  184. package/models/UserIdentityBody.ts +0 -31
  185. package/models/WebButton.ts +0 -52
  186. package/models/all.ts +0 -67
  187. package/onesignal-node-onesignal-5.3.0-beta1.tgz +0 -0
  188. package/rxjsStub.ts +0 -27
  189. package/servers.ts +0 -53
  190. package/tsconfig.json +0 -28
  191. package/types/ObjectParamAPI.ts +0 -1270
  192. package/types/ObservableAPI.ts +0 -1201
  193. package/types/PromiseAPI.ts +0 -585
  194. package/util.ts +0 -37
@@ -615,6 +615,12 @@ var Notification = (function () {
615
615
  "type": "string",
616
616
  "format": ""
617
617
  },
618
+ {
619
+ "name": "email_reply_to_address",
620
+ "baseName": "email_reply_to_address",
621
+ "type": "string",
622
+ "format": ""
623
+ },
618
624
  {
619
625
  "name": "email_preheader",
620
626
  "baseName": "email_preheader",
@@ -657,6 +663,36 @@ var Notification = (function () {
657
663
  "type": "object",
658
664
  "format": ""
659
665
  },
666
+ {
667
+ "name": "huawei_badge_class",
668
+ "baseName": "huawei_badge_class",
669
+ "type": "string",
670
+ "format": ""
671
+ },
672
+ {
673
+ "name": "huawei_badge_add_num",
674
+ "baseName": "huawei_badge_add_num",
675
+ "type": "number",
676
+ "format": ""
677
+ },
678
+ {
679
+ "name": "huawei_badge_set_num",
680
+ "baseName": "huawei_badge_set_num",
681
+ "type": "number",
682
+ "format": ""
683
+ },
684
+ {
685
+ "name": "huawei_category",
686
+ "baseName": "huawei_category",
687
+ "type": "NotificationHuaweiCategoryEnum",
688
+ "format": ""
689
+ },
690
+ {
691
+ "name": "huawei_bi_tag",
692
+ "baseName": "huawei_bi_tag",
693
+ "type": "string",
694
+ "format": ""
695
+ },
660
696
  {
661
697
  "name": "send_after",
662
698
  "baseName": "send_after",
@@ -109,6 +109,7 @@ export declare class NotificationWithMeta {
109
109
  'email_body'?: string;
110
110
  'email_from_name'?: string;
111
111
  'email_from_address'?: string;
112
+ 'email_reply_to_address'?: string;
112
113
  'email_preheader'?: string;
113
114
  'disable_email_click_tracking'?: boolean;
114
115
  'include_unsubscribed'?: boolean;
@@ -116,6 +117,11 @@ export declare class NotificationWithMeta {
116
117
  'sms_media_urls'?: Array<string>;
117
118
  'filters'?: Array<FilterExpression>;
118
119
  'custom_data'?: object;
120
+ 'huawei_badge_class'?: string;
121
+ 'huawei_badge_add_num'?: number;
122
+ 'huawei_badge_set_num'?: number;
123
+ 'huawei_category'?: NotificationWithMetaHuaweiCategoryEnum;
124
+ 'huawei_bi_tag'?: string;
119
125
  'successful'?: number;
120
126
  'failed'?: number;
121
127
  'errored'?: number;
@@ -145,3 +151,4 @@ export declare class NotificationWithMeta {
145
151
  }
146
152
  export type NotificationWithMetaTargetChannelEnum = "push" | "email" | "sms";
147
153
  export type NotificationWithMetaAggregationEnum = "sum" | "count";
154
+ export type NotificationWithMetaHuaweiCategoryEnum = "IM" | "VOIP" | "SUBSCRIPTION" | "TRAVEL" | "HEALTH" | "WORK" | "ACCOUNT" | "EXPRESS" | "FINANCE" | "DEVICE_REMINDER" | "MAIL" | "MARKETING";
@@ -615,6 +615,12 @@ var NotificationWithMeta = (function () {
615
615
  "type": "string",
616
616
  "format": ""
617
617
  },
618
+ {
619
+ "name": "email_reply_to_address",
620
+ "baseName": "email_reply_to_address",
621
+ "type": "string",
622
+ "format": ""
623
+ },
618
624
  {
619
625
  "name": "email_preheader",
620
626
  "baseName": "email_preheader",
@@ -657,6 +663,36 @@ var NotificationWithMeta = (function () {
657
663
  "type": "object",
658
664
  "format": ""
659
665
  },
666
+ {
667
+ "name": "huawei_badge_class",
668
+ "baseName": "huawei_badge_class",
669
+ "type": "string",
670
+ "format": ""
671
+ },
672
+ {
673
+ "name": "huawei_badge_add_num",
674
+ "baseName": "huawei_badge_add_num",
675
+ "type": "number",
676
+ "format": ""
677
+ },
678
+ {
679
+ "name": "huawei_badge_set_num",
680
+ "baseName": "huawei_badge_set_num",
681
+ "type": "number",
682
+ "format": ""
683
+ },
684
+ {
685
+ "name": "huawei_category",
686
+ "baseName": "huawei_category",
687
+ "type": "NotificationWithMetaHuaweiCategoryEnum",
688
+ "format": ""
689
+ },
690
+ {
691
+ "name": "huawei_bi_tag",
692
+ "baseName": "huawei_bi_tag",
693
+ "type": "string",
694
+ "format": ""
695
+ },
660
696
  {
661
697
  "name": "successful",
662
698
  "baseName": "successful",
@@ -169,7 +169,9 @@ var enumsMap = new Set([
169
169
  "AppApnsEnvEnum",
170
170
  "BasicNotificationTargetChannelEnum",
171
171
  "BasicNotificationAggregationEnum",
172
+ "BasicNotificationHuaweiCategoryEnum",
172
173
  "BasicNotificationAllOfAggregationEnum",
174
+ "BasicNotificationAllOfHuaweiCategoryEnum",
173
175
  "CreateApiKeyRequestIpAllowlistModeEnum",
174
176
  "FilterRelationEnum",
175
177
  "FilterExpressionRelationEnum",
@@ -177,9 +179,11 @@ var enumsMap = new Set([
177
179
  "GetNotificationHistoryRequestBodyEventsEnum",
178
180
  "NotificationTargetChannelEnum",
179
181
  "NotificationAggregationEnum",
182
+ "NotificationHuaweiCategoryEnum",
180
183
  "NotificationTargetTargetChannelEnum",
181
184
  "NotificationWithMetaTargetChannelEnum",
182
185
  "NotificationWithMetaAggregationEnum",
186
+ "NotificationWithMetaHuaweiCategoryEnum",
183
187
  "OperatorOperatorEnum",
184
188
  "OutcomeDataAggregationEnum",
185
189
  "StartLiveActivityRequestEventEnum",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onesignal/node-onesignal",
3
- "version": "5.3.0-beta1",
3
+ "version": "5.4.0-beta1",
4
4
  "description": "OpenAPI client for @onesignal/node-onesignal",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "keywords": [
@@ -17,12 +17,17 @@
17
17
  ".": "./dist/index.js"
18
18
  },
19
19
  "typings": "./dist/index.d.ts",
20
+ "files": [
21
+ "dist/**/*.js",
22
+ "dist/**/*.d.ts",
23
+ "README.md",
24
+ "LICENSE"
25
+ ],
20
26
  "scripts": {
21
27
  "build": "tsc",
22
28
  "prepare": "npm run build"
23
29
  },
24
30
  "dependencies": {
25
- "@types/node": "24.1.0",
26
31
  "form-data": "^2.5.0",
27
32
  "btoa": "^1.2.1",
28
33
  "es6-promise": "^4.2.4",
@@ -30,6 +35,7 @@
30
35
  },
31
36
  "devDependencies": {
32
37
  "typescript": "^4.0",
33
- "@types/url-parse": "1.4.4"
38
+ "@types/url-parse": "1.4.4",
39
+ "@types/node": "24.1.0"
34
40
  }
35
41
  }
@@ -1,25 +0,0 @@
1
- name: 🙋‍♂️ Ask a question
2
- description: Tell us what's on your mind
3
- title: "[Question]: "
4
- labels: ["Question"]
5
- body:
6
- - type: markdown
7
- attributes:
8
- value: |
9
- Having issues integrating this API library?
10
- - type: textarea
11
- id: question
12
- attributes:
13
- label: How can we help?
14
- description: Specific question regarding integrating this API library.
15
- placeholder: How do I...?
16
- validations:
17
- required: true
18
- - type: checkboxes
19
- id: terms
20
- attributes:
21
- label: Code of Conduct
22
- description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md)
23
- options:
24
- - label: I agree to follow this project's Code of Conduct
25
- required: true
@@ -1,51 +0,0 @@
1
- name: 🪳 Bug report
2
- description: File a bug report
3
- title: "[Bug]: "
4
- labels: ["Bug"]
5
- body:
6
- - type: markdown
7
- attributes:
8
- value: |
9
- Thanks for taking the time to fill out this bug report!
10
- - type: textarea
11
- id: what-happened
12
- attributes:
13
- label: What happened?
14
- description: Provide a thorough description of whats going on.
15
- placeholder: The latest version of the API library throws an exception when creating a notification targetting all Active Users.
16
- validations:
17
- required: true
18
- - type: textarea
19
- id: reproduction-steps
20
- attributes:
21
- label: Steps to reproduce?
22
- description: Provide as much detail as posible to reproduce the issue.
23
- placeholder: |
24
- 1. Install vX.Y.Z of dependency
25
- 2. Run provided code snippet
26
- 3. Note that the app crashes
27
- render: Markdown
28
- validations:
29
- required: true
30
- - type: textarea
31
- id: what-are-expectations
32
- attributes:
33
- label: What did you expect to happen?
34
- description: Also tell us, what did you expect to happen?
35
- placeholder: I expected the API library to properly deserialize any response returned by OneSignal.
36
- validations:
37
- required: true
38
- - type: textarea
39
- id: logs
40
- attributes:
41
- label: Relevant log output
42
- description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
43
- render: Shell
44
- - type: checkboxes
45
- id: terms
46
- attributes:
47
- label: Code of Conduct
48
- description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md)
49
- options:
50
- - label: I agree to follow this project's Code of Conduct
51
- required: true
@@ -1,25 +0,0 @@
1
- name: 📣 General feedback
2
- description: Tell us what's on your mind
3
- title: "[Feedback]: "
4
- labels: ["Feedback"]
5
- body:
6
- - type: markdown
7
- attributes:
8
- value: |
9
- Thanks for sharing your valuable feedback!
10
- - type: textarea
11
- id: feedback
12
- attributes:
13
- label: What's on your mind?
14
- description: Feedback regarding this API library.
15
- placeholder: Share your feedback...
16
- validations:
17
- required: true
18
- - type: checkboxes
19
- id: terms
20
- attributes:
21
- label: Code of Conduct
22
- description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/OneSignal/api/blob/main/CONTRIBUTING.md)
23
- options:
24
- - label: I agree to follow this project's Code of Conduct
25
- required: true
@@ -1,44 +0,0 @@
1
- <!-- START -->
2
- # READ AND DELETE THIS SECTION BEFORE SUBMITTING PR
3
- * **Fill out each _REQUIRED_ section**
4
- * **Fill out _OPTIONAL_ sections, remove section if it doesn't apply to your PR**
5
- * **Read and fill out each of the checklists below**
6
- * **Remove this section after reading**
7
- <!-- END -->
8
-
9
- # Description
10
- ## One Line Summary
11
- **REQUIRED** - Very short description that summaries the changes in this PR.
12
-
13
- ## Details
14
-
15
- ### Motivation
16
- **REQUIRED -** Why is this code change being made? Or what is the goal of this PR? Examples: Fixes a specific bug, provides additional logging to debug future issues, feature to allow X.
17
-
18
- ### Scope
19
- **RECOMMEND - OPTIONAL -** What is intended to be effected. What is known not to change. Example: Notifications are grouped when parameter X is set, not enabled by default.
20
-
21
- ### OPTIONAL - Other
22
- **OPTIONAL -** Feel free to add any other sections or sub-sections that can explain your PR better.
23
-
24
- # Testing
25
-
26
- ## Manual testing
27
- **REQUIRED -** Explain what scenarios were tested and the environment.
28
-
29
-
30
- # Checklist
31
- ## Overview
32
- - [ ] I have filled out all **REQUIRED** sections above
33
- - [ ] PR does one thing
34
- - If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
35
- - [ ] Any Public API changes are explained in the PR details and conform to existing APIs
36
-
37
- ## Testing
38
- - [ ] I have personally tested this on my device, or explained why that is not possible
39
-
40
- ## Final pass
41
- - [ ] Code is as readable as possible.
42
- - Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
43
- - [ ] I have reviewed this PR myself, ensuring it meets each checklist item
44
- - WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.
@@ -1,47 +0,0 @@
1
- name: Github --> Asana Add Comment Workflow
2
-
3
- on:
4
- issue_comment:
5
- types: [created]
6
- workflow_dispatch:
7
-
8
- jobs:
9
- build:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- issues: read
13
- steps:
14
- - name: Get Asana Task Corresponding to Issue
15
- env:
16
- ISSUE_ID: ${{ github.event.issue.id }}
17
- REPO_FULL_NAME: ${{ github.event.repository.full_name }}
18
- WORKSPACE_ID: "780103692902078"
19
- run: |
20
- REPO_SCOPED_ISSUE_ID="$REPO_FULL_NAME#$ISSUE_ID"
21
-
22
- curl --request GET \
23
- --url "https://app.asana.com/api/1.0/workspaces/$WORKSPACE_ID/tasks/search?opt_fields=notes&text=$REPO_SCOPED_ISSUE_ID&sort_by=modified_at&sort_ascending=false" \
24
- --header 'accept: application/json' \
25
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
26
- --output response.json
27
- TASK_GID=$(jq -r '.data[0].gid' response.json)
28
- echo "TASK_GID=$TASK_GID" >> $GITHUB_ENV
29
- - name: Comment on Asana Task
30
- env:
31
- ISSUE_COMMENT: ${{ github.event.comment.body }}
32
- COMMENTER_NAME: ${{ github.event.comment.user.login }}
33
- run: |
34
- BODY_DATA=$(jq -n \
35
- --arg text "$ISSUE_COMMENT" \
36
- --arg commenter_name "$COMMENTER_NAME" \
37
- '{
38
- "data": {
39
- "text": "\($commenter_name) left a comment:\n\n\($text)",
40
- }
41
- }')
42
- curl --request POST \
43
- --url https://app.asana.com/api/1.0/tasks/$TASK_GID/stories \
44
- --header 'accept: application/json' \
45
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
46
- --header 'content-type: application/json' \
47
- --data "$BODY_DATA"
@@ -1,119 +0,0 @@
1
- name: Github --> Asana Create Task Workflow
2
-
3
- on:
4
- issues:
5
- types: [opened]
6
- workflow_dispatch:
7
-
8
- jobs:
9
- build:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- issues: read
13
- steps:
14
- - name: Create Asana task
15
- env:
16
- ISSUE_TITLE: ${{ github.event.issue.title }}
17
- ISSUE_BODY: ${{ github.event.issue.body }}
18
- ISSUE_HTML_URL: ${{ github.event.issue.html_url }}
19
- ISSUE_ID: ${{ github.event.issue.id }}
20
- ISSUE_NUMBER: ${{ github.event.issue.number }}
21
- REPO_FULL_NAME: ${{ github.event.repository.full_name }}
22
- SDK_PLATFORM_GROUP: "1208961704779581"
23
- SDK_PLATFORM_GROUP_SERVER: "1208961704779585"
24
- SDK_PLATFORM: "1208961704779592"
25
- SDK_PLATFORM_TYPESCRIPT: "1208961704779609"
26
- DSA_PRIORITY: "1208779519954980"
27
- DSA_PRIORITY_NO_PRIORITY: "1208779521616959"
28
- DSA_STATUS: "1210103546117753"
29
- DSA_STATUS_TRIAGE: "1210103546117756"
30
- DSA_REPO_TICKET_URL: "1210347857768758"
31
- WORKSPACE_ID: "780103692902078"
32
- PROJECT_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES: "1208970714650308"
33
- PROJECT_ID_SDK_BACKLOG: "1208777198342772"
34
- run: |
35
- DATA_BODY=$(jq -n \
36
- --arg title "$ISSUE_TITLE" \
37
- --arg body "$ISSUE_BODY" \
38
- --arg url "$ISSUE_HTML_URL" \
39
- --arg id "$ISSUE_ID" \
40
- --arg number "$ISSUE_NUMBER" \
41
- --arg repo_full_name "$REPO_FULL_NAME" \
42
- --arg sdk_platform_group "$SDK_PLATFORM_GROUP" \
43
- --arg sdk_platform_group_server "$SDK_PLATFORM_GROUP_SERVER" \
44
- --arg sdk_platform "$SDK_PLATFORM" \
45
- --arg sdk_platform_typescript "$SDK_PLATFORM_TYPESCRIPT" \
46
- --arg dsa_priority "$DSA_PRIORITY" \
47
- --arg dsa_priority_no_priority "$DSA_PRIORITY_NO_PRIORITY" \
48
- --arg dsa_status "$DSA_STATUS" \
49
- --arg dsa_status_triage "$DSA_STATUS_TRIAGE" \
50
- --arg dsa_repo_ticket_url "$DSA_REPO_TICKET_URL" \
51
- --arg workspace_id "$WORKSPACE_ID" \
52
- --arg project_id_github_and_important_sdk_issues "$PROJECT_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES" \
53
- --arg project_id_sdk_backlog "$PROJECT_ID_SDK_BACKLOG" \
54
- '{
55
- "data": {
56
- "custom_fields": {
57
- $sdk_platform_group: $sdk_platform_group_server,
58
- $sdk_platform: $sdk_platform_typescript,
59
- $dsa_priority: $dsa_priority_no_priority,
60
- $dsa_status: $dsa_status_triage,
61
- $dsa_repo_ticket_url: $url
62
- },
63
- "name": $title,
64
- "workspace": $workspace_id,
65
- "projects": [$project_id_github_and_important_sdk_issues, $project_id_sdk_backlog],
66
- "notes": "Issue ID: \($repo_full_name)#\($id)\nIssue number: \($number)\nCreated via GitHub Actions\n----\n\n\($body)"
67
- }
68
- }')
69
-
70
- curl --request POST \
71
- --url https://app.asana.com/api/1.0/tasks?opt_pretty=true \
72
- --header 'accept: application/json' \
73
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
74
- --header 'content-type: application/json' \
75
- --data "$DATA_BODY" \
76
- --output response.json
77
-
78
- TASK_GID=$(jq -r '.data.gid' response.json)
79
- echo "TASK_GID=$TASK_GID" >> $GITHUB_ENV
80
- - name: Move to "0 Unclassified" section in "Github & Important SDK Issues" project
81
- env:
82
- SECTION_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES: "1208970755434051"
83
- run: |
84
- DATA_BODY=$(jq -n \
85
- --arg task_gid "$TASK_GID" \
86
- --arg section_id "$SECTION_ID_GITHUB_AND_IMPORTANT_SDK_ISSUES" \
87
- '{
88
- "data": {
89
- "task": $task_gid,
90
- "insert_after": "null"
91
- }
92
- }')
93
-
94
- curl --request POST \
95
- --url https://app.asana.com/api/1.0/sections/$section_id/addTask \
96
- --header 'accept: application/json' \
97
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
98
- --header 'content-type: application/json' \
99
- --data "$DATA_BODY"
100
- - name: Move to "Untriaged" section in "SDK / Backlog" project
101
- env:
102
- SECTION_ID_SDK_BACKLOG: "1208899729378982"
103
- run: |
104
- DATA_BODY=$(jq -n \
105
- --arg task_gid "$TASK_GID" \
106
- --arg section_id "$SECTION_ID_SDK_BACKLOG" \
107
- '{
108
- "data": {
109
- "task": $task_gid,
110
- "insert_after": "null"
111
- }
112
- }')
113
-
114
- curl --request POST \
115
- --url https://app.asana.com/api/1.0/sections/$section_id/addTask \
116
- --header 'accept: application/json' \
117
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
118
- --header 'content-type: application/json' \
119
- --data "$DATA_BODY"
@@ -1,172 +0,0 @@
1
- name: Github --> Asana Issue Updates Workflow
2
-
3
- on:
4
- issues:
5
- types: [edited, deleted, closed, reopened, assigned, unassigned, labeled, unlabeled, milestoned, demilestoned, pinned, unpinned, locked, unlocked, transferred]
6
- workflow_dispatch:
7
-
8
- jobs:
9
- build:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- issues: read
13
- steps:
14
- - name: Get Asana Task Corresponding to Issue
15
- env:
16
- ISSUE_ID: ${{ github.event.issue.id }}
17
- REPO_FULL_NAME: ${{ github.event.repository.full_name }}
18
- WORKSPACE_ID: "780103692902078"
19
- run: |
20
- REPO_SCOPED_ISSUE_ID="$REPO_FULL_NAME#$ISSUE_ID"
21
-
22
- curl --request GET \
23
- --url "https://app.asana.com/api/1.0/workspaces/$WORKSPACE_ID/tasks/search?opt_fields=notes&text=$REPO_SCOPED_ISSUE_ID&sort_by=modified_at&sort_ascending=false" \
24
- --header 'accept: application/json' \
25
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
26
- --output response.json
27
- TASK_GID=$(jq -r '.data[0].gid' response.json)
28
- echo "TASK_GID=$TASK_GID" >> $GITHUB_ENV
29
- - name: Determine Action and Post to Asana
30
- env:
31
- ACTION_TYPE: ${{ github.event.action }}
32
- ACTOR_NAME: ${{ github.event.sender.login }}
33
- ISSUE_TITLE: ${{ github.event.issue.title }}
34
- ISSUE_NUMBER: ${{ github.event.issue.number }}
35
- ISSUE_STATE: ${{ github.event.issue.state }}
36
- run: |
37
- # Map GitHub action types to human-readable descriptions
38
- case "$ACTION_TYPE" in
39
- "edited")
40
- ACTION_DESC="edited the issue"
41
- ;;
42
- "deleted")
43
- ACTION_DESC="deleted the issue"
44
- ;;
45
- "closed")
46
- ACTION_DESC="closed the issue"
47
- ;;
48
- "reopened")
49
- ACTION_DESC="reopened the issue"
50
- ;;
51
- "assigned")
52
- ACTION_DESC="assigned the issue"
53
- ;;
54
- "unassigned")
55
- ACTION_DESC="unassigned the issue"
56
- ;;
57
- "labeled")
58
- ACTION_DESC="added labels to the issue"
59
- ;;
60
- "unlabeled")
61
- ACTION_DESC="removed labels from the issue"
62
- ;;
63
- "milestoned")
64
- ACTION_DESC="added the issue to a milestone"
65
- ;;
66
- "demilestoned")
67
- ACTION_DESC="removed the issue from a milestone"
68
- ;;
69
- "pinned")
70
- ACTION_DESC="pinned the issue"
71
- ;;
72
- "unpinned")
73
- ACTION_DESC="unpinned the issue"
74
- ;;
75
- "locked")
76
- ACTION_DESC="locked the issue"
77
- ;;
78
- "unlocked")
79
- ACTION_DESC="unlocked the issue"
80
- ;;
81
- "transferred")
82
- ACTION_DESC="transferred the issue"
83
- ;;
84
- *)
85
- ACTION_DESC="performed an action on the issue"
86
- ;;
87
- esac
88
-
89
- # Add additional context for specific actions based on webhook payload
90
- if [ "$ACTION_TYPE" = "assigned" ] && [ -n "${{ github.event.assignee.login }}" ]; then
91
- ACTION_DESC="assigned the issue to ${{ github.event.assignee.login }}"
92
- fi
93
-
94
- if [ "$ACTION_TYPE" = "unassigned" ] && [ -n "${{ github.event.assignee.login }}" ]; then
95
- ACTION_DESC="unassigned the issue from ${{ github.event.assignee.login }}"
96
- fi
97
-
98
- if [ "$ACTION_TYPE" = "labeled" ] && [ -n "${{ github.event.label.name }}" ]; then
99
- LABEL_COLOR="${{ github.event.label.color }}"
100
- ACTION_DESC="added label '${{ github.event.label.name }}' to the issue"
101
- if [ -n "$LABEL_COLOR" ]; then
102
- ACTION_DESC="$ACTION_DESC (color: #$LABEL_COLOR)"
103
- fi
104
- fi
105
-
106
- if [ "$ACTION_TYPE" = "unlabeled" ] && [ -n "${{ github.event.label.name }}" ]; then
107
- LABEL_COLOR="${{ github.event.label.color }}"
108
- ACTION_DESC="removed label '${{ github.event.label.name }}' from the issue"
109
- if [ -n "$LABEL_COLOR" ]; then
110
- ACTION_DESC="$ACTION_DESC (color: #$LABEL_COLOR)"
111
- fi
112
- fi
113
-
114
- if [ "$ACTION_TYPE" = "milestoned" ] && [ -n "${{ github.event.milestone.title }}" ]; then
115
- MILESTONE_DUE_DATE="${{ github.event.milestone.due_on }}"
116
- ACTION_DESC="added the issue to milestone '${{ github.event.milestone.title }}'"
117
- if [ -n "$MILESTONE_DUE_DATE" ] && [ "$MILESTONE_DUE_DATE" != "null" ]; then
118
- ACTION_DESC="$ACTION_DESC (due: $MILESTONE_DUE_DATE)"
119
- fi
120
- fi
121
-
122
- if [ "$ACTION_TYPE" = "demilestoned" ] && [ -n "${{ github.event.milestone.title }}" ]; then
123
- ACTION_DESC="removed the issue from milestone '${{ github.event.milestone.title }}'"
124
- fi
125
-
126
- if [ "$ACTION_TYPE" = "transferred" ] && [ -n "${{ github.event.changes.new_repository.full_name }}" ]; then
127
- ACTION_DESC="transferred the issue to repository ${{ github.event.changes.new_repository.full_name }}"
128
- fi
129
-
130
- if [ "$ACTION_TYPE" = "edited" ] && [ -n "${{ github.event.changes.title.from }}" ]; then
131
- OLD_TITLE="${{ github.event.changes.title.from }}"
132
- NEW_TITLE="${{ github.event.issue.title }}"
133
- ACTION_DESC="edited the issue title from '$OLD_TITLE' to '$NEW_TITLE'"
134
- fi
135
-
136
- echo "ACTION_DESC=$ACTION_DESC" >> $GITHUB_ENV
137
-
138
- # Only proceed if we found a task
139
- if [ "$TASK_GID" != "null" ] && [ -n "$TASK_GID" ]; then
140
- # Create a more detailed message with additional context
141
- MESSAGE_TEXT="$ACTOR_NAME performed an action: $ACTION_DESC"
142
-
143
- # Add issue state information for state changes
144
- if [ "$ACTION_TYPE" = "closed" ] || [ "$ACTION_TYPE" = "reopened" ]; then
145
- MESSAGE_TEXT=$(printf "%s\nIssue state: %s" "$MESSAGE_TEXT" "$ISSUE_STATE")
146
- fi
147
-
148
- # Add repository information for transferred issues
149
- if [ "$ACTION_TYPE" = "transferred" ]; then
150
- REPO_NAME="${{ github.event.repository.full_name }}"
151
- MESSAGE_TEXT=$(printf "%s\nFrom repository: %s" "$MESSAGE_TEXT" "$REPO_NAME")
152
- fi
153
-
154
- MESSAGE_TEXT=$(printf "%s\n\nIssue: #%s - %s" "$MESSAGE_TEXT" "$ISSUE_NUMBER" "$ISSUE_TITLE")
155
-
156
- BODY_DATA=$(jq -n \
157
- --arg text "$MESSAGE_TEXT" \
158
- '{
159
- "data": {
160
- "text": $text
161
- }
162
- }')
163
-
164
- curl --request POST \
165
- --url https://app.asana.com/api/1.0/tasks/$TASK_GID/stories \
166
- --header 'accept: application/json' \
167
- --header 'authorization: Bearer ${{ secrets.ASANA_PAT }}' \
168
- --header 'content-type: application/json' \
169
- --data "$BODY_DATA"
170
- else
171
- echo "No corresponding Asana task found for issue ID: $ISSUE_ID"
172
- fi