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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a86e362b93b41e06e7ce3db6653103addf3e5da5bf1053d8cf3e44e3dd21cb90
4
- data.tar.gz: 37631fb83147d67d7c7da9de353fa08eba63d5e60dc19717876f0f23347f57a9
3
+ metadata.gz: db0adc22d10e8104c2ec6776dc2315936943ee06f91810735185b570792ee9a8
4
+ data.tar.gz: a85ed623888c6bc6b3e805783d7b449a308aea8f60e61a986244076ad006060a
5
5
  SHA512:
6
- metadata.gz: 40c79d0e3639d26a808e5edf628ea931baf023b6f90414096afc5c6decd142255101b660e800f06fe008c198582aa43e9c3e9e01a36266bc79bbc60b7bc3d430
7
- data.tar.gz: 89475eb03534935c589d21a1267398f9ae5635c607aa3ca7770b4ed8fbd8dd59e1d4251fa82fcb025d9d969dbfd8ddbf6effed59613405636f3a960c5fe397c6
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 (bundled with the agent). You can download it here [Latest iOS Agent](https://downloads.dynatrace.com/clientservices/agent?version=latest&techtype=ios)
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
- ## About dynatrace
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
- 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.
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
- ## Parameters
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
- ##Example
30
+ > Only applies for apps distributed via the AppStore or TestFlight.
50
31
 
51
- In your *fastfile*
52
32
 
53
- ### Supplying all parameters locally
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
- ```ruby
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
- ### Downloading dsyms and using AppFile
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: "https://<environmentID.live.dynatrace.com",
60
+ server: "<your dynatrace environment URL>",
93
61
  debugMode: true)
94
62
 
95
63
  ```
96
64
 
97
- ### Downloading dsyms, using AppFile - Only decoding them
65
+ ## If you are NOT using Bitcode, or if you have already downloaded your new symbols from AppStore Connect manually.
98
66
 
99
- #### AppFile
67
+ ### Supply all parameters locally
100
68
 
101
69
  ```ruby
102
- app_identifier("com.yourcompany.yourappID") # The bundle identifier of your app
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
- server: "https://dynatrace-managed.com/e/environmentID",
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
- Fastlane::Actions::DownloadDsymsAction.run(app_identifier: bundleId,
48
- username: username,
49
- version: version)
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
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Dynatrace
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
  end
5
5
  end
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
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: 2019-10-07 00:00:00.000000000 Z
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.119.0
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.119.0
138
+ version: 2.142.0
139
139
  description:
140
140
  email: mohamed.nassar@dynatrace.com
141
141
  executables: []