fastlane-plugin-jira_issues_release_notes 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8d5984ded8d97d30b8df79c68c103e923911c516829f203fd1d6b475368f783
4
- data.tar.gz: b6262045d8f11134a0c1037004115b7c17a19e86f1264c2dc69b63d9173743ce
3
+ metadata.gz: 46ef2b8077756b097e6e29a717353e98cd96b4ec0db8b9d18277bb3fbbd76904
4
+ data.tar.gz: 8e2992d121e59aa11dd08ab1aaaf0a473fa0c1c0d8d4dc347ac2a3632582bd58
5
5
  SHA512:
6
- metadata.gz: e075f8823aad025a3280acab73817ef50161a14003f6dfa76f2a81f9b6ee2dc24664c94fc6345bd7e1d123fe58586f3624a7e8fd1ba44d851ada7f1003f3e7ae
7
- data.tar.gz: 6c841d6bda953fabf5d2ff0f75d4f3e372c6e5b891179df98ca12f8246243d0fdef9f66910d1859fa20268a04b3bdfc00bdb59456f5f13c9d1df4259381d6048
6
+ metadata.gz: 8e86cf49c8a4610b8c3f77d011e288b243bf4f3d0cfe6c2dead06cce6f0d961807de8e25eb89fd0a81b81239ae8c1bac56b2d43b74a03206597e3a45639435ae
7
+ data.tar.gz: 1ec2acb7fef93be929f03438bc09dbfd6de7f95687b429e36b595c160b9ed1ad79d271d6f1b653cb010c681733bf3c953ec948321e14e002cecfaf739e38af62
data/README.md CHANGED
@@ -1,7 +1,9 @@
1
- # jira_issues_release_notes plugin
1
+ # Jira Issues Release Notes - Fastlane Plugin
2
2
 
