fastlane-plugin-update_jenkins_build 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05467a2ae78b51994f3c96e4952779432d1a017473ca3e6cef71185e868df21e
4
- data.tar.gz: 02c971802b4b00e384a8ad8eeba2bc0277b3a036512744475b18a48b83ab7ceb
3
+ metadata.gz: 379bae5a03fd9f67c520ff6d51c1bf28f2aefbee8c7d97437e9b657a699c388a
4
+ data.tar.gz: 85c42f4ff0ae2c6e7466ea7b5a47fdfb1dc9dafc0cfdce7cca45f8d4d6ea6e82
5
5
  SHA512:
6
- metadata.gz: 44a7414ad1b89f503a758b0da1ff4d6c588de466bb35fbf0c72ce066e7fda802961d3e5671c3e3e65400fe2ec2f62e8e38ea2c709b8ca9c71ed0f09ad6a287be
7
- data.tar.gz: 312432f67a91c4f58a59b90deafe0e50aa08d292e450f28fb755e35c44e16a6ff509d55a198dce789c27eecc6f90f13715073771cc22d6d701c8a1ab28009f63
6
+ metadata.gz: 0a63f53734a4ca7a874434326ffa2b09e8de5f870172b5b1df99b516a35f4b72bc1125be221869cf1cd994a3eff21827c30eda0724f14f9fcd1939dce0a59124
7
+ data.tar.gz: 985c794df73f7975877a2304fe076504f36a461bbf2ef4c0adb808d64032a6a27ccad942b2df24c434a5889558580ab083cceab15414481f79f80e92794a7f62
data/README.md CHANGED
@@ -10,6 +10,15 @@ This project is a [_fastlane_](https://github.com/fastlane/fastlane) plugin. To
10
10
  fastlane add_plugin update_jenkins_build
11
11
  ```
12
12
 
13
+ ![screenshot](screenshot.png)
14
+
15
+ ### Configure Jenkins
16
+
17
+ ⚠️ **READ ME FRIST**
18
+
19
+ Jenkins version below 2.221, you need disable CSRF Protection in Global Security Settings page or
20
+ else you must append '-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true' into Jenkins startup argument, [Check more details](https://github.com/icyleaf/fastlane-plugin-update_jenkins_build/issues/2).
21
+
13
22
  ## About update_jenkins_build
14
23
 
15
24
  Update build's description of jenkins.
@@ -1,5 +1,6 @@
1
1
  require 'fastlane/action'
2
2
  require_relative '../helper/update_jenkins_build_helper'
3
+ require 'rubygems'
3
4
  require 'http'
4
5
  require 'uri'
5
6
 
@@ -25,15 +26,14 @@ module Fastlane
25
26
  })
26
27
  end
27
28
 
28
- result = if res.code == 302
29
- 'success'
30
- else
31
- "#{res.code} fail"
32
- end
29
+ # Submit form succesed it will 302 to the build url.
30
+ result = res.code == 302 ? 'success' : "#{res.code} fail"
33
31
 
32
+ jenkins_version = Helper::UpdateJenkinsBuildHelper.jenkins_version(@url, @user, @password)
34
33
  params = {
35
34
  title: "Summary for update_jenkins_build #{UpdateJenkinsBuild::VERSION}".green,
36
35
  rows: {
36
+ jenkins_version: jenkins_version,
37
37
  result: result,
38
38
  url: "#{base_uri}/editDescription",
39
39
  auth: @user ? true : false,
@@ -41,9 +41,18 @@ module Fastlane
41
41
  }
42
42
  }
43
43
 
44
- puts ""
45
44
  puts Terminal::Table.new(params)
46
- puts ""
45
+
46
+ if res.code != 302
47
+ UI.error "Detect `update_jenkins_build` ran fail."
48
+ if jenkins_version && Gem::Version.new(jenkins_version) > Gem::Version.new('2.221')
49
+ UI.error "Because Jenkins v#{jenkins_version} removed 'disable CSRF Protection' option since 2.222,"
50
+ UI.error "You need append '-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true' into Jenkins startup argument."
51
+ UI.error "Please check https://github.com/icyleaf/fastlane-plugin-update_jenkins_build/issues/2"
52
+ else
53
+ UI.error "Please 'disable CSRF Protection' in 'Global Security Settings' page from Jenkins."
54
+ end
55
+ end
47
56
 
48
57
  [result, res.body]
49
58
  end
@@ -5,6 +5,18 @@ module Fastlane
5
5
 
6
6
  module Helper
7
7
  class UpdateJenkinsBuildHelper
8
+
9
+ def self.jenkins_version(url, user, password)
10
+ url = "#{url}/api/json"
11
+ res = if user && password
12
+ HTTP.basic_auth(user: user, pass: password)
13
+ .get(url)
14
+ else
15
+ HTTP.get(url)
16
+ end
17
+
18
+ res.headers['X-Jenkins']
19
+ end
8
20
  end
9
21
  end
10
22
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module UpdateJenkinsBuild
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-update_jenkins_build
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
  - icyleaf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-17 00:00:00.000000000 Z
11
+ date: 2020-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -195,8 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  - !ruby/object:Gem::Version
196
196
  version: '0'
197
197
  requirements: []
198
- rubyforge_project:
199
- rubygems_version: 2.7.3
198
+ rubygems_version: 3.0.6
200
199
  signing_key:
201
200
  specification_version: 4
202
201
  summary: Update Description of Build