@itentialopensource/adapter-jira 1.7.4 → 1.7.6

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 (183) hide show
  1. package/AUTH.md +39 -0
  2. package/BROKER.md +199 -0
  3. package/CALLS.md +9587 -0
  4. package/CHANGELOG.md +16 -0
  5. package/CODE_OF_CONDUCT.md +12 -17
  6. package/CONTRIBUTING.md +88 -74
  7. package/ENHANCE.md +69 -0
  8. package/PROPERTIES.md +641 -0
  9. package/README.md +225 -502
  10. package/SUMMARY.md +9 -0
  11. package/SYSTEMINFO.md +11 -0
  12. package/TROUBLESHOOT.md +47 -0
  13. package/adapter.js +10821 -59
  14. package/adapterBase.js +1030 -248
  15. package/entities/.generic/action.json +110 -5
  16. package/entities/.generic/schema.json +6 -1
  17. package/entities/Avatars/action.json +63 -0
  18. package/entities/Avatars/schema.json +4 -1
  19. package/entities/Dashboards/action.json +80 -0
  20. package/entities/Dashboards/mockdatafiles/copyDashboard-default.json +13 -0
  21. package/entities/Dashboards/mockdatafiles/createDashboard-default.json +13 -0
  22. package/entities/Dashboards/mockdatafiles/updateDashboard-default.json +13 -0
  23. package/entities/Dashboards/schema.json +5 -1
  24. package/entities/Groups/action.json +21 -0
  25. package/entities/Groups/mockdatafiles/bulkGetGroups-default.json +16 -0
  26. package/entities/Groups/schema.json +2 -1
  27. package/entities/InstanceInformation/action.json +25 -0
  28. package/entities/InstanceInformation/mockdatafiles/getLicense-default.json +20 -0
  29. package/entities/InstanceInformation/schema.json +19 -0
  30. package/entities/IssueCustomFieldConfigurationApps/action.json +45 -0
  31. package/entities/IssueCustomFieldConfigurationApps/mockdatafiles/getCustomFieldConfiguration-default.json +34 -0
  32. package/entities/IssueCustomFieldConfigurationApps/schema.json +20 -0
  33. package/entities/IssueCustomFieldContexts/action.json +268 -0
  34. package/entities/IssueCustomFieldContexts/mockdatafiles/createCustomFieldContext-default.json +9 -0
  35. package/entities/IssueCustomFieldContexts/mockdatafiles/getContextsForField-default.json +22 -0
  36. package/entities/IssueCustomFieldContexts/mockdatafiles/getCustomFieldContextsForProjectsAndIssueTypes-default.json +23 -0
  37. package/entities/IssueCustomFieldContexts/mockdatafiles/getDefaultValues-default.json +22 -0
  38. package/entities/IssueCustomFieldContexts/mockdatafiles/getIssueTypeMappingsForContexts-default.json +20 -0
  39. package/entities/IssueCustomFieldContexts/mockdatafiles/getProjectContextMapping-default.json +16 -0
  40. package/entities/IssueCustomFieldContexts/schema.json +31 -0
  41. package/entities/IssueCustomFieldOptions/action.json +105 -0
  42. package/entities/IssueCustomFieldOptions/mockdatafiles/createCustomFieldOption-default.json +20 -0
  43. package/entities/IssueCustomFieldOptions/mockdatafiles/getOptionsForContext-default.json +26 -0
  44. package/entities/IssueCustomFieldOptions/mockdatafiles/updateCustomFieldOption-default.json +19 -0
  45. package/entities/IssueCustomFieldOptions/schema.json +23 -0
  46. package/entities/IssueCustomFieldValuesApps/action.json +44 -0
  47. package/entities/IssueCustomFieldValuesApps/schema.json +20 -0
  48. package/entities/IssueFieldConfigurations/action.json +309 -0
  49. package/entities/IssueFieldConfigurations/mockdatafiles/createFieldConfiguration-default.json +5 -0
  50. package/entities/IssueFieldConfigurations/mockdatafiles/createFieldConfigurationScheme-default.json +5 -0
  51. package/entities/IssueFieldConfigurations/mockdatafiles/getAllFieldConfigurationSchemes-default.json +23 -0
  52. package/entities/IssueFieldConfigurations/mockdatafiles/getAllFieldConfigurations-default.json +19 -0
  53. package/entities/IssueFieldConfigurations/mockdatafiles/getFieldConfigurationItems-default.json +19 -0
  54. package/entities/IssueFieldConfigurations/mockdatafiles/getFieldConfigurationSchemeMappings-default.json +33 -0
  55. package/entities/IssueFieldConfigurations/mockdatafiles/getFieldConfigurationSchemeProjectMapping-default.json +26 -0
  56. package/entities/IssueFieldConfigurations/schema.json +33 -0
  57. package/entities/IssueTypeSchemes/action.json +207 -0
  58. package/entities/IssueTypeSchemes/mockdatafiles/createIssueTypeScheme-default.json +3 -0
  59. package/entities/IssueTypeSchemes/mockdatafiles/getAllIssueTypeSchemes-default.json +26 -0
  60. package/entities/IssueTypeSchemes/mockdatafiles/getIssueTypeSchemeForProjects-default.json +44 -0
  61. package/entities/IssueTypeSchemes/mockdatafiles/getIssueTypeSchemesMapping-default.json +24 -0
  62. package/entities/IssueTypeSchemes/schema.json +28 -0
  63. package/entities/IssueTypeScreenSchemes/action.json +228 -0
  64. package/entities/IssueTypeScreenSchemes/mockdatafiles/createIssueTypeScreenScheme-default.json +3 -0
  65. package/entities/IssueTypeScreenSchemes/mockdatafiles/getIssueTypeScreenSchemeMappings-default.json +28 -0
  66. package/entities/IssueTypeScreenSchemes/mockdatafiles/getIssueTypeScreenSchemeProjectAssociations-default.json +19 -0
  67. package/entities/IssueTypeScreenSchemes/mockdatafiles/getIssueTypeScreenSchemes-default.json +18 -0
  68. package/entities/IssueTypeScreenSchemes/mockdatafiles/getProjectsForIssueTypeScreenScheme-default.json +27 -0
  69. package/entities/IssueTypeScreenSchemes/schema.json +29 -0
  70. package/entities/Issueattachments/action.json +42 -0
  71. package/entities/Issueattachments/schema.json +3 -1
  72. package/entities/Issuefields/action.json +122 -0
  73. package/entities/Issuefields/mockdatafiles/getContextsForFieldDeprecated-default.json +12 -0
  74. package/entities/Issuefields/mockdatafiles/getFieldsPaginated-default.json +46 -0
  75. package/entities/Issuefields/schema.json +7 -1
  76. package/entities/Issueproperties/action.json +40 -0
  77. package/entities/Issueproperties/schema.json +3 -1
  78. package/entities/Issues/action.json +45 -0
  79. package/entities/Issues/mockdatafiles/getChangeLogsByIds-default.json +65 -0
  80. package/entities/Issues/mockdatafiles/getEvents-default.json +10 -0
  81. package/entities/Issues/schema.json +20 -0
  82. package/entities/Issuesearch/action.json +20 -0
  83. package/entities/Issuesearch/mockdatafiles/matchIssues-default.json +29 -0
  84. package/entities/Issuesearch/schema.json +2 -1
  85. package/entities/Issuesecuritylevel/action.json +21 -0
  86. package/entities/Issuesecuritylevel/mockdatafiles/getIssueSecurityLevelMembers-default.json +46 -0
  87. package/entities/Issuesecuritylevel/schema.json +2 -1
  88. package/entities/Issuetypes/action.json +21 -0
  89. package/entities/Issuetypes/mockdatafiles/getIssueTypesForProject-default.json +39 -0
  90. package/entities/Issuetypes/schema.json +2 -1
  91. package/entities/Issuewatchers/action.json +20 -0
  92. package/entities/Issuewatchers/mockdatafiles/getIsWatchingIssueBulk-default.json +7 -0
  93. package/entities/Issuewatchers/schema.json +2 -1
  94. package/entities/JQL/action.json +40 -0
  95. package/entities/JQL/mockdatafiles/getAutoCompletePost-default.json +89 -0
  96. package/entities/JQL/mockdatafiles/parseJqlQueries-default.json +119 -0
  97. package/entities/JQL/schema.json +3 -1
  98. package/entities/Jiraexpressions/action.json +20 -0
  99. package/entities/Jiraexpressions/mockdatafiles/analyseExpression-default.json +47 -0
  100. package/entities/Jiraexpressions/schema.json +2 -1
  101. package/entities/Labels/action.json +25 -0
  102. package/entities/Labels/mockdatafiles/getAllLabels-default.json +10 -0
  103. package/entities/Labels/schema.json +19 -0
  104. package/entities/ProjectEmail/action.json +45 -0
  105. package/entities/ProjectEmail/mockdatafiles/getProjectEmail-default.json +6 -0
  106. package/entities/ProjectEmail/schema.json +20 -0
  107. package/entities/ProjectFeatures/action.json +45 -0
  108. package/entities/ProjectFeatures/mockdatafiles/getFeaturesForProject-default.json +24 -0
  109. package/entities/ProjectFeatures/mockdatafiles/toggleFeatureForProject-default.json +24 -0
  110. package/entities/ProjectFeatures/schema.json +20 -0
  111. package/entities/Projects/action.json +102 -0
  112. package/entities/Projects/mockdatafiles/getHierarchy-default.json +50 -0
  113. package/entities/Projects/mockdatafiles/getRecent-default.json +50 -0
  114. package/entities/Projects/mockdatafiles/restore-default.json +139 -0
  115. package/entities/Projects/schema.json +6 -1
  116. package/entities/Projecttypes/action.json +21 -0
  117. package/entities/Projecttypes/mockdatafiles/getAllAccessibleProjectTypes-default.json +16 -0
  118. package/entities/Projecttypes/schema.json +2 -1
  119. package/entities/ScreenSchemes/action.json +85 -0
  120. package/entities/ScreenSchemes/mockdatafiles/createScreenScheme-default.json +3 -0
  121. package/entities/ScreenSchemes/mockdatafiles/getScreenSchemes-default.json +28 -0
  122. package/entities/ScreenSchemes/schema.json +22 -0
  123. package/entities/Screens/action.json +81 -0
  124. package/entities/Screens/mockdatafiles/createScreen-default.json +5 -0
  125. package/entities/Screens/mockdatafiles/getScreensForField-default.json +17 -0
  126. package/entities/Screens/mockdatafiles/updateScreen-default.json +5 -0
  127. package/entities/Screens/schema.json +5 -1
  128. package/entities/Users/action.json +84 -0
  129. package/entities/Users/mockdatafiles/getAllUsers-default.json +32 -0
  130. package/entities/Users/mockdatafiles/getAllUsersDefault-default.json +32 -0
  131. package/entities/Users/mockdatafiles/getUserEmail-default.json +1 -0
  132. package/entities/Users/schema.json +5 -1
  133. package/entities/Webhooks/action.json +106 -0
  134. package/entities/Webhooks/mockdatafiles/getDynamicWebhooksForApp-default.json +40 -0
  135. package/entities/Webhooks/mockdatafiles/getFailedWebhooks-default.json +17 -0
  136. package/entities/Webhooks/mockdatafiles/refreshWebhooks-default.json +3 -0
  137. package/entities/Webhooks/mockdatafiles/registerDynamicWebhooks-default.json +15 -0
  138. package/entities/Webhooks/schema.json +23 -0
  139. package/entities/WorkflowSchemeProjectAssociations/action.json +45 -0
  140. package/entities/WorkflowSchemeProjectAssociations/mockdatafiles/getWorkflowSchemeProjectAssociations-default.json +21 -0
  141. package/entities/WorkflowSchemeProjectAssociations/schema.json +20 -0
  142. package/entities/WorkflowTransitionRules/action.json +65 -0
  143. package/entities/WorkflowTransitionRules/mockdatafiles/deleteWorkflowTransitionRuleConfigurations-default.json +34 -0
  144. package/entities/WorkflowTransitionRules/mockdatafiles/getWorkflowTransitionRuleConfigurations-default.json +56 -0
  145. package/entities/WorkflowTransitionRules/mockdatafiles/updateWorkflowTransitionRuleConfigurations-default.json +34 -0
  146. package/entities/WorkflowTransitionRules/schema.json +21 -0
  147. package/entities/Workflows/action.json +61 -0
  148. package/entities/Workflows/mockdatafiles/createWorkflow-default.json +4 -0
  149. package/entities/Workflows/mockdatafiles/getWorkflowsPaginated-default.json +140 -0
  150. package/entities/Workflows/schema.json +4 -1
  151. package/entities/Workflowschemedrafts/action.json +20 -0
  152. package/entities/Workflowschemedrafts/schema.json +2 -1
  153. package/entities/Workflowschemes/action.json +21 -0
  154. package/entities/Workflowschemes/mockdatafiles/getAllWorkflowSchemes-default.json +30 -0
  155. package/entities/Workflowschemes/schema.json +2 -1
  156. package/error.json +12 -0
  157. package/package.json +21 -13
  158. package/pronghorn.json +33339 -5948
  159. package/propertiesDecorators.json +14 -0
  160. package/propertiesSchema.json +436 -0
  161. package/refs?service=git-upload-pack +0 -0
  162. package/report/adapterInfo.json +10 -0
  163. package/report/updateReport1659707107792.json +120 -0
  164. package/sampleProperties.json +95 -3
  165. package/test/integration/adapterTestBasicGet.js +2 -2
  166. package/test/integration/adapterTestIntegration.js +3633 -106
  167. package/test/unit/adapterBaseTestUnit.js +35 -27
  168. package/test/unit/adapterTestUnit.js +4767 -115
  169. package/utils/adapterInfo.js +206 -0
  170. package/utils/addAuth.js +94 -0
  171. package/utils/basicGet.js +1 -14
  172. package/utils/entitiesToDB.js +179 -0
  173. package/utils/methodDocumentor.js +225 -0
  174. package/utils/modify.js +1 -1
  175. package/utils/packModificationScript.js +1 -1
  176. package/utils/patches2bundledDeps.js +90 -0
  177. package/utils/pre-commit.sh +5 -0
  178. package/utils/removeHooks.js +20 -0
  179. package/utils/tbScript.js +43 -22
  180. package/utils/tbUtils.js +126 -29
  181. package/utils/testRunner.js +16 -16
  182. package/utils/troubleshootingAdapter.js +2 -26
  183. package/versions.json +142 -0
