fastlane-plugin-dynatrace 0.1.4 → 0.1.5
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.
- checksums.yaml +4 -4
- data/README.md +43 -57
- data/lib/fastlane/plugin/dynatrace/actions/dynatrace_action.rb +14 -3
- data/lib/fastlane/plugin/dynatrace/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db0adc22d10e8104c2ec6776dc2315936943ee06f91810735185b570792ee9a8
|
4
|
+
data.tar.gz: a85ed623888c6bc6b3e805783d7b449a308aea8f60e61a986244076ad006060a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9f797b1415f7a9e534581f97f7425c0a5341f9c4c290efef0254fb6d5e4daac16ab07fab14cdfe4aa572c950cb1fe3cfbe2b362859e55cf21ee7adc1b921e75
|
7
|
+
data.tar.gz: 911f7bf2bcef8ecdacec9ffd73250ae382bd0c9fd0297694cc16821183aadc0b0e1244e037fb4c0be998725067a6d9f65f87386ce26db6befcbd930a604d027b
|
data/README.md
CHANGED
@@ -10,11 +10,13 @@ This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To
|
|
10
10
|
fastlane add_plugin dynatrace
|
11
11
|
```
|
12
12
|
|
13
|
-
Make sure you have the latest version of the DSS client
|
13
|
+
Make sure you have the latest version of the DSS client, which is bundled with the agent. You can download it from here [Latest iOS Agent](https://downloads.dynatrace.com/clientservices/agent?version=latest&techtype=ios).
|
14
14
|
|
15
|
-
|
15
|
+
> Please note that sometimes the latest version of the DSS client may not be compatble with your environment if you have a managed cluster on an older version. In this case, please contact Dynatrace Support to obtain the correct version.
|
16
16
|
|
17
|
-
|
17
|
+
## About the Dynatrace fastlane plugin
|
18
|
+
|
19
|
+
This plugin allows you to decode and upload symbolication files to Dynatrace. You can also use it to first download your latest dSYM files from AppStore Connect if you use Bitcode.
|
18
20
|
|
19
21
|
## Action: `dynatrace_process_symbols`
|
20
22
|
|
@@ -23,52 +25,18 @@ This plugin allows you to decode and upload symbolication files to Dynatrace. Yo
|
|
23
25
|
| Author | @MANassar |
|
24
26
|
|
25
27
|
|
26
|
-
##
|
27
|
-
|
28
|
-
| Key | Description | default value |
|
29
|
-
|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
|
30
|
-
| downloadDsyms | Boolean variable that enables downloading the Dsyms from AppStore Connect (iOS only) | false |
|
31
|
-
| username | The username or the AppleID to use to download the Dsyms. You can also store this in your AppFile as "apple_id and it will be automatically retrieved." | |
|
32
|
-
| dtxDssClientPath | The full path to your DTXDssClient. For example, it could be `./ios/agent/DTXDssClient` | `./DTXDssClient` |
|
33
|
-
| action | The action to perform. upload/decode | `upload` |
|
34
|
-
| appID | The app ID you get from your Dynatrace WebUI | |
|
35
|
-
| os | The OperatingSystem of the symbol files. Either "ios" or "android" | |
|
36
|
-
| apitoken | The Dynatrace API token. It should have the correct permissions. | |
|
37
|
-
| bundleId | The CFBundlebundleId (iOS) / package (Android) of the Application. Usually in reverse com notation. Ex. com.your_company.your_app. This can also be stored in the AppFile as "app_identifier" and it will be automatically retrieved. | |
|
38
|
-
| bundleName | The CFBundleName of the Application (iOS only) | |
|
39
|
-
| versionStr | The CFBundleShortVersionString (iOS) / versionName (Android | |
|
40
|
-
| version | The CFBundleVersion (iOS) / versionCode (Android). This will also be used for dsym download. | |
|
41
|
-
| symbolsfile | The path to a local symbol files to be processed and uploaded. You do not need to specify that if you use downloadDsyms. | |
|
42
|
-
| server | The API endpoint for the Dynatrace environment. For example https://environmentID.live.dynatrace.com or https://dynatrace-managed.com/e/environmentID | |
|
43
|
-
| debugMode | Debug logging enabled | false |
|
44
|
-
|
45
|
-
## Example
|
46
|
-
|
47
|
-
Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
|
28
|
+
## Is your app Bitcode enabled?
|
48
29
|
|
49
|
-
|
30
|
+
> Only applies for apps distributed via the AppStore or TestFlight.
|
50
31
|
|
51
|
-
In your *fastfile*
|
52
32
|
|
53
|
-
|
33
|
+
If your app is bitcode enabled, then the dSYMs that are generated during the Xcode build are **_not_** the dSYMs you want to upload to Dynatrace. This is because Apple recompiles your application on their servers, generating new dSYM files in the process. These newly generated dSYM files need to be downloaded from *AppStore Connect*, then processed and uploaded to Dynatrace.
|
54
34
|
|
55
|
-
|
56
|
-
dynatrace_process_symbols(
|
57
|
-
dtxDssClientPath:"<path>/DTXDssClient",
|
58
|
-
appId: "your DT appID",
|
59
|
-
apitoken: "your DT API token",
|
60
|
-
os: "<ios> or <android>",
|
61
|
-
bundleId: "com.yourcompany.yourApp",
|
62
|
-
bundleName: "MyApp",
|
63
|
-
versionStr: "1.0",
|
64
|
-
version: "1",
|
65
|
-
symbolsfile: "<path to my app>.app.dSYM",
|
66
|
-
server: "https://<environmentID.live.dynatrace.com",
|
67
|
-
debugMode: true)
|
35
|
+
### Important
|
68
36
|
|
69
|
-
|
37
|
+
There is a time gap between the application being uploaded to AppStore Connect and the dSYM files to be ready. So **_you have to introduce some "sleep" or "wait" time in your CI to accomodate for this._** Unfortunately, Apple does not specify how long this time is. But the recommended minimum is 300 seconds (5 minutes).
|
70
38
|
|
71
|
-
###
|
39
|
+
### Automatically downloading dSYMs and using AppFile for authentication
|
72
40
|
|
73
41
|
#### AppFile
|
74
42
|
|
@@ -89,38 +57,56 @@ dynatrace_process_symbols(
|
|
89
57
|
bundleName: "MyApp",
|
90
58
|
versionStr: "1.0",
|
91
59
|
version: "1",
|
92
|
-
server: "
|
60
|
+
server: "<your dynatrace environment URL>",
|
93
61
|
debugMode: true)
|
94
62
|
|
95
63
|
```
|
96
64
|
|
97
|
-
|
65
|
+
## If you are NOT using Bitcode, or if you have already downloaded your new symbols from AppStore Connect manually.
|
98
66
|
|
99
|
-
|
67
|
+
### Supply all parameters locally
|
100
68
|
|
101
69
|
```ruby
|
102
|
-
|
103
|
-
apple_id("user@email.com") # Your Apple email address
|
104
|
-
```
|
105
|
-
|
106
|
-
#### Fastfile
|
107
|
-
|
108
|
-
```ruby
|
109
|
-
dynatrace_process_symbols(
|
110
|
-
action = "decode",
|
111
|
-
downloadDsyms: true,
|
70
|
+
dynatrace_process_symbols(
|
112
71
|
dtxDssClientPath:"<path>/DTXDssClient",
|
113
72
|
appId: "your DT appID",
|
114
73
|
apitoken: "your DT API token",
|
115
74
|
os: "<ios> or <android>",
|
75
|
+
bundleId: "com.yourcompany.yourApp",
|
116
76
|
bundleName: "MyApp",
|
117
77
|
versionStr: "1.0",
|
118
78
|
version: "1",
|
119
|
-
|
79
|
+
symbolsfile: "<path to my app>.app.dSYM",
|
80
|
+
server: "<your dynatrace environment URL>",
|
120
81
|
debugMode: true)
|
121
82
|
|
122
83
|
```
|
123
84
|
|
85
|
+
## List of all Parameters
|
86
|
+
|
87
|
+
| Key | Description | default value |
|
88
|
+
|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
|
89
|
+
| downloadDsyms | Boolean variable that enables downloading the dSYMs from AppStore Connect (iOS only) | false |
|
90
|
+
| username | The username or the AppleID to use to download the dSYMs. You can also store this in your AppFile as "apple_id and it will be automatically retrieved." | |
|
91
|
+
| dtxDssClientPath | The full path to your DTXDssClient. For example, it could be `./ios/agent/DTXDssClient` | `./DTXDssClient` |
|
92
|
+
| action | The action to perform. upload/decode | `upload` |
|
93
|
+
| appID | The app ID you get from your Dynatrace WebUI | |
|
94
|
+
| os | The OperatingSystem of the symbol files. Either "ios" or "android" | |
|
95
|
+
| apitoken | The Dynatrace API token. It should have the correct permissions. | |
|
96
|
+
| bundleId | The CFBundlebundleId (iOS) / package (Android) of the Application. Usually in reverse com notation. Ex. com.your_company.your_app. This can also be stored in the AppFile as "app_identifier" and it will be automatically retrieved. | |
|
97
|
+
| bundleName | The CFBundleName of the Application (iOS only) | |
|
98
|
+
| versionStr | The CFBundleShortVersionString (iOS) / versionName (Android | |
|
99
|
+
| version | The CFBundleVersion (iOS) / versionCode (Android). This will also be used for dSYM download. | |
|
100
|
+
| symbolsfile | The path to a local symbol files to be processed and uploaded. You do not need to specify that if you use downloadDsyms. | |
|
101
|
+
| server | The API endpoint for the Dynatrace environment. For example https://environmentID.live.dynatrace.com or https://dynatrace-managed.com/e/environmentID | |
|
102
|
+
| debugMode | Debug logging enabled | false |
|
103
|
+
|
104
|
+
|
105
|
+
## Example
|
106
|
+
|
107
|
+
Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
|
108
|
+
|
109
|
+
|
124
110
|
## Issues and Feedback
|
125
111
|
|
126
112
|
For any other issues and feedback about this plugin, please submit it to this repository or contact Dynatrace Support.
|
@@ -44,9 +44,13 @@ module Fastlane
|
|
44
44
|
end
|
45
45
|
|
46
46
|
UI.message("Downloading Dsyms from AppStore Connect")
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
Actions::DownloadDsymsAction.run( wait_for_dsym_processing: true,
|
48
|
+
wait_timeout: 1800,
|
49
|
+
app_identifier: bundleId,
|
50
|
+
username: username,
|
51
|
+
version: version,
|
52
|
+
build_number: :versionStr,
|
53
|
+
)
|
50
54
|
dsym_paths += Actions.lane_context[SharedValues::DSYM_PATHS] if Actions.lane_context[SharedValues::DSYM_PATHS]
|
51
55
|
|
52
56
|
if dsym_paths.count > 0
|
@@ -138,6 +142,13 @@ module Fastlane
|
|
138
142
|
description: "Boolean variable that enables downloading the Dsyms from AppStore Connect (iOS only)", # a short description of this parameter
|
139
143
|
),
|
140
144
|
|
145
|
+
FastlaneCore::ConfigItem.new(key: :dsym_waiting_timeout,
|
146
|
+
env_name: "FL_UPLOAD_TO_DYNATRACE_DOWNLOAD_DSYMS_WAIT_TIMEOUT", # The name of the environment variable
|
147
|
+
default_value: 900,
|
148
|
+
is_string: false,
|
149
|
+
description: "The timeout in milliseconds to wait for processing of dSYMs", # a short description of this parameter
|
150
|
+
),
|
151
|
+
|
141
152
|
FastlaneCore::ConfigItem.new(key: :username,
|
142
153
|
env_name: "FL_UPLOAD_TO_DYNATRACE_DOWNLOAD_DSYMS_USERNAME", # The name of the environment variable
|
143
154
|
description: "The username or the AppleID to use to download the Dsyms", # a short description of this parameter
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-dynatrace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mohamed Nassar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 2.
|
131
|
+
version: 2.142.0
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 2.
|
138
|
+
version: 2.142.0
|
139
139
|
description:
|
140
140
|
email: mohamed.nassar@dynatrace.com
|
141
141
|
executables: []
|