3
3
  [![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-jira_issues_release_notes)
4
4
 
5
+
6
+
5
7
  ## Getting Started
6
8
 
7
9
  This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To get started with `fastlane-plugin-jira_issues_release_notes`, add it to your project by running:
@@ -10,17 +12,127 @@ This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To
10
12
  fastlane add_plugin jira_issues_release_notes
11
13
  ```
12
14
 
15
+
16
+
13
17
  ## About jira_issues_release_notes
14
18
 
15
- It generates a release note based on the issues keys and descriptions found in the commits
19
+ It generates a release note based on the issues keys and descriptions found in the commits.
20
+
21
+
22
+
23
+ ## Actions
24
+
25
+ All actions requires some parameter to access Jira API.
26
+ **These are the arguments the all share:**
27
+
28
+ | Argument | Type | Description | Optional | Default | Env Name |
29
+ | ------------------------ | --------- | -------------------------------- | -------- | ------- | ---------------------------------- |
30
+ | username | `String` | The prefix for yours jira issues | | | `FL_JIRA_USERNAME` |
31
+ | password | `String` | Jira user password | | | `FL_JIRA_PASSWORD` |
32
+ | host | `String` | Jira location | | | `FL_JIRA_HOST` |
33
+ | context_path | `String` | Jira context path | ✓ | Empty | `FL_JIRA_CONTEXT_PATH` |
34
+ | disable_ssl_verification | `Boolean` | Jira SSL Verification mode | ✓ | `false` | `FL_JIRA_DISABLE_SSL_VERIFICATION` |
35
+
36
+
37
+
38
+ ### branch_jira_issues_release_notes
39
+
40
+ This action creates a changelog based on the issue key extracted from your branch name. For exemple a branch called `feature/ABC-1234-some-feature` will extract to `ABC-1234` issue key.
41
+
42
+ It should be used to generate version to validate you branch's feature before it be merged.
43
+
44
+ **Arguments:**
45
+
46
+ | Argument | Type | Description | Optional | Default | Env Name |
47
+ | ------------- | ------------------------------ | ------------------------------------------------------------ | -------- | -------------------- | -------------------------- |
48
+ | ticket_prefix | `String` or `Regex` | The prefix for yours jira issues | ✓ | `[A_Z]+` | `FL_FIND_TICKETS_MATCHING` |
49
+ | extra_fields | `Hash` | A hash of extra Jira fields to display.<br />It should be a hash with key as the label for the key and value as the symbol representing the jira's key:<br />Example: `{ "My Custom Field" => :customfield_1 }` | ✓ | Empty Hash<br />`{}` | |
50
+ | format | `slack`, `markdown` or `plain` | Defines the result format | ✓ | `markdown` | |
51
+
52
+ **Usage example:**
53
+
54
+ ```ruby
55
+ # Branch: feature/ABC-1234-some-feature
56
+
57
+ platform :android do
58
+ lane :develop do
59
+ # Build a apk for development environment
60
+ build_develop
61
+ link_to_download = upload_to_s3
62
+
63
+ release_notes = branch_jira_issues_release_notes(
64
+ ticket_prefix: 'ABC',
65
+ username: ENV["FL_JIRA_USERNAME"],
66
+ password: ENV["FL_JIRA_PASSWORD"],
67
+ host: ENV["FL_JIRA_HOST"],
68
+ format: 'slack',
69
+ extra_fields: {
70
+ "What should we test?" => :customfield_1
71
+ }
72
+ )
16
73
 
17
- **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
74
+ slack(
75
+ pretext: ":android: A new android build is available for feature validation\n#{release_notes}",
76
+ payload: {
77
+ "Donwload it here" => link_to_download
78
+ },
79
+ success: true
80
+ )
81
+ end
82
+ end
83
+ ```
84
+
85
+
86
+
87
+ ### jira_issues_release_notes
88
+
89
+ This action creates a changelog based on the issue keys extracted from your commits since the latest published tag.
90
+
91
+ It should be used to generate version to validate in QA stage.
92
+
93
+ **Usage example:**
94
+
95
+ ```ruby
96
+ platform :android do
97
+ lane :develop do
98
+ # Build a apk for staging environment
99
+ build_staging
100
+ link_to_download = upload_to_s3
101
+
102
+ release_notes = jira_issues_release_notes(
103
+ tag_prefix: 'Release/Android/v*',
104
+ ticket_prefix: 'ABC',
105
+ username: ENV["FL_JIRA_USERNAME"],
106
+ password: ENV["FL_JIRA_PASSWORD"],
107
+ host: ENV["FL_JIRA_HOST"],
108
+ validated_status: ['To Deploy', 'Done'],
109
+ to_validate_status: ['To Test', 'To QA'],
110
+ format: 'slack',
111
+ )
112
+
113
+ slack(
114
+ pretext: ":android: A new android build is available for QA\n#{release_notes}",
115
+ payload: {
116
+ "Donwload it here" => link_to_download
117
+ },
118
+ success: true
119
+ )
120
+ end
121
+ end
122
+ ```
123
+
124
+ **Arguments:**
18
125
 
19
- ## Example
126
+ | Argument | Type | Description | Optional | Default | Env Name |
127
+ | ------------------ | ------------------------------ | ---------------------------------------------------------- | -------- | ----------------- | -------------------------- |
128
+ | tag_prefix | `Regex` | Match prefix to find latest tag. Example: `release/ios/v*` | | | |
129
+ | ticket_prefix | `String` or `Regex` | The prefix for yours jira issues | ✓ | `[A_Z]+` | `FL_FIND_TICKETS_MATCHING` |
130
+ | tag_version_match | `String` | To parse version number from tag name | ✓ | `/\d+\.\d+\.\d+/` | |
131
+ | validated_status | `Array` | List of jira issues status already validated | | | FL_JIRA_VALIDATED_STATUS |
132
+ | to_validate_status | `Array` | List of jira issues status to be validated | | | FL_JIRA_TO_VALIDATE_STATUS |
133
+ | format | `slack`, `markdown` or `plain` | Defines the result format | ✓ | `markdown` | |
20
134
 
21
- 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`.
22
135
 
23
- **Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
24
136
 
25
137
  ## Run tests for this plugin
26
138
 
@@ -35,18 +147,26 @@ To automatically fix many of the styling issues, use
35
147
  rubocop -a
36
148
  ```
37
149
 
150
+
151
+
38
152
  ## Issues and Feedback
39
153
 
40
154
  For any other issues and feedback about this plugin, please submit it to this repository.
41
155
 
156
+
157
+
42
158
  ## Troubleshooting
43
159
 
44
160
  If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide.
45
161
 
162
+
163
+
46
164
  ## Using _fastlane_ Plugins
47
165
 
48
166
  For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://docs.fastlane.tools/plugins/create-plugin/).
49
167
 
168
+
169
+
50
170
  ## About _fastlane_
51
171
 
52
172
  _fastlane_ is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools).
@@ -31,34 +31,6 @@ module Fastlane
31
31
  return ticket_not_found ticket_code unless issue
32
32
 
33
33
  generate_message_with(issue: issue)
34
-
35
- # tickets = tickets(commits: commits, regex: regex)
36
- # UI.important("Jira tickets: #{tickets}")
37
-
38
- # @jira_helper = Helper::JiraIssuesReleaseNotesHelper.jira_helper(
39
- # host: params[:host],
40
- # username: params[:username],
41
- # password: params[:password],
42
- # context_path: params[:context_path],
43
- # disable_ssl_verification: params[:disable_ssl_verification]
44
- # )
45
- # issues = @jira_helper.get(issues: tickets)
46
-
47
- # to_validate = issues.select { |issue| params[:to_validate_status].include?(issue.status.name) }
48
- # validated = issues.select { |issue| params[:validated_status].include?(issue.status.name) }
49
-
50
- # generate_changelog(to_validate: to_validate, validated: validated, format: params[:format], url: params[:build_url])
51
- # end
52
-
53
- # def self.generate_changelog(to_validate:, validated:, format:, url:)
54
- # changelog = []
55
- # changelog.concat(format_issues(label: 'Tasks to validate', issues: to_validate, format: format)) unless to_validate.empty?
56
- # changelog.concat(['']) unless changelog.to_s.empty?
57
- # changelog.concat(format_issues(label: 'Validated tasks', issues: validated, format: format)) unless validated.empty?
58
- # # changes = format_issues(issues: issues)
59
- # changelog = ['No changes included.'] if changelog.to_s.empty?
60
-
61
- # changelog.join("\n")
62
34
  end
63
35
 
64
36
  def self.ticket_not_found(ticket_code = "")
@@ -175,13 +147,6 @@ module Fastlane
175
147
  default_value: '[A-Z]+',
176
148
  optional: true
177
149
  ),
178
- FastlaneCore::ConfigItem.new(
179
- key: :build_url,
180
- env_name: 'FL_RELEASE_NOTES_BUILD_URL',
181
- description: 'Link to the ci build',
182
- optional: true,
183
- default_value: ENV['BUILD_URL']
184
- ),
185
150
  FastlaneCore::ConfigItem.new(
186
151
  key: :format,
187
152
  description: "You can use either markdown, slack or plain",
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module JiraIssuesReleaseNotes
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-jira_issues_release_notes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erick Martins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-24 00:00:00.000000000 Z
11
+ date: 2021-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jira-ruby