@@ -0,0 +1,89 @@
1
+ {
2
+ "visibleFieldNames": [
3
+ {
4
+ "value": "summary",
5
+ "displayName": "summary",
6
+ "orderable": "true",
7
+ "searchable": "true",
8
+ "operators": [
9
+ "~",
10
+ "!~",
11
+ "is",
12
+ "is not"
13
+ ],
14
+ "types": [
15
+ "java.lang.String"
16
+ ]
17
+ },
18
+ {
19
+ "value": "cf[10061]",
20
+ "displayName": "Component - cf[10061]",
21
+ "orderable": "true",
22
+ "auto": "true",
23
+ "cfid": "cf[10061]",
24
+ "operators": [
25
+ "=",
26
+ "!=",
27
+ "in",
28
+ "not in",
29
+ "is",
30
+ "is not"
31
+ ],
32
+ "types": [
33
+ "com.atlassian.jira.issue.customfields.option.Option"
34
+ ]
35
+ },
36
+ {
37
+ "value": "cf[10062]",
38
+ "displayName": "Component - cf[10062]",
39
+ "orderable": "true",
40
+ "auto": "true",
41
+ "cfid": "cf[10062]",
42
+ "operators": [
43
+ "=",
44
+ "!=",
45
+ "in",
46
+ "not in",
47
+ "is",
48
+ "is not"
49
+ ],
50
+ "types": [
51
+ "com.atlassian.jira.issue.customfields.option.Option"
52
+ ]
53
+ },
54
+ {
55
+ "value": "\"Component[Dropdown]\"",
56
+ "displayName": "Component - Component[Dropdown]",
57
+ "searchable": "true",
58
+ "auto": "true",
59
+ "operators": [
60
+ "=",
61
+ "!=",
62
+ "in",
63
+ "not in",
64
+ "is",
65
+ "is not"
66
+ ],
67
+ "types": [
68
+ "com.atlassian.jira.issue.customfields.option.Option"
69
+ ]
70
+ }
71
+ ],
72
+ "visibleFunctionNames": [
73
+ {
74
+ "value": "standardIssueTypes()",
75
+ "displayName": "standardIssueTypes()",
76
+ "isList": "true",
77
+ "types": [
78
+ "com.atlassian.jira.issue.issuetype.IssueType"
79
+ ]
80
+ }
81
+ ],
82
+ "jqlReservedWords": [
83
+ "empty",
84
+ "and",
85
+ "or",
86
+ "in",
87
+ "distinct"
88
+ ]
89
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "queries": [
3
+ {
4
+ "query": "summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER -5d ORDER BY updated DESC",
5
+ "structure": {
6
+ "where": {
7
+ "clauses": [
8
+ {
9
+ "field": {
10
+ "name": "summary"
11
+ },
12
+ "operator": "~",
13
+ "operand": {
14
+ "value": "test"
15
+ }
16
+ },
17
+ {
18
+ "clauses": [
19
+ {
20
+ "field": {
21
+ "name": "labels"
22
+ },
23
+ "operator": "in",
24
+ "operand": {
25
+ "values": [
26
+ {
27
+ "value": "urgent"
28
+ },
29
+ {
30
+ "value": "blocker"
31
+ }
32
+ ]
33
+ }
34
+ },
35
+ {
36
+ "field": {
37
+ "name": "lastCommentedBy",
38
+ "property": [
39
+ {
40
+ "entity": "issue",
41
+ "key": "propertyKey",
42
+ "path": "path.in.property",
43
+ "type": "user"
44
+ }
45
+ ]
46
+ },
47
+ "operator": "=",
48
+ "operand": {
49
+ "function": "currentUser",
50
+ "arguments": []
51
+ }
52
+ }
53
+ ],
54
+ "operator": "or"
55
+ },
56
+ {
57
+ "field": {
58
+ "name": "status"
59
+ },
60
+ "operator": "changed",
61
+ "predicates": [
62
+ {
63
+ "operator": "after",
64
+ "operand": {
65
+ "function": "startOfMonth",
66
+ "arguments": [
67
+ "-1M"
68
+ ]
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ ],
74
+ "operator": "and"
75
+ },
76
+ "orderBy": {
77
+ "fields": [
78
+ {
79
+ "field": {
80
+ "name": "updated"
81
+ },
82
+ "direction": "desc"
83
+ }
84
+ ]
85
+ }
86
+ }
87
+ },
88
+ {
89
+ "query": "invalid query",
90
+ "errors": [
91
+ "Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)"
92
+ ]
93
+ },
94
+ {
95
+ "query": "summary = test",
96
+ "errors": [
97
+ "The operator '=' is not supported by the 'summary' field."
98
+ ]
99
+ },
100
+ {
101
+ "query": "summary in test",
102
+ "errors": [
103
+ "Operator 'in' does not support the non-list value '\"test\"' for field 'summary'."
104
+ ]
105
+ },
106
+ {
107
+ "query": "project = INVALID",
108
+ "errors": [
109
+ "The value 'INVALID' does not exist for the field 'project'."
110
+ ]
111
+ },
112
+ {
113
+ "query": "universe = 42",
114
+ "errors": [
115
+ "Field 'universe' does not exist or you do not have permission to view it."
116
+ ]
117
+ }
118
+ ]
119
+ }
@@ -12,7 +12,9 @@
12
12
  "enum": [
13
13
  "getRestapi2jqlautocompletedata",
14
14
  "getRestapi2jqlautocompletedatasuggestions",
15
- "postRestapi2jqlpdcleaner"
15
+ "postRestapi2jqlpdcleaner",
16
+ "getAutoCompletePost",
17
+ "parseJqlQueries"
16
18
  ],
17
19
  "external_name": "ph_request_type"
18
20
  }
@@ -20,6 +20,26 @@
20
20
  "mockFile": "mockdatafiles/postRestapi2expressioneval-default.json"
21
21
  }
22
22
  ]
23
+ },
24
+ {
25
+ "name": "analyseExpression",
26
+ "protocol": "REST",
27
+ "method": "POST",
28
+ "entitypath": "{base_path}/{version}/expression/analyse?{query}",
29
+ "requestSchema": "schema.json",
30
+ "responseSchema": "schema.json",
31
+ "timeout": 0,
32
+ "sendEmpty": false,
33
+ "requestDatatype": "JSON",
34
+ "responseDatatype": "JSON",
35
+ "headers": {},
36
+ "responseObjects": [
37
+ {
38
+ "type": "default",
39
+ "key": "",
40
+ "mockFile": "mockdatafiles/analyseExpression-default.json"
41
+ }
42
+ ]
23
43
  }
