lhj-tools 0.2.25 → 0.2.26

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: d1172af22907b68257770cdd7996d7dc8f90500e6427b9fde02e5ac59f451a3e
4
- data.tar.gz: 1a9ed45b72d8542823a406f59b508788ac347911a5b1d4b687faad1a74dde193
3
+ metadata.gz: 16224374a128ff4316f5553b1d5baa614e23d4e13bc1deadbbf3ca2e2e891dd8
4
+ data.tar.gz: d312a877fc8e1e32964b985aa9d302ff903a36aad3da75cc20796000582771cb
5
5
  SHA512:
6
- metadata.gz: 3d3c41fc6ae30f4536d83d89630107c0d2cc4fa8f597895a231d827ebc2d63205141f3a1737db0a60bba28a007263af510190267041d4a2442056b77db5ada16
7
- data.tar.gz: 16bd226cda26f4b469015dfb7fcdedbcb28a86f044543ba072e9fe0f8fe9fd3347d4371631c8b54e5de51955a6a46dc960a3f595d264a95daa540bea0d6fae20
6
+ metadata.gz: f69613a09746ac7ab39733e3a1fc657ddbc463a7bcc0efaf6954fb32edff46120b6d819d354e641b450ad45a57630a50d1944c6f8091cf3a589d6e16faeb0544
7
+ data.tar.gz: 3e4c95527e71b21d3612aa31ea8dd549f268c7a6e6e0d8076a91a57163deed8f5658c8043bc6321b47674939927f1e91019f7f22b34c40113b4139805a8248b4
@@ -1,4 +1,5 @@
1
1
  require 'jenkins_api_client'
2
+ require 'nokogiri'
2
3
 
3
4
  module Lhj
4
5
  class Command
@@ -30,27 +31,22 @@ module Lhj
30
31
  end
31
32
 
32
33
  def handle
33
- job_name = '更新分支功能描述'
34
+ job_name = 'aom_uat_haijian'
35
+ # job_name = 'aom_uat_haijian'
34
36
  server_ip = Lhj::JenkinsConfig.server_ip
35
37
  server_port = Lhj::JenkinsConfig.server_port
36
38
  username = Lhj::JenkinsConfig.username
37
39
  password = Lhj::JenkinsConfig.password
38
40
  client = JenkinsApi::Client.new(server_ip: server_ip, server_port: server_port, username: username, password: password)
39
41
 
40
- # puts client.job.get_config(job_name)
41
-
42
- update_job(job_name, :string, 'AA', '这是一个测试', 'WWWW描述')
42
+ client.job.list_all.each do |a|
43
+ add_property(client, a, 'WEBHOOK', 'https://oapi.dingtalk.com/robot/sendBySession?session=bd640dea6cd28b6c880c4f3cc0945c8f', 'Webhook url')
44
+ end
45
+ # puts client.job.get_config('aomi_uat')
46
+ #
43
47
  end
44
48
 
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
49
+ def update_job(client, job_name, param_key, param_value, param_desc)
54
50
  xml = client.job.get_config(job_name)
55
51
  n_xml = Nokogiri::XML(xml)
56
52
  params = n_xml.xpath('//parameterDefinitions').first
@@ -68,6 +64,30 @@ module Lhj
68
64
  client.job.post_config(job_name, xml_modified)
69
65
  end
70
66
 
67
+ def add_property(client, job_name, param_key, param_value, param_desc)
68
+ xml = client.job.get_config(job_name)
69
+ n_xml = Nokogiri::XML(xml)
70
+ params = n_xml.xpath('//parameterDefinitions').first
71
+ return if params
72
+
73
+ pro = n_xml.xpath('//properties').first
74
+ c_xml = <<~DESC
75
+ <hudson.model.ParametersDefinitionProperty>
76
+ <parameterDefinitions>
77
+ <hudson.model.StringParameterDefinition>
78
+ <name>WEBHOOK</name>
79
+ <description>webhook url</description>
80
+ <defaultValue>https://oapi.dingtalk.com/robot/sendBySession?session=cd8539f8472e2f5d39a6beef94ffc569</defaultValue>
81
+ <trim>true</trim>
82
+ </hudson.model.StringParameterDefinition>
83
+ </parameterDefinitions>
84
+ </hudson.model.ParametersDefinitionProperty>
85
+ DESC
86
+ pro.add_child(c_xml)
87
+ xml_modified = n_xml.to_xml
88
+ client.job.post_config(job_name, xml_modified)
89
+ end
90
+
71
91
  def create_tester(email, id)
72
92
  names = email.split('@') if email =~ /@/
73
93
  first_name = names[1] if names && names.length > 1
@@ -30,6 +30,7 @@ module Lhj
30
30
  @id = argv.option('id')
31
31
  @model_pre_name = argv.option('model-pre')
32
32
  @model_result_name = argv.option('model-name')
33
+ @webhook = argv.option('webhook')
33
34
  @language = argv.option('lan', 'oc')
34
35
  @save = argv.flag?('save', false)
35
36
  @sync = argv.flag?('sync', false)
@@ -241,7 +242,7 @@ module Lhj
241
242
  end
242
243
 
243
244
  def robot_url
244
- @config_robot_url || 'https://oapi.dingtalk.com/robot/send?access_token=fe879fd3e7a3b5e59d5719b2384845b7884901919be5a78fe443cbf777869807'
245
+ @webhook || @config_robot_url || 'https://oapi.dingtalk.com/robot/send?access_token=fe879fd3e7a3b5e59d5719b2384845b7884901919be5a78fe443cbf777869807'
245
246
  end
246
247
 
247
248
  def property_mapper
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.25'
4
+ VERSION = '0.2.26'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhj-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.25
4
+ version: 0.2.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian