cirro-ruby-client 1.5.0 → 1.6.2
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 +4 -4
- data/.circleci/config.yml +77 -5
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile.lock +14 -16
- data/README.md +15 -0
- data/lib/cirro_io/client/base.rb +20 -0
- data/lib/cirro_io/client/gig_invitation.rb +1 -0
- data/lib/cirro_io/client/gig_task.rb +1 -0
- data/lib/cirro_io/client/gig_time_activity.rb +1 -0
- data/lib/cirro_io/client/notifications_broadcast.rb +8 -0
- data/lib/cirro_io/client/notifications_channel.rb +6 -0
- data/lib/cirro_io/client/notifications_template.rb +7 -0
- data/lib/cirro_io/client/version.rb +1 -1
- data/lib/cirro_io/client.rb +3 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0d061a9b240178ba1982a8afab295b214d060ab159fbdcedca4029a1a0b702a
|
4
|
+
data.tar.gz: 8a97b77f43397c611c186394a2882592fff533579507a3a80d6c21277585b59d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ff6817b1b04bcd964c1b442d883d0f7d6d602f811c949303b7c9dd5a01ca894ea754daf6fbc4d2a2942255f1b9ef7879eebf10261221dbde4e59087f235b2eb
|
7
|
+
data.tar.gz: c568caf210771fb06aca9ae1e67c883dfb9cfb35549104a3bb942c15e9105b5435e74a2976578a19cdbb3f587fd32aea5569ef6840127b181754573de1941a6c
|
data/.circleci/config.yml
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
version: 2.1
|
2
|
+
infra_container: &infra_container
|
3
|
+
eu.gcr.io/cirro-io/swissknife@sha256:1dceb221bfc058c4ba22fe4dcbf4f30dfdc10951bc2293d5c53aebc4f87037f3
|
4
|
+
|
5
|
+
# Configure authentication in private registry
|
6
|
+
infra_container_registry_auth:
|
7
|
+
&infra_container_registry_auth
|
8
|
+
auth:
|
9
|
+
username: _json_key # default username when using a JSON key file to authenticate
|
10
|
+
password: $GOOGLE_JSON_KEY
|
2
11
|
|
3
12
|
jobs:
|
4
|
-
|
13
|
+
test:
|
5
14
|
docker:
|
6
|
-
- image:
|
15
|
+
- image: cimg/ruby:2.7.1-node
|
7
16
|
environment:
|
8
17
|
- RAILS_ENV=test
|
9
18
|
- RACK_ENV=test
|
@@ -25,9 +34,10 @@ jobs:
|
|
25
34
|
- run:
|
26
35
|
name: Check code style
|
27
36
|
command: bundle exec rubocop
|
37
|
+
|
28
38
|
deploy:
|
29
39
|
docker:
|
30
|
-
- image:
|
40
|
+
- image: cimg/ruby:2.7.1-node
|
31
41
|
steps:
|
32
42
|
- checkout
|
33
43
|
- run:
|
@@ -56,14 +66,76 @@ jobs:
|
|
56
66
|
gem push cirro-ruby-client-$version.gem
|
57
67
|
shred -u ~/.gem/credentials
|
58
68
|
|
69
|
+
defectdojo:
|
70
|
+
docker:
|
71
|
+
- image: *infra_container
|
72
|
+
<<: *infra_container_registry_auth
|
73
|
+
environment:
|
74
|
+
- DEFECTDOJO_URL: defectdojo.testcloud.io
|
75
|
+
- DEFECTDOJO_PRODUCT: Cirro Ruby Client
|
76
|
+
- DEFECTDOJO_ENG_NAME: CircleCI Scan
|
77
|
+
steps:
|
78
|
+
- checkout
|
79
|
+
- run:
|
80
|
+
name: Setup access to GCP
|
81
|
+
command: |
|
82
|
+
echo $GOOGLE_JSON_KEY > ${HOME}/gcloud-service-key.json && \
|
83
|
+
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
|
84
|
+
gcloud auth configure-docker
|
85
|
+
- run:
|
86
|
+
name: Scans
|
87
|
+
command: |
|
88
|
+
unset GITHUB_TOKEN && trivy fs --exit-code 0 --no-progress --ignorefile .trivyignore-fake --format json --output filesystem-scan.json .
|
89
|
+
gitleaks detect --no-git --exit-code 0 --report-format json --report-path gitleaks.json
|
90
|
+
- run:
|
91
|
+
name: Send data to DefectDojo
|
92
|
+
command: |
|
93
|
+
export DEFECTDOJO_TOKEN=$(gcloud secrets versions access latest \
|
94
|
+
--secret="defectdojo_token" \
|
95
|
+
--project=cirro-io \
|
96
|
+
--quiet)
|
97
|
+
|
98
|
+
# Send Trivy filesystem scan
|
99
|
+
curl --fail --request POST https://$DEFECTDOJO_URL/api/v2/reimport-scan/ \
|
100
|
+
--header "Authorization: Token $DEFECTDOJO_TOKEN" \
|
101
|
+
--form "active=true" \
|
102
|
+
--form "auto_create_context=true" \
|
103
|
+
--form "branch_tag=${CIRCLE_BRANCH}" \
|
104
|
+
--form "commit_hash=${CIRCLE_SHA1}" \
|
105
|
+
--form "close_old_findings=true" \
|
106
|
+
--form "scan_type=Trivy Scan" \
|
107
|
+
--form "test_title=Trivy application scan" \
|
108
|
+
--form "engagement_name=${DEFECTDOJO_ENG_NAME}" \
|
109
|
+
--form "product_name=${DEFECTDOJO_PRODUCT}" \
|
110
|
+
--form "file=@filesystem-scan.json"
|
111
|
+
|
112
|
+
# Send Gitleaks scan
|
113
|
+
curl --fail --request POST https://$DEFECTDOJO_URL/api/v2/reimport-scan/ \
|
114
|
+
--header "Authorization: Token $DEFECTDOJO_TOKEN" \
|
115
|
+
--form "active=true" \
|
116
|
+
--form "auto_create_context=true" \
|
117
|
+
--form "branch_tag=${CIRCLE_BRANCH}" \
|
118
|
+
--form "commit_hash=${CIRCLE_SHA1}" \
|
119
|
+
--form "close_old_findings=true" \
|
120
|
+
--form "scan_type=Gitleaks Scan" \
|
121
|
+
--form "test_title=Gitleaks Scan" \
|
122
|
+
--form "engagement_name=${DEFECTDOJO_ENG_NAME}" \
|
123
|
+
--form "product_name=${DEFECTDOJO_PRODUCT}" \
|
124
|
+
--form "file=@gitleaks.json"
|
125
|
+
|
59
126
|
workflows:
|
60
127
|
version: 2
|
61
128
|
deploy_the_gem:
|
62
129
|
jobs:
|
63
|
-
-
|
130
|
+
- test
|
64
131
|
- deploy:
|
65
132
|
requires:
|
66
|
-
-
|
133
|
+
- test
|
134
|
+
filters:
|
135
|
+
branches:
|
136
|
+
only:
|
137
|
+
- master
|
138
|
+
- defectdojo:
|
67
139
|
filters:
|
68
140
|
branches:
|
69
141
|
only:
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
|
|
55
55
|
## Enforcement
|
56
56
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
-
reported by contacting the project team at
|
58
|
+
reported by contacting the project team at devs@test.io. All
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cirro-ruby-client (1.
|
4
|
+
cirro-ruby-client (1.6.2)
|
5
5
|
faraday (< 1.2.0)
|
6
6
|
faraday_middleware
|
7
7
|
json_api_client (>= 1.10.0)
|
@@ -10,19 +10,18 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
activemodel (
|
14
|
-
activesupport (=
|
15
|
-
activesupport (
|
13
|
+
activemodel (7.0.2.3)
|
14
|
+
activesupport (= 7.0.2.3)
|
15
|
+
activesupport (7.0.2.3)
|
16
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
17
17
|
i18n (>= 1.6, < 2)
|
18
18
|
minitest (>= 5.1)
|
19
19
|
tzinfo (~> 2.0)
|
20
|
-
|
21
|
-
addressable (2.7.0)
|
20
|
+
addressable (2.8.0)
|
22
21
|
public_suffix (>= 2.0.2, < 5.0)
|
23
22
|
ast (2.4.1)
|
24
23
|
coderay (1.1.3)
|
25
|
-
concurrent-ruby (1.1.
|
24
|
+
concurrent-ruby (1.1.10)
|
26
25
|
crack (0.4.4)
|
27
26
|
diff-lcs (1.4.4)
|
28
27
|
faker (2.14.0)
|
@@ -30,21 +29,21 @@ GEM
|
|
30
29
|
faraday (1.1.0)
|
31
30
|
multipart-post (>= 1.2, < 3)
|
32
31
|
ruby2_keywords
|
33
|
-
faraday_middleware (1.
|
32
|
+
faraday_middleware (1.2.0)
|
34
33
|
faraday (~> 1.0)
|
35
34
|
hashdiff (1.0.1)
|
36
|
-
i18n (1.
|
35
|
+
i18n (1.10.0)
|
37
36
|
concurrent-ruby (~> 1.0)
|
38
|
-
json_api_client (1.
|
37
|
+
json_api_client (1.21.0)
|
39
38
|
activemodel (>= 3.2.0)
|
40
39
|
activesupport (>= 3.2.0)
|
41
40
|
addressable (~> 2.2)
|
42
|
-
faraday (>= 0.15.2, <
|
43
|
-
faraday_middleware (>= 0.9.0, <
|
41
|
+
faraday (>= 0.15.2, < 2.0)
|
42
|
+
faraday_middleware (>= 0.9.0, < 2.0)
|
44
43
|
rack (>= 0.2)
|
45
|
-
jwt (2.
|
44
|
+
jwt (2.3.0)
|
46
45
|
method_source (1.0.0)
|
47
|
-
minitest (5.
|
46
|
+
minitest (5.15.0)
|
48
47
|
multipart-post (2.1.1)
|
49
48
|
parallel (1.19.2)
|
50
49
|
parser (2.7.2.0)
|
@@ -85,7 +84,7 @@ GEM
|
|
85
84
|
rubocop-rspec (1.43.2)
|
86
85
|
rubocop (~> 0.87)
|
87
86
|
ruby-progressbar (1.10.1)
|
88
|
-
ruby2_keywords (0.0.
|
87
|
+
ruby2_keywords (0.0.5)
|
89
88
|
tzinfo (2.0.4)
|
90
89
|
concurrent-ruby (~> 1.0)
|
91
90
|
unicode-display_width (1.7.0)
|
@@ -93,7 +92,6 @@ GEM
|
|
93
92
|
addressable (>= 2.3.6)
|
94
93
|
crack (>= 0.3.2)
|
95
94
|
hashdiff (>= 0.4.0, < 2.0.0)
|
96
|
-
zeitwerk (2.4.2)
|
97
95
|
|
98
96
|
PLATFORMS
|
99
97
|
ruby
|
data/README.md
CHANGED
@@ -55,3 +55,18 @@ invitation = CirroIO::Client::GigInvitation.new(gig: gig)
|
|
55
55
|
|
56
56
|
invitation.bulk_create_with(filter, auto_accept: true) # by default auto_accept is false
|
57
57
|
```
|
58
|
+
|
59
|
+
#### Creating Payouts for workers
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
app_worker = CirroIO::Client::AppWorker.load(id: 1234)
|
63
|
+
|
64
|
+
CirroIO::Client::Payout.create(
|
65
|
+
app_worker: app_worker,
|
66
|
+
amount: 100, # € 1.00
|
67
|
+
title: "Bonus for something",
|
68
|
+
description: "Description of the bonus.",
|
69
|
+
cost_center_key: "PROJECT-CODE",
|
70
|
+
billing_date: DateTime.now
|
71
|
+
)
|
72
|
+
```
|
data/lib/cirro_io/client/base.rb
CHANGED
@@ -28,6 +28,26 @@ module CirroIO
|
|
28
28
|
conn.use JsonApiClient::Middleware::Status, {}
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
# HACK: https://github.com/JsonApiClient/json_api_client/issues/390
|
33
|
+
# waiting for json_api_client to release a new version with the fix
|
34
|
+
# https://github.com/JsonApiClient/json_api_client/pull/398
|
35
|
+
# rubocop:disable all
|
36
|
+
def initialize(params = {})
|
37
|
+
params = params.with_indifferent_access
|
38
|
+
@persisted = nil
|
39
|
+
@destroyed = nil
|
40
|
+
self.links = self.class.linker.new(params.delete(:links) || {})
|
41
|
+
self.relationships = self.class.relationship_linker.new(self.class, params.delete(:relationships) || {})
|
42
|
+
self.attributes = self.class.default_attributes.merge params.except(*self.class.prefix_params)
|
43
|
+
self.forget_change!(:type)
|
44
|
+
self.__belongs_to_params = params.slice(*self.class.prefix_params)
|
45
|
+
|
46
|
+
setup_default_properties
|
47
|
+
|
48
|
+
self.request_params = self.class.request_params_class.new(self.class)
|
49
|
+
end
|
50
|
+
# rubocop:enable all
|
31
51
|
end
|
32
52
|
end
|
33
53
|
end
|
@@ -4,6 +4,7 @@ module CirroIO
|
|
4
4
|
include CirroIO::Client::BulkActionHelper
|
5
5
|
|
6
6
|
has_one :gig
|
7
|
+
has_one :app_worker
|
7
8
|
|
8
9
|
def bulk_create_with(worker_filter, auto_accept: false)
|
9
10
|
payload = { data: { attributes: attributes.merge(worker_filter: worker_filter.attributes, auto_accept: auto_accept) } }
|
data/lib/cirro_io/client.rb
CHANGED
@@ -15,6 +15,9 @@ require 'cirro_io/client/gig_result'
|
|
15
15
|
require 'cirro_io/client/gig_time_activity'
|
16
16
|
require 'cirro_io/client/gig'
|
17
17
|
require 'cirro_io/client/payout'
|
18
|
+
require 'cirro_io/client/notifications_broadcast'
|
19
|
+
require 'cirro_io/client/notifications_channel'
|
20
|
+
require 'cirro_io/client/notifications_template'
|
18
21
|
|
19
22
|
module CirroIO
|
20
23
|
module Client
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cirro-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cirro Dev Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -100,6 +100,9 @@ files:
|
|
100
100
|
- lib/cirro_io/client/gig_task.rb
|
101
101
|
- lib/cirro_io/client/gig_time_activity.rb
|
102
102
|
- lib/cirro_io/client/jwt_authentication.rb
|
103
|
+
- lib/cirro_io/client/notifications_broadcast.rb
|
104
|
+
- lib/cirro_io/client/notifications_channel.rb
|
105
|
+
- lib/cirro_io/client/notifications_template.rb
|
103
106
|
- lib/cirro_io/client/payout.rb
|
104
107
|
- lib/cirro_io/client/response_debugging_middleware.rb
|
105
108
|
- lib/cirro_io/client/version.rb
|
@@ -126,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
129
|
- !ruby/object:Gem::Version
|
127
130
|
version: '0'
|
128
131
|
requirements: []
|
129
|
-
rubygems_version: 3.1.
|
132
|
+
rubygems_version: 3.1.3
|
130
133
|
signing_key:
|
131
134
|
specification_version: 4
|
132
135
|
summary: Ruby client library for Cirro API
|