24
44
  ]
25
45
  }
@@ -0,0 +1,47 @@
1
+ {
2
+ "results": [
3
+ {
4
+ "expression": "analysed expression",
5
+ "errors": [
6
+ {
7
+ "line": 1,
8
+ "column": 4,
9
+ "message": "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.",
10
+ "type": "syntax"
11
+ },
12
+ {
13
+ "message": "Jira expression is too long (1040), limit: 1000 characters",
14
+ "type": "other"
15
+ },
16
+ {
17
+ "message": "Jira expression has too many nodes (150), limit: 100 leaves",
18
+ "type": "other"
19
+ }
20
+ ],
21
+ "valid": false
22
+ },
23
+ {
24
+ "expression": "issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})",
25
+ "valid": true,
26
+ "type": "List<{idAndKey: [Number, String], summary: String, comments: List<Comment>}>",
27
+ "complexity": {
28
+ "expensiveOperations": "N",
29
+ "variables": {
30
+ "N": "issues"
31
+ }
32
+ }
33
+ },
34
+ {
35
+ "expression": "issues.map(i => i.id > '0')",
36
+ "errors": [
37
+ {
38
+ "expression": "i.id > 0",
39
+ "message": "Can't compare Number to String.",
40
+ "type": "type"
41
+ }
42
+ ],
43
+ "valid": false,
44
+ "type": "TypeError"
45
+ }
46
+ ]
47
+ }
@@ -10,7 +10,8 @@
10
10
  "description": "type of request (internal to adapter)",
