@appland/appmap 3.146.0 → 3.147.0
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/CHANGELOG.md +7 -0
- package/built/docs/CLA Instructions.pdf +0 -0
- package/built/docs/Code of Conduct for Contributors.pdf +0 -0
- package/built/docs/analysis/rules-reference.html +27 -0
- package/built/docs/appmap-docs.md +27 -0
- package/built/docs/community.md +28 -0
- package/built/docs/guides/exporting-appmap-diagrams.md +50 -0
- package/built/docs/guides/handling-large-appmap-diagrams.md +138 -0
- package/built/docs/guides/index.md +21 -0
- package/built/docs/guides/navigating-code-objects.md +67 -0
- package/built/docs/guides/openapi.md +105 -0
- package/built/docs/guides/reading-sql-in-appmap-diagrams.md +69 -0
- package/built/docs/guides/refine-appmap-data.md +186 -0
- package/built/docs/guides/reverse-engineering.md +377 -0
- package/built/docs/guides/runtime-code-review.md +111 -0
- package/built/docs/guides/using-appmap-analysis.md +206 -0
- package/built/docs/guides/using-appmap-diagrams.md +331 -0
- package/built/docs/integrations/atlassian-compass.md +25 -0
- package/built/docs/integrations/atlassian-confluence.md +51 -0
- package/built/docs/integrations/circle-ci.md +424 -0
- package/built/docs/integrations/docker.md +109 -0
- package/built/docs/integrations/github-actions.md +524 -0
- package/built/docs/integrations/index.md +20 -0
- package/built/docs/integrations/plantuml.md +66 -0
- package/built/docs/integrations/postman.md +30 -0
- package/built/docs/integrations/readme.md +39 -0
- package/built/docs/integrations/smartbear-swaggerhub.md +119 -0
- package/built/docs/reference/analysis-labels.md +49 -0
- package/built/docs/reference/analysis-rules.md +61 -0
- package/built/docs/reference/appmap-client-cli.md +628 -0
- package/built/docs/reference/appmap-gradle-plugin.md +141 -0
- package/built/docs/reference/appmap-java.md +311 -0
- package/built/docs/reference/appmap-maven-plugin.md +164 -0
- package/built/docs/reference/appmap-node.md +185 -0
- package/built/docs/reference/appmap-python.md +520 -0
- package/built/docs/reference/appmap-ruby.md +514 -0
- package/built/docs/reference/github-action.md +171 -0
- package/built/docs/reference/index.md +25 -0
- package/built/docs/reference/jetbrains.md +136 -0
- package/built/docs/reference/license-key-install.md +74 -0
- package/built/docs/reference/navie.md +261 -0
- package/built/docs/reference/remote-recording-api.md +97 -0
- package/built/docs/reference/uninstalling-appmap.md +119 -0
- package/built/docs/reference/vscode.md +122 -0
- package/built/docs/setup-appmap-in-ci/example-projects.md +21 -0
- package/built/docs/setup-appmap-in-ci/how-it-works.md +43 -0
- package/built/docs/setup-appmap-in-ci/in-circleci.md +423 -0
- package/built/docs/setup-appmap-in-ci/in-github-actions.md +177 -0
- package/built/docs/setup-appmap-in-ci/index.md +22 -0
- package/built/docs/setup-appmap-in-ci/matrix-builds.md +225 -0
- package/built/docs/setup-appmap-in-ci/troubleshooting.md +71 -0
- package/built/docs/setup-appmap-in-your-code-editor/add-appmap-to-your-code-editor.md +93 -0
- package/built/docs/setup-appmap-in-your-code-editor/appmap-analysis.md +77 -0
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-from-tests.md +93 -0
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-remote-recording.md +112 -0
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-request-recording.md +77 -0
- package/built/docs/setup-appmap-in-your-code-editor/how-appmap-works.md +166 -0
- package/built/docs/setup-appmap-in-your-code-editor/index.md +25 -0
- package/built/docs/setup-appmap-in-your-code-editor/navigating-appmap-diagrams.md +59 -0
- package/built/docs/setup-appmap-in-your-code-editor/navigating-code-objects.md +67 -0
- package/built/docs/unused_for_now_index.html +11 -0
- package/package.json +2 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Integrations
|
|
4
|
+
description: "Optimize your AppMap API interaction with Readme's developer hub. Easily add new endpoints and sync with your GitHub Action or CI system for efficient documentation."
|
|
5
|
+
integrations: true
|
|
6
|
+
name: Readme
|
|
7
|
+
step: 6
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Readme
|
|
11
|
+
|
|
12
|
+
[Readme](https://readme.com/) is a powerful developer hub that can consume your OpenAPI definition and provide a simple way for users to interact with your API directly from your documentation site or with the included client SDKs that Readme provides.
|
|
13
|
+
|
|
14
|
+
<img class="video-screenshot" src="/assets/img/readme-api-documentation.webp"/>
|
|
15
|
+
|
|
16
|
+
Simply access your Readme administration page, and go to _API Settings_ to add a new endpoint.
|
|
17
|
+
|
|
18
|
+
<img class="video-screenshot" src="/assets/img/readme-github-action.webp"/>
|
|
19
|
+
|
|
20
|
+
Add the relevant commands to your GitHub Action or your CI system. Make sure to save the Readme API key as an [encrypted secret in your build task.](https://docs.github.com/en/actions/security-guides/encrypted-secrets)
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
- name: Install rdme
|
|
24
|
+
run: npm install rdme@latest -g
|
|
25
|
+
- name: Install AppMap tools
|
|
26
|
+
uses: getappmap/install-action@v1
|
|
27
|
+
- name: AppMap Generate OpenAPI Definitions
|
|
28
|
+
run: appmap openapi --output-file openapi.yml
|
|
29
|
+
- name: Push OpenAPI to Readme
|
|
30
|
+
run: rdme openapi openapi.yml --version=v1.0 --key="${{ secrets.RDME_KEY }}"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
After your build job completes you'll see your API imported into Readme.
|
|
34
|
+
|
|
35
|
+
<img class="video-screenshot" src="/assets/img/readme-openapi-imported.png"/>
|
|
36
|
+
|
|
37
|
+
And when navigating into any of your API endpoints, you'll see notifications that this API is _synced from Swagger.
|
|
38
|
+
|
|
39
|
+
<img class="video-screenshot" src="/assets/img/readme-openapi-synced.png"/>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Integrations
|
|
4
|
+
description: "AppMap integration with SwaggerHub automates API documentation directly into SwaggerHub using GitHub Actions. Collaborate on API design, ensuring style, quality, and consistency."
|
|
5
|
+
integrations: true
|
|
6
|
+
name: SmartBear SwaggerHub
|
|
7
|
+
render_with_liquid: false
|
|
8
|
+
step: 5
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# SmartBear SwaggerHub and Portal
|
|
12
|
+
|
|
13
|
+
[SwaggerHub](https://swagger.io/tools/swaggerhub/) is a centralized API design tool which allows teams to collaborate on API design and enforce style, quality, and consistency of their APIs.
|
|
14
|
+
|
|
15
|
+
[SwaggerHub Portal](https://swagger.io/tools/swaggerhub/features/swaggerhub-portal/) let's you synchronize your API designs from SwaggerHub into a customized portal which creates comprehensive and easy to use API documentation for your users and customers.
|
|
16
|
+
|
|
17
|
+
AppMap supports multiple use-cases when integrating AppMap and SwaggerHub.
|
|
18
|
+
- [Generate Code-First OpenAPI and Publish to SwaggerHub](#generate-code-first-openapi-and-publish-to-swaggerhub)
|
|
19
|
+
- [Disable Deployment when Runtime OpenAPI Diverges from SwaggerHub API](#disable-deployment-when-runtime-openapi-diverges-from-swaggerhub-api)
|
|
20
|
+
|
|
21
|
+
## Generate Code-First OpenAPI and Publish to SwaggerHub
|
|
22
|
+
|
|
23
|
+
AppMap supports the integration of it's automatic code-first OpenAPI documentation functionality directly into the SwaggerHub platform by leveraging the [SwaggerHub CLI](https://github.com/SmartBear/swaggerhub-cli) and GitHub Actions. Using AppMap, you can automated interact with your API routes via a GitHub action, AppMap will automatically capture details about those API route interactions and export them into OpenAPI supported formats. From there, you can use the SwaggerHub CLI to push these APIs directly to SwaggerHub and Portal.
|
|
24
|
+
|
|
25
|
+
### Configuration
|
|
26
|
+
|
|
27
|
+
First, access your API key on the [user settings page](https://app.swaggerhub.com/settings/apiKey) in SwaggerHub. When using GitHub Actions, you'll want to save this API key as a [action secret](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) named `SWAGGERHUB_API_KEY`.
|
|
28
|
+
|
|
29
|
+
Add the relevant commands to your GitHub Action or your CI system. Make sure you export the SwaggerHub API key as a build environment variable in the action.
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
env:
|
|
33
|
+
SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
- name: Install SmartBear CLI
|
|
38
|
+
run: npm i -g swaggerhub-cli
|
|
39
|
+
- name: Install AppMap tools
|
|
40
|
+
uses: getappmap/install-action@v1
|
|
41
|
+
|
|
42
|
+
- name: Set API Version Number
|
|
43
|
+
run: echo "OPENAPI_VERSION"=$(cat openapi-version) >> "$GITHUB_ENV"
|
|
44
|
+
|
|
45
|
+
- name: Generate OpenAPI with AppMap
|
|
46
|
+
run: appmap openapi --output-file openapi.yml --openapi-title <repo name> --openapi-version ${OPENAPI_VERSION}
|
|
47
|
+
|
|
48
|
+
- name: Publish API to SmartBear
|
|
49
|
+
run: swaggerhub api:create <swaggerhub team>/<repo name> --file openapi.yml
|
|
50
|
+
|
|
51
|
+
- name: Set Latest API Default
|
|
52
|
+
run: swaggerhub api:setdefault <swaggerhub team>/<repo name>/${OPENAPI_VERSION}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Refer to [this project on GitHub](https://github.com/land-of-apps/rails_tutorial_sample_app_7th_ed/blob/smartbear-integration/.github/workflows/openapi-publish.yml) for a fully working example of this GitHub Action.
|
|
56
|
+
|
|
57
|
+
After your build job completes, you'll see your latest version of your API imported into SwaggerHub.
|
|
58
|
+
|
|
59
|
+
<img class="video-screenshot" src="/assets/img/swaggerhub-api.webp"/>
|
|
60
|
+
|
|
61
|
+
Next, navigate to your SwaggerHub Portal administration page, select on your project and find the latest release of the uploaded API.
|
|
62
|
+
|
|
63
|
+
<img class="video-screenshot" src="/assets/img/swaggerhub-portal-link.webp"/>
|
|
64
|
+
|
|
65
|
+
When you are ready to publish this API to your users and customers, simply click the "Link API" button.
|
|
66
|
+
|
|
67
|
+
<img class="video-screenshot" src="/assets/img/swaggerhub-publish.webp"/>
|
|
68
|
+
|
|
69
|
+
After it's published, you'll see the latest revision now available in your SwaggerHub Portal
|
|
70
|
+
|
|
71
|
+
<img class="video-screenshot" src="/assets/img/swaggerhub-portal.webp"/>
|
|
72
|
+
|
|
73
|
+
## Disable Deployment when Runtime OpenAPI Diverges from SwaggerHub API
|
|
74
|
+
|
|
75
|
+
Because we are going to be using the SwaggerHub CLI inside of our CI/GitHub action
|
|
76
|
+
|
|
77
|
+
### Configuration
|
|
78
|
+
Because we are going to be using the SwaggerHub CLI inside of our CI/GitHub action you'll need to store the API key as an [encrypted secret](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) in your GitHub action.
|
|
79
|
+
|
|
80
|
+
Access your API key on the [user settings page](https://app.swaggerhub.com/settings/apiKey) in SwaggerHub. Store this as an encrypted secrete named `SWAGGERHUB_API_KEY`.
|
|
81
|
+
|
|
82
|
+
Add the relevant commands to your GitHub Action or your CI system. Make sure you export the SwaggerHub API key as a build environment variable in the action.
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
env:
|
|
86
|
+
SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
- name: Install SmartBear CLI
|
|
91
|
+
run: npm i -g swaggerhub-cli
|
|
92
|
+
- name: Install AppMap tools
|
|
93
|
+
uses: getappmap/install-action@v1
|
|
94
|
+
|
|
95
|
+
- name: Set API Version Number
|
|
96
|
+
if: always()
|
|
97
|
+
run: echo "OPENAPI_VERSION"=$(cat openapi-version) >> "$GITHUB_ENV"
|
|
98
|
+
|
|
99
|
+
- name: Generate OpenAPI with AppMap
|
|
100
|
+
run: appmap openapi --output-file openapi.yml --openapi-title <repo name> --openapi-version ${OPENAPI_VERSION}
|
|
101
|
+
|
|
102
|
+
- name: Get Latest Default
|
|
103
|
+
if: always()
|
|
104
|
+
run: swaggerhub api:get <swaggerhub team>/<repo name> > swaggerhub-api.yml
|
|
105
|
+
|
|
106
|
+
- name: Normalize OpenAPI Files
|
|
107
|
+
if: always()
|
|
108
|
+
run: cat openapi.yml | sed '/^$/d' > openapi-clean.yml && cat swaggerhub-api.yml | sed '/^$/d' > swaggerhub-clean.yml
|
|
109
|
+
|
|
110
|
+
- name: Compare Actual vs SwaggerHub
|
|
111
|
+
if: always()
|
|
112
|
+
run: diff openapi-clean.yml swaggerhub-clean.yml
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Refer to [this project on GitHub](https://github.com/land-of-apps/rails_tutorial_sample_app_7th_ed/blob/smartbear-api-comparison/.github/workflows/openapi-compare.yml) for a fully working example of this GitHub Action.
|
|
116
|
+
|
|
117
|
+
With this configuratino enabled, when a user makes a commit which changes the routes that are NOT currently in the published API spec on SwaggerHub this build will fail and the user will be unable to deploy unless they update the API spec on SwaggerHub or remove the offending changes.
|
|
118
|
+
|
|
119
|
+
<img class="video-screenshot" src="/assets/img/swaggerhub-github-build-failure.webp"/>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "Explore technical documentation for analysis labels with AppMap."
|
|
5
|
+
name: Analysis Labels
|
|
6
|
+
step: 14
|
|
7
|
+
reference: true
|
|
8
|
+
redirect_from: [/docs/analysis/labels-reference]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Label Reference
|
|
12
|
+
<ul class="toc">
|
|
13
|
+
{% for analysis_label in site.analysis_labels %}
|
|
14
|
+
<li>
|
|
15
|
+
<a href="#{{ analysis_label.name }}">{{analysis_label.name }}</a>
|
|
16
|
+
</li>
|
|
17
|
+
{% endfor %}
|
|
18
|
+
</ul>
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<ul class="analysis-doc-list label">
|
|
22
|
+
{% for analysis_label in site.analysis_labels %}
|
|
23
|
+
<li class="analysis-label" id="{{ analysis_label.name }}">
|
|
24
|
+
<h2>
|
|
25
|
+
{{ analysis_label.name }}
|
|
26
|
+
</h2>
|
|
27
|
+
|
|
28
|
+
<div class="analysis-metrics">
|
|
29
|
+
<ul>
|
|
30
|
+
<li class="name">Rules</li>
|
|
31
|
+
<li class="value">
|
|
32
|
+
{% for rule in analysis_label.rules %}
|
|
33
|
+
<a href="./analysis-rules.html#{{rule}}">
|
|
34
|
+
{{ rule }}
|
|
35
|
+
</a>
|
|
36
|
+
<br/>
|
|
37
|
+
{% endfor %}
|
|
38
|
+
</li>
|
|
39
|
+
</ul>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
{{ analysis_label.content | markdownify }}
|
|
43
|
+
</li>
|
|
44
|
+
<hr/>
|
|
45
|
+
{% endfor %}
|
|
46
|
+
</ul>
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "Explore detailed rules reference for AppMap analysis, including impact, scope, labels, and references."
|
|
5
|
+
name: Analysis Rules
|
|
6
|
+
step: 14
|
|
7
|
+
reference: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Rules Reference
|
|
11
|
+
<ul class="toc">
|
|
12
|
+
{% for analysis_rule in site.analysis_rules %}
|
|
13
|
+
<li>
|
|
14
|
+
<a href="#{{ analysis_rule.rule }}">{{analysis_rule.name }}</a>
|
|
15
|
+
</li>
|
|
16
|
+
{% endfor %}
|
|
17
|
+
</ul>
|
|
18
|
+
|
|
19
|
+
<ul class="analysis-doc-list">
|
|
20
|
+
{% for analysis_rule in site.analysis_rules %}
|
|
21
|
+
<li class="analysis-rule" id="{{ analysis_rule.rule }}">
|
|
22
|
+
<h2>
|
|
23
|
+
{{ analysis_rule.name }}
|
|
24
|
+
</h2>
|
|
25
|
+
|
|
26
|
+
<div class="analysis-metrics">
|
|
27
|
+
<ul>
|
|
28
|
+
<li class="name">Id</li>
|
|
29
|
+
<li class="value">{{ analysis_rule.rule }}</li>
|
|
30
|
+
</ul>
|
|
31
|
+
<ul>
|
|
32
|
+
<li class="name">Impact Domain</li>
|
|
33
|
+
<li class="value">{{ analysis_rule.impactDomain }}</li>
|
|
34
|
+
</ul>
|
|
35
|
+
<ul>
|
|
36
|
+
<li class="name">Scope</li>
|
|
37
|
+
<li class="value">{{ analysis_rule.scope }}</li>
|
|
38
|
+
</ul>
|
|
39
|
+
<ul>
|
|
40
|
+
<li class="name">Labels</li>
|
|
41
|
+
<li class="value">
|
|
42
|
+
{% for label in analysis_rule.labels %}
|
|
43
|
+
<a href="./analysis-rules.html#{{ label }}">{{ label }}</a>
|
|
44
|
+
<br/>
|
|
45
|
+
{% endfor %}
|
|
46
|
+
</li>
|
|
47
|
+
</ul>
|
|
48
|
+
<ul>
|
|
49
|
+
<li class="name">References</li>
|
|
50
|
+
<li class="value">
|
|
51
|
+
{% for reference in analysis_rule.references %}
|
|
52
|
+
<a href="{{ reference[1] }}" target="_blank">{{ reference[0] }}</a>
|
|
53
|
+
{% endfor %}
|
|
54
|
+
</li>
|
|
55
|
+
</ul>
|
|
56
|
+
</div>
|
|
57
|
+
{{ analysis_rule.content | markdownify }}
|
|
58
|
+
</li>
|
|
59
|
+
<hr/>
|
|
60
|
+
{% endfor %}
|
|
61
|
+
</ul>
|