lhj-tools 0.2.25 → 0.2.26

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: 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