gitlab_add_approval_rules_bot 0.1.0 → 0.1.1

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: 81962cc2d72ae66fb21336cf41280e885d3d9cf67b4d1d9fdb387a67b7e460f2
4
- data.tar.gz: '09b3915ebf67302fa75af58446d56b8db10b4d3273713c18be62aee5becd329c'
3
+ metadata.gz: e29a349d91f7472eebfd51a9d7b36f62edb7e6bcdf1f9d4cc62d1b701f46bf4e
4
+ data.tar.gz: d6b20e8fe864eb8b7367c32cb2d3b8f0ce489dda2f6f58697fb0793c0c32f92c
5
5
  SHA512:
6
- metadata.gz: 6eb8d9058fba110b90f28bac0b21c64ddf38611d0a14029ce5cd71f17952f2c9b19e8e419ab02592d25fdf73eb8c925927f848a974bd5e88740a65935309b6b1
7
- data.tar.gz: ac1c16d0f8fd78f96973697e66bcf59cfebb796d9bd0a3dafe2a212a64a140201ae0ae554678c1e6f1eed44e1a5b5640f6821a693bab8b69edc5f8381d2ecc42
6
+ metadata.gz: 8bc52aa9a06aafa01007beb10447ff3e41cfb22ac3b6516a1a518b3d7e9bb7ef0a4fd2c3aeef06bda968e2f2c6732199c6b62451321c8e0ae4585d7f5bbfa094
7
+ data.tar.gz: 55bb2298aa3651eabd21467cf7cc7ea9316814e0335a72c17910987f7b51eba3e412f4b69ad6b4df99a203037e99e39bf179cc7ffaf5f40436f14e3fcf3722e1
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GitlabAddApprovalRulesBot
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
@@ -20,49 +20,55 @@ module GitlabAddApprovalRulesBot
20
20
  default_task :help
21
21
 
22
22
  desc "apply", "apply"
23
- def apply(config_filename=nil, dry_run=true)
23
+ option :dry_run, aliases: "-d", type: :boolean, desc: "dry run mode", default: false
24
+ def apply(config_filename=nil)
24
25
  config_filename = "config.yml" if config_filename.nil?
25
26
  config = YAML.load_file(config_filename)
26
27
  project_id = ENV['PROJECT_ID'] or ENV['CI_PROJECT_ID']
27
28
  merge_request_iid = ENV['MERGE_REQUEST_IID'] or ENV['CI_MERGE_REQUEST_IID']
28
29
 
29
30
  config['rules'].each do |rule|
30
- options = {
31
+ rule_options = {
31
32
  name: rule['name'],
32
33
  approvals_required: rule['approvals_required'],
33
34
  user_ids: [],
34
35
  group_ids: [],
35
36
  }
36
37
  if rule.has_key? 'approval_project_rule_id'
37
- options[:approval_project_rule_id] = rule['approval_project_rule_id']
38
+ rule_options[:approval_project_rule_id] = rule['approval_project_rule_id']
38
39
  end
39
40
  if rule.has_key? 'user_ids'
40
- options[:user_ids] = rule['user_ids']
41
+ rule_options[:user_ids] = rule['user_ids']
41
42
  end
42
43
  if rule.has_key? 'group_ids'
43
- options[:group_ids] = rule['group_ids']
44
+ rule_options[:group_ids] = rule['group_ids']
44
45
  end
45
46
  if rule.has_key? 'usernames'
46
47
  rule['usernames'].each do |username|
47
- user = Gitlab.users(options: {username: username})&.first
48
+ user = Gitlab.user_search(username)&.first
48
49
  pp user
49
- options[:user_ids] << user['id'] unless user.nil?
50
+ if not user.nil? and user['username'] == username
51
+ rule_options[:user_ids] << user['id'] unless user.nil?
52
+ end
50
53
  end
51
54
  end
52
55
  if rule.has_key? 'groupnames'
53
56
  rule['groupnames'].each do |groupname|
54
- group = Gitlab.groups(options: {groupname: groupname})&.first
57
+ group = Gitlab.group_search(groupname)&.first
55
58
  pp group
56
- options[:group_ids] << group['id'] unless group.nil?
59
+ if not group.nil? and group['groupname'] == groupname
60
+ rule_options[:group_ids] << group['id'] unless group.nil?
61
+ end
62
+
57
63
  end
58
64
  end
59
65
  puts "project_id: #{project_id}"
60
66
  puts "merge_request_iid: #{merge_request_iid}"
61
- puts "options: #{options}"
62
- if dry_run
67
+ puts "options: #{rule_options}"
68
+ if options[:dry_run]
63
69
  puts "THIS IS DRY RUN MODE!!"
64
70
  else
65
- Gitlab.create_merge_request_level_rule(project_id, merge_request_iid, options)
71
+ # Gitlab.create_merge_request_level_rule(project_id, merge_request_iid, rule_options)
66
72
  end
67
73
  end
68
74
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab_add_approval_rules_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shoma FUKUDA