11
11
  "default": "postRestapi2expressioneval",
12
12
  "enum": [
13
- "postRestapi2expressioneval"
13
+ "postRestapi2expressioneval",
14
+ "analyseExpression"
14
15
  ],
15
16
  "external_name": "ph_request_type"
16
17
  }
@@ -0,0 +1,25 @@
1
+ {
2
+ "actions": [
3
+ {
4
+ "name": "getAllLabels",
5
+ "protocol": "REST",
6
+ "method": "GET",
7
+ "entitypath": "{base_path}/{version}/label?{query}",
8
+ "requestSchema": "schema.json",
9
+ "responseSchema": "schema.json",
10
+ "timeout": 0,
11
+ "sendEmpty": false,
12
+ "sendGetBody": false,
13
+ "requestDatatype": "JSON",
14
+ "responseDatatype": "JSON",
15
+ "headers": {},
16
+ "responseObjects": [
17
+ {
18
+ "type": "default",
19
+ "key": "",
20
+ "mockFile": "mockdatafiles/getAllLabels-default.json"
21
+ }
22
+ ]
23
+ }
24
+ ]
25
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "maxResults": 2,
3
+ "startAt": 0,
4
+ "total": 100,
5
+ "isLast": false,
6
+ "values": [
7
+ "performance",
8
+ "security"
9
+ ]
10
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$id": "schema.json",
3
+ "type": "object",
4
+ "schema": "http://json-schema.org/draft-07/schema#",
5
+ "translate": false,
6
+ "dynamicfields": true,
7
+ "properties": {
8
+ "ph_request_type": {
9
+ "type": "string",
10
+ "description": "type of request (internal to adapter)",
11
+ "default": "",
12
+ "enum": [
13
+ "getAllLabels"
14
+ ],
15
+ "external_name": "ph_request_type"
16
+ }
17
+ },
18
+ "definitions": {}
19
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "actions": [
3
+ {
4
+ "name": "getProjectEmail",
5
+ "protocol": "REST",
6
+ "method": "GET",
7
+ "entitypath": "{base_path}/{version}/project/{pathv1}/email?{query}",
8
+ "requestSchema": "schema.json",
9
+ "responseSchema": "schema.json",
10
+ "timeout": 0,
11
+ "sendEmpty": false,
12
+ "sendGetBody": false,
13
+ "requestDatatype": "JSON",
14
+ "responseDatatype": "JSON",
15
+ "headers": {},
16
+ "responseObjects": [
17
+ {
18
+ "type": "default",
19
+ "key": "",
20
+ "mockFile": "mockdatafiles/getProjectEmail-default.json"
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "name": "updateProjectEmail",
26
+ "protocol": "REST",
27
+ "method": "PUT",
28
+ "entitypath": "{base_path}/{version}/project/{pathv1}/email?{query}",
29
+ "requestSchema": "schema.json",
30
+ "responseSchema": "schema.json",
31
+ "timeout": 0,
32
+ "sendEmpty": false,
33
+ "requestDatatype": "JSON",
34
+ "responseDatatype": "JSON",
35
+ "headers": {},
36
+ "responseObjects": [
37
+ {
38
+ "type": "default",
39
+ "key": "",
40
+ "mockFile": ""
41
+ }
42
+ ]
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "emailAddress": "jira@example.customdomain.com",
3
+ "emailAddressStatus": [
4
+ "Email address or domain not verified."
5
+ ]
6
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "schema.json",
3
+ "type": "object",
4
+ "schema": "http://json-schema.org/draft-07/schema#",
5
+ "translate": false,
6
+ "dynamicfields": true,
7
+ "properties": {
8
+ "ph_request_type": {
9
+ "type": "string",
10
+ "description": "type of request (internal to adapter)",
11
+ "default": "",
12
+ "enum": [
13
+ "getProjectEmail",
14
+ "updateProjectEmail"
15
+ ],
16
+ "external_name": "ph_request_type"
17
+ }
18
+ },
19
+ "definitions": {}
20
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "actions": [
3
+ {
4
+ "name": "getFeaturesForProject",
5
+ "protocol": "REST",
6
+ "method": "GET",
7
+ "entitypath": "{base_path}/{version}/project/{pathv1}/features?{query}",
8
+ "requestSchema": "schema.json",
9
+ "responseSchema": "schema.json",
10
+ "timeout": 0,
11
+ "sendEmpty": false,
12
+ "sendGetBody": false,
13
+ "requestDatatype": "JSON",
14
+ "responseDatatype": "JSON",
15
+ "headers": {},
16
+ "responseObjects": [
17
+ {
18
+ "type": "default",
19
+ "key": "",
20
+ "mockFile": "mockdatafiles/getFeaturesForProject-default.json"
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "name": "toggleFeatureForProject",
26
+ "protocol": "REST",
27
+ "method": "PUT",
28
+ "entitypath": "{base_path}/{version}/project/{pathv1}/features/{pathv2}?{query}",
29
+ "requestSchema": "schema.json",
30
+ "responseSchema": "schema.json",
31
+ "timeout": 0,
32
+ "sendEmpty": false,
33
+ "requestDatatype": "JSON",
34
+ "responseDatatype": "JSON",
35
+ "headers": {},
36
+ "responseObjects": [
37
+ {
38
+ "type": "default",
39
+ "key": "",
40
+ "mockFile": "mockdatafiles/toggleFeatureForProject-default.json"
41
+ }
42
+ ]
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "features": [
3
+ {
4
+ "projectId": 10001,
5
+ "state": "ENABLED",
6
+ "toggleLocked": true,
7
+ "feature": "jsw.classic.roadmap",
8
+ "prerequisites": [],
9
+ "localisedName": "Roadmap",
10
+ "localisedDescription": "Your roadmap is an optimized location to create and manage your epics.",
11
+ "imageUri": "https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-roadmap-feature.svg"
12
+ },
13
+ {
14
+ "projectId": 10001,
15
+ "state": "ENABLED",
16
+ "toggleLocked": true,
17
+ "feature": "jsw.classic.backlog",
18
+ "prerequisites": [],
19
+ "localisedName": "Backlog",
20
+ "localisedDescription": "Plan and prioritize work in a dedicated space. To enable and configure the backlog for each board, go to board settings.",
21
+ "imageUri": "https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-backlog-feature.svg"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "features": [
3
+ {
4
+ "projectId": 10001,
5
+ "state": "ENABLED",
6
+ "toggleLocked": true,
7
+ "feature": "jsw.classic.roadmap",
8
+ "prerequisites": [],
9
+ "localisedName": "Roadmap",
10
+ "localisedDescription": "Your roadmap is an optimized location to create and manage your epics.",
11
+ "imageUri": "https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-roadmap-feature.svg"
12
+ },
13
+ {
14
+ "projectId": 10001,
15
+ "state": "ENABLED",
16
+ "toggleLocked": true,
17
+ "feature": "jsw.classic.backlog",
18
+ "prerequisites": [],
19
+ "localisedName": "Backlog",
20
+ "localisedDescription": "Plan and prioritize work in a dedicated space. To enable and configure the backlog for each board, go to board settings.",
21
+ "imageUri": "https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-backlog-feature.svg"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "schema.json",
3
+ "type": "object",
4
+ "schema": "http://json-schema.org/draft-07/schema#",
5
+ "translate": false,
6
+ "dynamicfields": true,
7
+ "properties": {
8
+ "ph_request_type": {
9
+ "type": "string",
10
+ "description": "type of request (internal to adapter)",
11
+ "default": "",
12
+ "enum": [
13
+ "getFeaturesForProject",
14
+ "toggleFeatureForProject"
15
+ ],
16
+ "external_name": "ph_request_type"
17
+ }
18
+ },
19
+ "definitions": {}
20
+ }
@@ -188,6 +188,108 @@
188
188
  "mockFile": "mockdatafiles/putRestapi2projectprojectIdOrKeytypenewProjectTypeKey-default.json"
189
189
  }
190
190
  ]
191
+ },
192
+ {
193
+ "name": "getRecent",
194
+ "protocol": "REST",
195
+ "method": "GET",
196
+ "entitypath": "{base_path}/{version}/project/recent?{query}",
197
+ "requestSchema": "schema.json",
198
+ "responseSchema": "schema.json",
199
+ "timeout": 0,
200
+ "sendEmpty": false,
201
+ "sendGetBody": false,
202
+ "requestDatatype": "JSON",
203
+ "responseDatatype": "JSON",
204
+ "headers": {},
205
+ "responseObjects": [
206
+ {
207
+ "type": "default",
208
+ "key": "",
209
+ "mockFile": "mockdatafiles/getRecent-default.json"
210
+ }
211
+ ]
212
+ },
213
+ {
214
+ "name": "archiveProject",
215
+ "protocol": "REST",
216
+ "method": "POST",
217
+ "entitypath": "{base_path}/{version}/project/{pathv1}/archive?{query}",
218
+ "requestSchema": "schema.json",
219
+ "responseSchema": "schema.json",
220
+ "timeout": 0,
221
+ "sendEmpty": false,
222
+ "requestDatatype": "JSON",
223
+ "responseDatatype": "JSON",
224
+ "headers": {},
225
+ "responseObjects": [
226
+ {
227
+ "type": "default",
228
+ "key": "",
229
+ "mockFile": ""
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "name": "deleteProjectAsynchronously",
235
+ "protocol": "REST",
236
+ "method": "POST",
237
+ "entitypath": "{base_path}/{version}/project/{pathv1}/delete?{query}",
238
+ "requestSchema": "schema.json",
239
+ "responseSchema": "schema.json",
240
+ "timeout": 0,
241
+ "sendEmpty": false,
242
+ "requestDatatype": "JSON",
243
+ "responseDatatype": "JSON",
244
+ "headers": {},
245
+ "responseObjects": [
246
+ {
247
+ "type": "default",
248
+ "key": "",
249
+ "mockFile": ""
250
+ }
251
+ ]
252
+ },
253
+ {
254
+ "name": "restore",
255
+ "protocol": "REST",
256
+ "method": "POST",
257
+ "entitypath": "{base_path}/{version}/project/{pathv1}/restore?{query}",
258
+ "requestSchema": "schema.json",
259
+ "responseSchema": "schema.json",
260
+ "timeout": 0,
261
+ "sendEmpty": false,
262
+ "requestDatatype": "JSON",
263
+ "responseDatatype": "JSON",
264
+ "headers": {},
265
+ "responseObjects": [
266
+ {
267
+ "type": "default",
268
+ "key": "",
269
+ "mockFile": "mockdatafiles/restore-default.json"
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "name": "getHierarchy",
275
+ "protocol": "REST",
276
+ "method": "GET",
277
+ "entitypath": "{base_path}/{version}/project/{pathv1}/hierarchy?{query}",
278
+ "requestSchema": "schema.json",
279
+ "responseSchema": "schema.json",
280
+ "timeout": 0,
281
+ "sendEmpty": false,
282
+ "sendGetBody": false,
283
+ "requestDatatype": "JSON",
284
+ "responseDatatype": "JSON",
285
+ "headers": {},
286
+ "responseObjects": [
287
+ {
288
+ "type": "default",
289
+ "key": "",
290
+ "mockFile": "mockdatafiles/getHierarchy-default.json"
291
+ }
292
+ ]
191
293
  }
192
294
  ]
193
295
  }