@atlassian/clientside-extensions-docs 2.4.0-dd1c430-kra20i84 → 2.4.1-docs-1
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.
- package/README.md +2 -5
- package/content/server/framework/clientside-extensions/get-help.md +2 -2
- package/content/server/framework/clientside-extensions/guides/extension-points/creating-an-extension-point.md +1 -1
- package/content/server/framework/clientside-extensions/guides/extension-points/extension-point-documentation.md +1 -1
- package/content/server/framework/clientside-extensions/guides/extension-points/index.md +38 -14
- package/content/server/framework/clientside-extensions/guides/extension-points/providing-context.md +1 -1
- package/content/server/framework/clientside-extensions/guides/extension-points/rendering-extensions.md +1 -1
- package/content/server/framework/clientside-extensions/guides/how-to/debugging-and-troubleshooting-an-extension.md +6 -5
- package/content/server/framework/clientside-extensions/guides/how-to/setup-page-bootstrapper.md +1 -1
- package/content/server/framework/clientside-extensions/guides/how-to/setup-schema-loader.md +37 -65
- package/content/server/framework/clientside-extensions/guides/how-to/setup-webpack-plugin.md +16 -2
- package/content/server/framework/clientside-extensions/guides/introduction/creating-a-modal.md +1 -1
- package/content/server/framework/clientside-extensions/guides/introduction/creating-a-page.md +1 -1
- package/content/server/framework/clientside-extensions/guides/introduction/creating-an-extension.md +1 -1
- package/content/server/framework/clientside-extensions/guides/introduction/custom-HTML-content.md +1 -1
- package/content/server/framework/clientside-extensions/guides/introduction/discovering-extension-points.md +1 -1
- package/content/server/framework/clientside-extensions/guides/introduction/index.md +17 -2
- package/content/server/framework/clientside-extensions/guides/introduction/using-extension-api.md +1 -1
- package/content/server/framework/clientside-extensions/index.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-api/async-panel-api.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-api/index.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-api/modal-api.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-api/panel-api.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-api/render-element-as-react.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/async-panel.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/button.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/index.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/link.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/modal.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/page.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-factories/panel.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-points/extension-handlers.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-points/hooks-and-components.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-points/index.md +2 -2
- package/content/server/framework/clientside-extensions/reference/api/extension-points/schemas.md +1 -1
- package/content/server/framework/clientside-extensions/reference/api/extension-points-v1-deprecated.md +4 -4
- package/content/server/framework/clientside-extensions/reference/glossary/index.md +1 -1
- package/content/server/framework/clientside-extensions/reference/webpack-plugin/annotations.md +1 -1
- package/content/server/framework/clientside-extensions/reference/webpack-plugin/webpack-plugin.md +16 -2
- package/data/clientside-extensions.json +4 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -8,11 +8,8 @@ These docs will be published at:
|
|
|
8
8
|
|
|
9
9
|
## Preview
|
|
10
10
|
|
|
11
|
-
`
|
|
12
|
-
|
|
13
|
-
This will first install the Docker image needed to run the Atlassian Docs locally, and then start the server with the content locally at:
|
|
14
|
-
|
|
15
|
-
[http://localhost:8080/server/framework/clientside-extensions](http://localhost:8080/server/framework/clientside-extensions)
|
|
11
|
+
1. Install [Atlas CLI](https://developer.atlassian.com/platform/atlas-cli/users/install/) and DAC plugin `atlas plugin install -n dac`.
|
|
12
|
+
2. Run `yarn start` to start the server with the content locally at : [http://localhost:8080/server/framework/clientside-extensions](http://localhost:8080/server/framework/clientside-extensions)
|
|
16
13
|
|
|
17
14
|
## Validation
|
|
18
15
|
|
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: help
|
|
6
6
|
subcategory: get-help
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Get help
|
|
@@ -33,4 +33,4 @@ At the bottom of the page, there should be a green “Contact Support” button
|
|
|
33
33
|
|
|
34
34
|
## Additional links
|
|
35
35
|
|
|
36
|
-
- Check the [Debugging and troubleshooting an extension guide](/server/framework/clientside-extensions/guides/how-to/debugging-and-troubleshooting-an-extension
|
|
36
|
+
- Check the [Debugging and troubleshooting an extension guide](/server/framework/clientside-extensions/guides/how-to/debugging-and-troubleshooting-an-extension)
|
|
@@ -4,22 +4,25 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: devguide
|
|
6
6
|
subcategory: extension-points
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Getting started
|
|
11
11
|
|
|
12
12
|
{{% warning %}}
|
|
13
|
-
The APIs for creating extension points are based on the React framework and Atlaskit, meaning you can
|
|
13
|
+
The APIs for creating extension points are based on the React framework and Atlaskit, meaning you can
|
|
14
|
+
only use them if you're developing with React.
|
|
14
15
|
|
|
15
16
|
A framework agnostic solution is being designed and will be available on a future release.
|
|
16
17
|
{{% /warning %}}
|
|
17
18
|
|
|
18
19
|
For this tutorial, you will be creating an extension point on a page in Bitbucket Server 7.x.
|
|
19
20
|
|
|
20
|
-
The Bitbucket Server team provides a template to create a Bitbucket Plugin with all the tools already configured for
|
|
21
|
+
The Bitbucket Server team provides a template to create a Bitbucket Plugin with all the tools already configured for
|
|
22
|
+
you, including Client-side Extensions (CSE).
|
|
21
23
|
|
|
22
|
-
You can grab a copy by cloning
|
|
24
|
+
You can grab a copy by cloning
|
|
25
|
+
the [Bitbucket CSE template](https://bitbucket.org/atlassianlabs/bitbucket-client-side-extensions-template):
|
|
23
26
|
|
|
24
27
|
```
|
|
25
28
|
git clone git@bitbucket.org:atlassianlabs/bitbucket-client-side-extensions-template.git
|
|
@@ -27,7 +30,8 @@ git clone git@bitbucket.org:atlassianlabs/bitbucket-client-side-extensions-templ
|
|
|
27
30
|
|
|
28
31
|
{{% note %}}
|
|
29
32
|
If you want to create extension points on your own project, follow the guide on
|
|
30
|
-
[how to setup CSE schema-loader](/server/framework/clientside-extensions/guides/how-to/setup-schema-loader/) before you
|
|
33
|
+
[how to setup CSE schema-loader](/server/framework/clientside-extensions/guides/how-to/setup-schema-loader/) before you
|
|
34
|
+
get started.
|
|
31
35
|
{{% /note %}}
|
|
32
36
|
|
|
33
37
|
## Installing the requirements
|
|
@@ -53,9 +57,25 @@ To start Bitbucket from your project, run:
|
|
|
53
57
|
atlas-run -DskipTests
|
|
54
58
|
```
|
|
55
59
|
|
|
60
|
+
Once the Bitbucket starts, you should see this message in the terminal:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
bitbucket started successfully in XYZs at http://localhost:7990/bitbucket
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Now, you can open the browser and navigate to http://localhost:7990/bitbucket
|
|
67
|
+
|
|
68
|
+
### Default credentials
|
|
69
|
+
|
|
70
|
+
The local instance of Bitbucket requires you to log in using those credentials:
|
|
71
|
+
|
|
72
|
+
- username: `admin`
|
|
73
|
+
- password: `admin`
|
|
74
|
+
|
|
56
75
|
## Developing
|
|
57
76
|
|
|
58
|
-
The template comes with watchmode and hot reload configured for your front-end code. You can run the CSE watch server by
|
|
77
|
+
The template comes with watchmode and hot reload configured for your front-end code. You can run the CSE watch server by
|
|
78
|
+
executing:
|
|
59
79
|
|
|
60
80
|
```
|
|
61
81
|
npm start
|
|
@@ -63,12 +83,14 @@ npm start
|
|
|
63
83
|
|
|
64
84
|
## Working directory
|
|
65
85
|
|
|
66
|
-
You will be working on a blank page created
|
|
67
|
-
|
|
86
|
+
You will be working on a blank page created
|
|
87
|
+
with [CSE page extensions](/server/framework/clientside-extensions/reference/api/extension-factories/page/), and will
|
|
88
|
+
create an extension point named `extension.points.tutorial`.
|
|
68
89
|
|
|
69
90
|
{{% note %}}
|
|
70
|
-
It is not necessary to
|
|
71
|
-
|
|
91
|
+
It is not necessary to
|
|
92
|
+
use [CSE page extensions](/server/framework/clientside-extensions/reference/api/extension-factories/page/) to create an
|
|
93
|
+
extension point. This guide uses them to provide a clean environment for working with extension point APIs.
|
|
72
94
|
{{% /note %}}
|
|
73
95
|
|
|
74
96
|
All the exercises are going to be developed inside this directory:
|
|
@@ -77,14 +99,16 @@ All the exercises are going to be developed inside this directory:
|
|
|
77
99
|
|
|
78
100
|
There you will find:
|
|
79
101
|
|
|
80
|
-
- `./extension-points-page.jsx`: the blank page where you are going to create your extension point and render the
|
|
102
|
+
- `./extension-points-page.jsx`: the blank page where you are going to create your extension point and render the
|
|
103
|
+
extensions
|
|
81
104
|
- `./extensions/`: a set of extensions that you're going fetch and render throughout the guides.
|
|
82
105
|
|
|
83
|
-
Once you install and start Bitbucket Server from the template, you can head to the tutorial page
|
|
84
|
-
|
|
106
|
+
Once you install and start Bitbucket Server from the template, you can head to the tutorial page and should see the
|
|
107
|
+
title `extension.points.tutorial`
|
|
85
108
|
|
|
86
109
|
- http://localhost:7990/bitbucket/plugins/servlet/extension-points
|
|
87
110
|
|
|
88
111
|
## You're ready!
|
|
89
112
|
|
|
90
|
-
You're now ready
|
|
113
|
+
You're now ready
|
|
114
|
+
to [create your first extension point](/server/framework/clientside-extensions/guides/extension-points/creating-an-extension-point/)!
|
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: devguide
|
|
6
6
|
subcategory: how-to
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Debugging and troubleshooting an extension
|
|
@@ -32,13 +32,14 @@ Before you start troubleshooting the extension code, first, you should first ens
|
|
|
32
32
|
|
|
33
33
|
### Check if your plugin was loaded
|
|
34
34
|
|
|
35
|
-
1. First, you need to start the application, open the web browser, and navigate to the administration panel.
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
1. First, you need to start the application, open the web browser, and navigate to the administration panel of your application.
|
|
36
|
+
1. If you are using a local instance of Bitbucket or [Bitbucket CSE Template](https://bitbucket.org/atlassianlabs/bitbucket-client-side-extensions-template) project to develop the plugin, then use `admin` as the user and `admin` as the password to log in into the administration panel.
|
|
37
|
+
1. Next, find and navigate to the **Manage Apps** page.
|
|
38
|
+
1. On the list of all installed plugins, locate your plugin using **App key** (**plugin key**), and check whether all the plugin's modules are enabled:
|
|
38
39
|
|
|
39
40
|

|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
1. If your plugin is on the list and all the modules are enabled, you can proceed to the next step.
|
|
42
43
|
|
|
43
44
|
{{% tip %}}
|
|
44
45
|
|
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: devguide
|
|
6
6
|
subcategory: how-to
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-11-29'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Setting up the CSE schema-loader
|
|
@@ -36,10 +36,16 @@ In your webpack configuration, configure the loader to match `.cse.graphql` file
|
|
|
36
36
|
|
|
37
37
|
module.exports = {
|
|
38
38
|
// your webpack config
|
|
39
|
-
entry: {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
entry: {
|
|
40
|
+
/**/
|
|
41
|
+
},
|
|
42
|
+
output: {
|
|
43
|
+
/**/
|
|
44
|
+
},
|
|
45
|
+
plugins: [
|
|
46
|
+
/**/
|
|
47
|
+
],
|
|
48
|
+
// ...
|
|
43
49
|
|
|
44
50
|
module: {
|
|
45
51
|
rules: [
|
|
@@ -52,13 +58,13 @@ module.exports = {
|
|
|
52
58
|
cwd: path.resolve(__dirname, 'src', 'schemas'),
|
|
53
59
|
},
|
|
54
60
|
},
|
|
55
|
-
]
|
|
56
|
-
}
|
|
61
|
+
],
|
|
62
|
+
},
|
|
57
63
|
};
|
|
58
64
|
```
|
|
59
65
|
|
|
60
66
|
After configuring the loader, you will be able to import the [hooks and components](/server/framework/clientside-extensions/reference/api/extension-points/hooks-and-components/)
|
|
61
|
-
directly from the schema as
|
|
67
|
+
directly from the schema as follows:
|
|
62
68
|
|
|
63
69
|
`schema.cse.graphql`
|
|
64
70
|
|
|
@@ -97,7 +103,7 @@ const ExampleExtensionPoint = ({ context }) => {
|
|
|
97
103
|
|
|
98
104
|
return (
|
|
99
105
|
<>
|
|
100
|
-
{extensions.map(({attributes}) => <a href={attributes.url}>{attributes.label}</a>}
|
|
106
|
+
{extensions.map(({attributes}) => (<a href={attributes.url}>{attributes.label}</a>)}
|
|
101
107
|
</>
|
|
102
108
|
)
|
|
103
109
|
}
|
|
@@ -105,65 +111,29 @@ const ExampleExtensionPoint = ({ context }) => {
|
|
|
105
111
|
export default ExampleExtensionPoint;
|
|
106
112
|
```
|
|
107
113
|
|
|
108
|
-
## 3.
|
|
109
|
-
|
|
110
|
-
If you do not use React, there is a way to instead generate plain vanilla JavaScript code.
|
|
111
|
-
For this to happen, set the _generic_ option to `true`.
|
|
112
|
-
|
|
113
|
-
```js
|
|
114
|
-
// #webpack.config.js
|
|
115
|
-
|
|
116
|
-
module.exports = {
|
|
117
|
-
// your webpack config
|
|
118
|
-
entry: { /**/ },
|
|
119
|
-
output: {/**/},
|
|
120
|
-
plugins: [/**/],
|
|
121
|
-
...
|
|
122
|
-
|
|
123
|
-
module: {
|
|
124
|
-
rules: [
|
|
125
|
-
// Add a rule entry to the list of loaders
|
|
126
|
-
{
|
|
127
|
-
test: /\.cse.graphql$/,
|
|
128
|
-
loader: '@atlassian/clientside-extensions-schema/loader',
|
|
129
|
-
options: {
|
|
130
|
-
// You can specify a working dir
|
|
131
|
-
cwd: path.resolve(__dirname, 'src', 'schemas'),
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
// Rule to handle non-react extensions
|
|
135
|
-
{
|
|
136
|
-
test: /\.cse.generic.graphql$/,
|
|
137
|
-
loader: '@atlassian/clientside-extensions-schema/loader',
|
|
138
|
-
options: {
|
|
139
|
-
cwd: path.resolve(__dirname, 'src', 'schemas'),
|
|
140
|
-
// Enables vanilla javascript code generation
|
|
141
|
-
generic: true
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
]
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## 4. Sharing scalars and types
|
|
114
|
+
## 3. Sharing scalars and types
|
|
150
115
|
|
|
151
116
|
CSE provides a set of default [scalars and types](/server/framework/clientside-extensions/reference/api/extension-points/schemas/#provided-scalars)
|
|
152
117
|
that you will be using very often, but there are cases where you would like to share your own types and scalars
|
|
153
118
|
between schema definitions.
|
|
154
119
|
|
|
155
|
-
To do so, you can declare files with a name like `*.type.graphql` and configure the loader to include those
|
|
156
|
-
definition for all your schemas as follow:
|
|
120
|
+
To do so, you can declare files with a name like `*.type.graphql` and configure the loader to include those definitions for all your schemas as follows:
|
|
157
121
|
|
|
158
122
|
```js
|
|
159
123
|
// #webpack.config.js
|
|
160
124
|
|
|
161
125
|
module.exports = {
|
|
162
126
|
// your webpack config
|
|
163
|
-
entry: {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
127
|
+
entry: {
|
|
128
|
+
/**/
|
|
129
|
+
},
|
|
130
|
+
output: {
|
|
131
|
+
/**/
|
|
132
|
+
},
|
|
133
|
+
plugins: [
|
|
134
|
+
/**/
|
|
135
|
+
],
|
|
136
|
+
// ...
|
|
167
137
|
|
|
168
138
|
module: {
|
|
169
139
|
rules: [
|
|
@@ -173,11 +143,11 @@ module.exports = {
|
|
|
173
143
|
options: {
|
|
174
144
|
cwd: path.resolve(__dirname, 'src', 'schemas'),
|
|
175
145
|
// configure a pattern for your own shared types
|
|
176
|
-
providedTypes: '**/*.type.graphql'
|
|
146
|
+
providedTypes: '**/*.type.graphql',
|
|
177
147
|
},
|
|
178
148
|
},
|
|
179
|
-
]
|
|
180
|
-
}
|
|
149
|
+
],
|
|
150
|
+
},
|
|
181
151
|
};
|
|
182
152
|
```
|
|
183
153
|
|
|
@@ -237,13 +207,15 @@ When using `webpack` to load your extensions with the schema-loader at `@atlassi
|
|
|
237
207
|
you need to tell your test-runner how to interpret those imports. This `jest-transformer` will do exactly this, if you
|
|
238
208
|
run your tests using jest.
|
|
239
209
|
|
|
240
|
-
To use it add the following to your `jest`config:
|
|
210
|
+
To use it, add the following entry to your Jest `jest.config.js` config file:
|
|
241
211
|
|
|
242
212
|
```js
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
213
|
+
module.exports = {
|
|
214
|
+
transform: {
|
|
215
|
+
// A custom GraphQL transformer that provides React hooks and components for CSE
|
|
216
|
+
'^.+\\.extension\\.graphql$': require.resolve('@atlassian/clientside-extensions-schema/jest-graphql-transformer.js'),
|
|
217
|
+
},
|
|
218
|
+
};
|
|
247
219
|
```
|
|
248
220
|
|
|
249
221
|
{{% note %}}
|
package/content/server/framework/clientside-extensions/guides/how-to/setup-webpack-plugin.md
CHANGED
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: devguide
|
|
6
6
|
subcategory: how-to
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-11-29'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Setting up the CSE webpack plugin
|
|
@@ -64,7 +64,7 @@ module.exports = {
|
|
|
64
64
|
|
|
65
65
|
## 3. Configuring WRM webpack plugin
|
|
66
66
|
|
|
67
|
-
CSE webpack plugin makes use of [WRM webpack plugin](https://
|
|
67
|
+
CSE webpack plugin makes use of [WRM webpack plugin](https://www.npmjs.com/package/atlassian-webresource-webpack-plugin) to generate the
|
|
68
68
|
resource definitions for your extensions, so you also need to configure it.
|
|
69
69
|
|
|
70
70
|
In your webpack configuration, import `atlassian-webresource-webpack-plugin` and use as follows:
|
|
@@ -168,3 +168,17 @@ module.exports = {
|
|
|
168
168
|
},
|
|
169
169
|
};
|
|
170
170
|
```
|
|
171
|
+
|
|
172
|
+
## 5. Self troubleshooting tool
|
|
173
|
+
|
|
174
|
+
We provide a tool that helps troubleshoot the configuration of webpack and Atlassian P2 projects.
|
|
175
|
+
|
|
176
|
+
To check if your project was configured correctly, open a terminal and navigate to the root directory of your project. Next, run the troubleshooting command:
|
|
177
|
+
|
|
178
|
+
```shell
|
|
179
|
+
npx @atlassian/wrm-troubleshooting
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
The tool will ask you a few questions and guide you if it finds issues with your projects' configuration.
|
|
183
|
+
|
|
184
|
+
You can read more about the troubleshooting tool on the [NPM page for the `@atlassian/wrm-troubleshooting` package](https://www.npmjs.com/package/@atlassian/wrm-troubleshooting).
|
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: devguide
|
|
6
6
|
subcategory: introduction
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Getting started
|
|
@@ -49,9 +49,24 @@ To start Bitbucket from your project, run:
|
|
|
49
49
|
atlas-run -DskipTests
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
Once the Bitbucket starts, you should see this message in the terminal:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
bitbucket started successfully in XYZs at http://localhost:7990/bitbucket
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Now, you can open the browser and navigate to http://localhost:7990/bitbucket
|
|
59
|
+
|
|
60
|
+
### Default credentials
|
|
61
|
+
|
|
62
|
+
The local instance of Bitbucket requires you to log in using those credentials:
|
|
63
|
+
|
|
64
|
+
- username: `admin`
|
|
65
|
+
- password: `admin`
|
|
66
|
+
|
|
52
67
|
## Developing
|
|
53
68
|
|
|
54
|
-
The template comes with watchmode and hot reload configured for your front-end code. You can run the CSE watch server executing:
|
|
69
|
+
The template comes with watchmode and hot reload configured for your front-end code. You can run the CSE watch server by executing:
|
|
55
70
|
|
|
56
71
|
```
|
|
57
72
|
npm start
|
package/content/server/framework/clientside-extensions/reference/api/extension-points/index.md
CHANGED
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: reference
|
|
6
6
|
subcategory: api
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Extension Points
|
|
@@ -82,7 +82,7 @@ import { useExtensions } from './schema.cse.graphql';
|
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
{{% tip %}}
|
|
85
|
-
Follow the [How to setup CSE schema-loader](/server/framework/clientside-extensions/
|
|
85
|
+
Follow the [How to setup CSE schema-loader](/server/framework/clientside-extensions/guides/how-to/setup-schema-loader)
|
|
86
86
|
to learn how to install and configure the loader.
|
|
87
87
|
{{% /tip %}}
|
|
88
88
|
|
|
@@ -4,7 +4,7 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: reference
|
|
6
6
|
subcategory: api
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Extension Points v1 (deprecated)
|
|
@@ -18,7 +18,7 @@ guide for the latest API.
|
|
|
18
18
|
|
|
19
19
|
This is a guide for product developers or extension point owners.
|
|
20
20
|
|
|
21
|
-
First, make sure to install and provide Client-side Extensions in your Product as described in the [Installation Guide](https://bitbucket.org/atlassian/atlassian-clientside-extensions/src/
|
|
21
|
+
First, make sure to install and provide Client-side Extensions in your Product as described in the [Installation Guide for v1](https://bitbucket.org/atlassian/atlassian-clientside-extensions/src/v1.2.9/INSTALLATION.md).
|
|
22
22
|
|
|
23
23
|
Next, add `@atlassian/clientside-extensions-components` to your project.
|
|
24
24
|
These are a set of React components and hooks that will help you use the APIs when your code is written in React. As of this point no other framework is supported.
|
|
@@ -310,8 +310,8 @@ dropdown (place it in the dropdown trigger), or part of a Grid (place it in the
|
|
|
310
310
|
|
|
311
311
|
## Default extension types and handlers
|
|
312
312
|
|
|
313
|
-
Handlers continue to work the same on the recent version of CSE. Refer to the [extension handlers](/server/framework/clientside-extensions/reference/api/extension-handlers/) guide to learn how to use them.
|
|
313
|
+
Handlers continue to work the same on the recent version of CSE. Refer to the [extension handlers](/server/framework/clientside-extensions/reference/api/extension-points/extension-handlers/) guide to learn how to use them.
|
|
314
314
|
|
|
315
315
|
{{% warning %}}
|
|
316
|
-
Refer to the [extension handlers](/server/framework/clientside-extensions/reference/api/extension-handlers/) guide.
|
|
316
|
+
Refer to the [extension handlers](/server/framework/clientside-extensions/reference/api/extension-points/extension-handlers/) guide.
|
|
317
317
|
{{% /warning %}}
|
package/content/server/framework/clientside-extensions/reference/webpack-plugin/webpack-plugin.md
CHANGED
|
@@ -4,12 +4,12 @@ platform: server
|
|
|
4
4
|
product: clientside-extensions
|
|
5
5
|
category: reference
|
|
6
6
|
subcategory: webpack
|
|
7
|
-
date: '2021-
|
|
7
|
+
date: '2021-10-12'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Webpack plugin
|
|
11
11
|
|
|
12
|
-
Client-side Extensions webpack plugin depends on [WRM webpack plugin](https://
|
|
12
|
+
Client-side Extensions webpack plugin depends on [WRM webpack plugin](https://www.npmjs.com/package/atlassian-webresource-webpack-plugin).
|
|
13
13
|
|
|
14
14
|
Refer to the [setup guide](/server/framework/clientside-extensions/guides/how-to/setup-webpack-plugin/) to check how to install and configure the webpack plugin.
|
|
15
15
|
|
|
@@ -62,3 +62,17 @@ module.exports = {
|
|
|
62
62
|
/*...*/
|
|
63
63
|
};
|
|
64
64
|
```
|
|
65
|
+
|
|
66
|
+
## Self troubleshooting tool
|
|
67
|
+
|
|
68
|
+
We provide a tool that helps troubleshoot the configuration of webpack and Atlassian P2 projects.
|
|
69
|
+
|
|
70
|
+
To check if your project was configured correctly, open a terminal and navigate to the root directory of your project. Next, run the troubleshooting command:
|
|
71
|
+
|
|
72
|
+
```shell
|
|
73
|
+
npx @atlassian/wrm-troubleshooting
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The tool will ask you a few questions and guide you if it finds issues with your projects' configuration.
|
|
77
|
+
|
|
78
|
+
You can read more about the troubleshooting tool on the [NPM page for the `@atlassian/wrm-troubleshooting` package][https://www.npmjs.com/package/@atlassian/wrm-troubleshooting].
|
|
@@ -247,6 +247,10 @@
|
|
|
247
247
|
{
|
|
248
248
|
"from": "/reference/api/render-element-as-react/",
|
|
249
249
|
"to": "/reference/api/extension-api/render-element-as-react/"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"from": "/reference/api/extension-handlers/",
|
|
253
|
+
"to": "/reference/api/extension-points/extension-handlers/"
|
|
250
254
|
}
|
|
251
255
|
]
|
|
252
256
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlassian/clientside-extensions-docs",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.1-docs-1",
|
|
4
4
|
"description": "Holds the official documentation for Altassian Server client-side extensions API.",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"homepage": "https://bitbucket.org/atlassian/atlassian-clientside-extensions#readme",
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
}
|
|
64
64
|
],
|
|
65
65
|
"scripts": {
|
|
66
|
-
"start": "
|
|
66
|
+
"start": "atlas dac watch",
|
|
67
67
|
"usage": "doc-scripts usage",
|
|
68
|
-
"preview": "
|
|
68
|
+
"preview": "atlas dac watch",
|
|
69
69
|
"lint": "yarn spellcheck && yarn prettier",
|
|
70
70
|
"prettier": "prettier --check '**/*.{json,md}'",
|
|
71
71
|
"spellcheck": "doc-scripts spellcheck",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"doc-scripts": "doc-scripts"
|
|
78
78
|
},
|
|
79
79
|
"optionalDependencies": {
|
|
80
|
-
"@atlassian/doc-scripts": "^
|
|
80
|
+
"@atlassian/doc-scripts": "^5.0.0"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "4c98bad371a4fff8afcef318bb67ed86727fb877"
|
|
83
83
|
}
|