lhj-tools 0.2.24 → 0.2.25

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: 253e532b62ca8fd6c1b10281d9dfc87cb2f1a40abbd185f66066abc72b7cd72d
4
- data.tar.gz: 3b67e5cfb736805d1b078b72efe4cab2d8f28848c77e8b3d049fbf6dfc227648
3
+ metadata.gz: d1172af22907b68257770cdd7996d7dc8f90500e6427b9fde02e5ac59f451a3e
4
+ data.tar.gz: 1a9ed45b72d8542823a406f59b508788ac347911a5b1d4b687faad1a74dde193
5
5
  SHA512:
6
- metadata.gz: f23ae53bdd2047b055f1baec787b67a21684b42f23f1004c503ebcfc157670fd6d09c58f774a7a3fad374371ae474b534cc616835da73ea53595a40047fa321f
7
- data.tar.gz: 7ddab83f382970b112d558ec7b410def3530281cc321dc3f77af73d5c342ade9f600779870e9ced7bfe78c6d3c6c15c58d205e4b1ef3a5f0c34f2f013258f5f3
6
+ metadata.gz: 3d3c41fc6ae30f4536d83d89630107c0d2cc4fa8f597895a231d827ebc2d63205141f3a1737db0a60bba28a007263af510190267041d4a2442056b77db5ada16
7
+ data.tar.gz: 16bd226cda26f4b469015dfb7fcdedbcb28a86f044543ba072e9fe0f8fe9fd3347d4371631c8b54e5de51955a6a46dc960a3f595d264a95daa540bea0d6fae20
@@ -30,34 +30,80 @@ module Lhj
30
30
  end
31
31
 
32
32
  def handle
33
- d = {
34
- "data": {
35
- "attributes": {
36
- "email": "878943972@qq.com",
37
- "firstName": "li",
38
- "lastName": "haijian"
33
+ job_name = '更新分支功能描述'
34
+ server_ip = Lhj::JenkinsConfig.server_ip
35
+ server_port = Lhj::JenkinsConfig.server_port
36
+ username = Lhj::JenkinsConfig.username
37
+ password = Lhj::JenkinsConfig.password
38
+ client = JenkinsApi::Client.new(server_ip: server_ip, server_port: server_port, username: username, password: password)
39
+
40
+ # puts client.job.get_config(job_name)
41
+
42
+ update_job(job_name, :string, 'AA', '这是一个测试', 'WWWW描述')
43
+ end
44
+
45
+ def update_job(job_name, param_type, param_key, param_value, param_desc)
46
+ server_ip = Lhj::JenkinsConfig.server_ip
47
+ server_port = Lhj::JenkinsConfig.server_port
48
+ username = Lhj::JenkinsConfig.username
49
+ password = Lhj::JenkinsConfig.password
50
+ client = JenkinsApi::Client.new(server_ip: server_ip, server_port: server_port, username: username, password: password)
51
+
52
+ property_arr = client.job.get_build_params(job_name)
53
+ puts property_arr
54
+ xml = client.job.get_config(job_name)
55
+ n_xml = Nokogiri::XML(xml)
56
+ params = n_xml.xpath('//parameterDefinitions').first
57
+ string_params = params.children.select { |p| p.name.eql?('hudson.model.StringParameterDefinition') }
58
+ param = string_params.find { |p| p.children.find { |c| c.name.eql?('name') && c.content.eql?(param_key) } }
59
+ has_desc = false
60
+ param.children.each do |p|
61
+ has_desc = true if p.name.eql?('description')
62
+ p.content = param_value if p.name.eql?('defaultValue')
63
+ p.content = param_desc if p.name.eql?('description')
64
+ p.content = 'true' if p.name.eql?('trim')
65
+ end
66
+ param.add_child("<description>#{param_desc}</description>") unless has_desc
67
+ xml_modified = n_xml.to_xml
68
+ client.job.post_config(job_name, xml_modified)
69
+ end
70
+
71
+ def create_tester(email, id)
72
+ names = email.split('@') if email =~ /@/
73
+ first_name = names[1] if names && names.length > 1
74
+ last_name = names[0] if names&.length&.positive?
75
+ first_name ||= 'first'
76
+ last_name ||= 'last'
77
+ post_data = {
78
+ 'data' => {
79
+ 'attributes' => {
80
+ 'email' => email,
81
+ 'firstName' => first_name,
82
+ 'lastName' => last_name
39
83
  },
40
- "relationships": {
41
- "builds": {
42
- "data": [
84
+ 'relationships' => {
85
+ 'betaGroups' => {
86
+ 'data' => [
43
87
  {
44
- "id": "0cd7ac82-b2d9-4772-bfa1-0ff6e8037f7d",
45
- "type": "builds"
88
+ 'id' => id,
89
+ 'type' => 'betaGroups'
46
90
  }
47
91
  ]
48
92
  }
49
93
  },
50
- "type": "betaTesters"
94
+ 'type' => 'betaTesters'
51
95
  }
52
96
  }
53
- res = Lhj::ConnectAPI.post('https://api.appstoreconnect.apple.com/v1/betaTesters', d)
54
- puts res.read_body
97
+ res = Lhj::ConnectAPI.post('https://api.appstoreconnect.apple.com/v1/betaTesters', post_data)
98
+ res_body = JSON.parse(res.body)
99
+ puts 'success' if res_body['data']
100
+ end
55
101
 
56
- # client = JenkinsApi::Client.new(server_ip: 'ip', server_port: 0, username: 'xx', password: 'xx')
57
- # puts client.user.get('aomi')
58
- # puts client.job.list_all
59
- # client.job.build('aomi_uat')
60
- # puts client.job.get_console_output('aomi_uat', 253)
102
+ def all_group
103
+ res = Lhj::ConnectAPI.get('https://api.appstoreconnect.apple.com/v1/betaGroups')
104
+ res_body = JSON.parse(res.body)
105
+ names = res_body['data'].map { |item| { id: item['id'], name: item['attributes']['name'] } }
106
+ names.each { |a| puts a[:name] + '---' + a[:id] }
61
107
  end
62
108
  end
63
109
  end
data/lib/lhj/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lhj
4
- VERSION = '0.2.24'
4
+ VERSION = '0.2.25'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhj-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.24
4
+ version: 0.2.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-20 00:00:00.000000000 Z
11
+ date: 2023-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj
@@ -252,16 +252,16 @@ dependencies:
252
252
  name: json
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - '='
255
+ - - "<"
256
256
  - !ruby/object:Gem::Version
257
- version: 2.3.0
257
+ version: 3.0.0
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - '='
262
+ - - "<"
263
263
  - !ruby/object:Gem::Version
264
- version: 2.3.0
264
+ version: 3.0.0
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: bundler
267
267
  requirement: !ruby/object:Gem::Requirement