neetob 0.1.4 → 0.1.5

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: 341391d50e6f4be4c69fe7608c6cdcdad8ffecb7fbf55aac1bdcf0fa307a51dd
4
- data.tar.gz: 2984a090795cf1f51a05e8dfd18957ba74172469f432cef6f8f217f2739dbbf2
3
+ metadata.gz: 641eee79e8d05537132030cc9db2ca8d4a57e60e480552dcb1a904fd00e542f5
4
+ data.tar.gz: a4c674222429b42cff84e1eeb7a66212b32da60f4248a36a4dae5b03439cc649
5
5
  SHA512:
6
- metadata.gz: e2f7b80a100686409a27f851aa9abc9f74bcbe101ebe6a635619bd9c6a5db9e8ed39804444207f63703db4e207a7f886272117a6287c8cfc3421ac3ba81dde3a
7
- data.tar.gz: 19ca0f250839ef5c0c47ec51520fbdfd7af5ae344e9efedbefb6f8a9579c4675307f0a11a50a029de83709f2ba02ce8f0017e3814289719c09289f5a6b8676fd
6
+ metadata.gz: 57951a8d15b4514b7468b7994094c42ff8b0786f6dee034091db26b71d909094c90235855f208a1b1bbc1cc4125add4a53afb6869e82e255baadbe22846220a7
7
+ data.tar.gz: e47da7744b3a4d92aa23881673f88d6cd9e1b795d92ddb67d0be5676229b82ea194b43125d0f8904bbf009c054f52884d1e5e43e2ecdff4d06eccea9e6bf227b
data/.rubocop.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # cspell:Disable
2
2
  AllCops:
3
- TargetRubyVersion: 3.0.4
3
+ TargetRubyVersion: 3.1.3
4
4
  # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
5
5
  # to ignore them, so only the ones explicitly set in this file are enabled.
6
6
  DisabledByDefault: true
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.0.4
1
+ 3.1.3
@@ -9,7 +9,7 @@ global_job_config:
9
9
  prologue:
10
10
  commands:
11
11
  - checkout
12
- - sem-version ruby 3.0.4
12
+ - sem-version ruby 3.1.3
13
13
  - bundle config path 'vendor/bundle'
14
14
  - bundle install
15
15
  env_vars:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ### [0.1.5](https://www.github.com/bigbinary/neetob/compare/v0.1.4...v0.1.5) (2023-03-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * handled some edge cases in the update and upsert labels cmd ([#192](https://www.github.com/bigbinary/neetob/issues/192)) ([dc87d19](https://www.github.com/bigbinary/neetob/commit/dc87d198a6a22850f3e04659413bed41d9db454f))
9
+
3
10
  ### [0.1.4](https://www.github.com/bigbinary/neetob/compare/v0.1.3...v0.1.4) (2023-02-23)
4
11
 
5
12
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- neetob (0.1.4)
4
+ neetob (0.1.5)
5
5
  dotenv (~> 2.8.1)
6
6
  launchy (~> 2.5.0)
7
7
  octokit (~> 4.0)
@@ -237,6 +237,7 @@ GEM
237
237
 
238
238
  PLATFORMS
239
239
  x86_64-darwin-21
240
+ x86_64-darwin-22
240
241
  x86_64-linux
241
242
 
242
243
  DEPENDENCIES
data/README.md CHANGED
@@ -1,12 +1,13 @@
1
1
  # neetob
2
2
 
3
- The `neetob` gem gives different commands for interacting with Github repos and Heroku instances of existing neeto products, nanos and [repos](https://github.com/bigbinary/neeto-compliance/blob/main/data/neeto_repos.json).
3
+ The `neetob` gem gives different commands for interacting with Github repos, Heroku instances and other tools to manage the workflow of neeto products.
4
4
 
5
5
  ## Table of Contents
6
6
 
7
- 1. [Getting Started](#getting-started)
8
- 1. [Installation](#installation)
9
- 2. [Usage](#usage)
7
+ 1. [Usage](#usage)
8
+ 1. [Installing neetob for use](#installing-neetob-for-use)
9
+ 2. [For development](#for-development)
10
+ 2. [Source of truth](#source-of-truth)
10
11
  3. [Working with GitHub](#working-with-github)
11
12
  1. [Issues](#issues)
12
13
  2. [Labels](#labels)
@@ -21,36 +22,22 @@ The `neetob` gem gives different commands for interacting with Github repos and
21
22
  5. [Working with Users](#working-with-users)
22
23
  1. [Audit](#audit)
23
24
  2. [Commits](#commits)
24
- 6. [Working with Make Repos Uptodate](#working-with-make-repos-uptodate)
25
+ 6. [Make Repos Uptodate](#make-repos-uptodate)
25
26
  7. [Working with local Repos](#working-with-local-repos)
26
27
  1. [ls](#ls)
27
28
  8. [Testing](#testing)
28
29
 
29
- ## Getting started
30
-
31
- ### Installation
32
-
33
- Clone the repository onto your system using the following command:
34
-
35
- ```sh
36
- git clone https://github.com/bigbinary/neetob.git
37
- ```
38
-
39
- Navigate to the root of the application directory.
30
+ ## Usage
40
31
 
41
- ```sh
42
- cd neetob
43
- ```
32
+ ### Installing neetob for use
44
33
 
45
- To set up `neetob`, execute the below command from the root of the application directory.
34
+ Install and update the gem using the following command:
46
35
 
47
36
  ```sh
48
- bin/setup
37
+ gem install neetob && gem update neetob
49
38
  ```
50
39
 
51
- ## Usage
52
-
53
- Utilize the `help` keyword to access a comprehensive list of all the available commands and options.
40
+ Use the `help` keyword to access a list of all the available commands and options.
54
41
 
55
42
  ```
56
43
  neetob help
@@ -66,9 +53,7 @@ Options:
66
53
  [--sandbox] # All the commands in sandbox mode will run only on the "neeto-dummy" app.
67
54
  ```
68
55
 
69
- **By default, all commands will be executed in non-sandbox mode.**
70
-
71
- ### Useful command-line options
56
+ #### Useful command-line options
72
57
 
73
58
  | Option | Meaning |
74
59
  | ------------ | --------------------------------- |
@@ -77,11 +62,85 @@ Options:
77
62
  | --no-sandbox | Non-Sandbox mode |
78
63
  | --help | Provides information on a command |
79
64
 
80
- **Note:** The commands within `neetob` should be used with caution, as improper usage may result in unintended consequences, and some actions may not be reversible.
65
+ The commands within `neetob` should be used with caution, as improper usage may result in unintended consequences, and some actions may not be reversible. By default, all commands will be executed in non-sandbox mode.
66
+
67
+ ### For development
68
+
69
+ Clone the repository onto your system using the following command:
70
+
71
+ ```sh
72
+ git clone https://github.com/bigbinary/neetob.git
73
+ ```
74
+
75
+ Navigate to the root of the application directory.
76
+
77
+ ```sh
78
+ cd neetob
79
+ ```
80
+
81
+ To check and use the latest changes in the local repository install `neetob` like so:
82
+
83
+ ```sh
84
+ bin/setup
85
+ ```
86
+
87
+ We can use, check or debug the `neetob` locally by directly invoking the `neetob` class like so:
88
+
89
+ ```sh
90
+ ruby exe/neeetob
91
+ ```
92
+
93
+ #### Conventional commit messages
94
+
95
+ In `neetob` we are using the Google's [release please](https://github.com/googleapis/release-please) Github action to auto update the version and release the latest gem.
96
+
97
+ In order to make this action work we have to use the [conventional commit messages](https://www.conventionalcommits.org/en/v1.0.0/).
98
+
99
+ The Conventional commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history.
100
+
101
+ Generally, we use three types of suffix in the commit messages that are as follows:
102
+
103
+ 1. `fix:` for the commit that fixes a bug in the codebase. This updates the third digit in the version. For example, `0.1.0` version will be updated to `0.1.1`.
104
+
105
+ 2. `feat:` for the commit that introduces a new feature to the codebase. This updates the second digit in the version. For example, `0.1.0` version will be updated to `0.2.0`.
106
+
107
+ 3. `BREAKING CHANGE:` for the commit that introduces a breaking API change. This updates the first digit in the version. For example, `0.1.0` version will be updated to `1.0.0`.
108
+
109
+ For more details please refer [official docs](https://www.conventionalcommits.org/en/v1.0.0/) from Conventional commits.
110
+
111
+ In `neetob` we use "squash and merge" option while merging the PR. So we have to update the commit message while squash and merge so that Github action can track that merge commit.
112
+
113
+ For example:
114
+
115
+ ![Commit message update](images/commit-message-update.png)
116
+
117
+ ## Source of truth
118
+
119
+ This [list of repos](https://github.com/bigbinary/neeto-compliance/blob/main/data/neeto_repos.json) is used as the "source of truth".
120
+
121
+ ## Passing list of heroku apps as option
122
+
123
+ `neetob` allows you to pass list of apps in the following three formats.
124
+
125
+ ```
126
+ // all staging heroku instances
127
+ --apps "neeto-*-staging"
128
+
129
+ // all production heroku instances
130
+ --apps "neeto-*-production"
131
+
132
+ // all staging and production instances
133
+ --apps "neeto-*-web"
134
+
135
+ // for local testing
136
+ --apps neeto-dummy
137
+ ```
138
+
139
+ For safety reasons all the examples given below would be using `--apps neeto-*-staging`.
81
140
 
82
141
  ## Working with GitHub
83
142
 
84
- Efficiently gain access to a comprehensive list of all the available subcommands for the `github` command by utilizing the `help` keyword.
143
+ Check the list of all the available subcommands for the `github` command by utilizing the `help` keyword.
85
144
 
86
145
  ```sh
87
146
  neetob github help
@@ -91,10 +150,11 @@ neetob github help
91
150
 
92
151
  ```sh
93
152
  # Lists and counts all the open issues that are currently unassigned
94
- neetob github issues list --count --state open --assignee none --apps "neeto-*-web"
153
+ neetob github issues list --count --state open --assignee none --apps "neeto-*-staging"
95
154
 
96
155
  # Lists, counts and filters all unassigned open issues that are labeled as "bug"
97
- neetob github issues list --count --label bug --state open --assignee none --apps "neeto-*-web"
156
+ neetob github issues list --count --label bug --state open --assignee none \
157
+ --apps "neeto-*-staging"
98
158
  ```
99
159
 
100
160
  ### Labels
@@ -103,10 +163,10 @@ The `labels` command provides an interface for interacting with Github labels.
103
163
 
104
164
  ```sh
105
165
  # Lists the details of all the labels in the Github repo
106
- neetob github labels list --apps "neeto-*-web"
166
+ neetob github labels list --apps "neeto-*-staging"
107
167
 
108
168
  # Provides the details for a specific label in the Github repo
109
- neetob github labels show --name priority --apps "neeto-*-web"
169
+ neetob github labels show --name priority --apps "neeto-*-staging"
110
170
 
111
171
  # Changes the name of the label
112
172
  neetob github labels update --old-name "High Priority" --new-name \
@@ -116,20 +176,19 @@ neetob github labels update --old-name "High Priority" --new-name \
116
176
  neetob github labels upsert --all-neeto-repos
117
177
 
118
178
  # Accepts a different JSON file using `path` option
119
- neetob github labels upsert --path ~/Desktop/labels.json --apps "neeto-*-web"
179
+ neetob github labels upsert --path ~/Desktop/labels.json --apps "neeto-*-staging"
120
180
 
121
- # The `upsert` command can also upsert a single label using `name`, `color`
122
- # and `description` options
181
+ # Upsert a single label using `name`, `color`, and `description` options
123
182
  # No `#` is required while adding `color`
124
183
  neetob github labels upsert --name UI --color 8250df --description \
125
184
  "UI work needed" --all-neeto-repos
126
185
 
127
186
  # Deletes the given labels from the Github repos
128
187
  neetob github labels delete --labels "High Priority" "Priority 1" "bug" \
129
- --apps "neeto-*-web"
188
+ --apps "neeto-*-staging"
130
189
 
131
190
  # Deletes all the labels from the Github repos
132
- neetob github labels delete_all --apps "neeto-*-web"
191
+ neetob github labels delete_all --apps "neeto-*-staging"
133
192
  ```
134
193
 
135
194
  Check out the default labels [file](data/github-labels.json) for the required JSON file structure.
@@ -150,7 +209,7 @@ Don't use `#` before the color code.
150
209
  Searches for keywords across multiple neeto projects within specified files by utilizing the `search` command.
151
210
 
152
211
  ```sh
153
- neetob github search --keyword neeto --path README.md --apps "neeto-*-web"
212
+ neetob github search --keyword neeto --path README.md --apps "neeto-*-staging"
154
213
  ```
155
214
 
156
215
  ### Protect branch
@@ -158,7 +217,7 @@ neetob github search --keyword neeto --path README.md --apps "neeto-*-web"
158
217
  Updates branch protection rules in neeto repos by using the `protect_branch` command.
159
218
 
160
219
  ```sh
161
- neetob github protect_branch --branch main --apps neeto-dummy
220
+ neetob github protect_branch --branch main --apps "neeto-*-staging"
162
221
  ```
163
222
 
164
223
  By default, file "data/branch-protection-rules.json" will be used for updating the branch protection rules.
@@ -224,37 +283,37 @@ neetob heroku help
224
283
 
225
284
  ### Config vars
226
285
 
227
- The `config_vars` command is useful to interact with Heroku config variables.
286
+ The `config_vars` command interacts with Heroku config variables.
228
287
 
229
288
  ```sh
230
289
  # The `list` command lists all the Heroku config variables
231
- neetob heroku config_vars list --apps "neeto-*-production"
290
+ neetob heroku config_vars list --apps "neeto-*-staging"
232
291
 
233
- # We can list specific Heroku config variables using `keys` option
234
- neetob heroku config_vars list --apps "neeto-*-production" --keys key1 key2 key3
292
+ # List specific Heroku config variables using `keys` option
293
+ neetob heroku config_vars list --apps "neeto-*-staging" --keys key1 key2 key3
235
294
 
236
- # We can also use a file to specify required config vars for `list` command
237
- # Checkout the `data/config-vars-list.json` file for the required structure.
238
- neetob heroku config_vars list --apps "neeto-*-production" --path \
295
+ # List specific Heroku config variables using a file
296
+ # Checkout the `data/config-vars-list.json` file for the required structure
297
+ neetob heroku config_vars list --apps "neeto-*-staging" --path \
239
298
  neetob/data/config-vars-list.json
240
299
 
241
- # The `audit` command will check the config variables against the JSON file named as
300
+ # The `audit` command checks the config variables against the JSON file named as
242
301
  # `required-config-vars.json` that is present inside the `data` directory at the root of
243
- # installed `neetob` gem.
244
- neetob heroku config_vars audit --apps "neeto-*-production"
302
+ # installed `neetob` gem
303
+ neetob heroku config_vars audit --apps "neeto-*-staging"
245
304
 
246
- # The `audit` command can also be used with a different JSON file using `--path` option.
247
- neetob heroku config_vars audit --path ~/Desktop/config.json --apps "neeto-*-production"
305
+ # The `audit` command also works with a different JSON file using `--path` option
306
+ neetob heroku config_vars audit --path ~/Desktop/config.json --apps "neeto-*-staging"
248
307
 
249
- # The `upsert` command adds or updates the config variables from the
250
- # `data/config-vars-upsert.json` file present at the root of installed `neetob` gem.
308
+ # The `upsert` command adds or updates config variables from the
309
+ # `data/config-vars-upsert.json` file present at the root of installed `neetob` gem
251
310
  neetob heroku config_vars upsert --apps "neeto-*-staging"
252
311
 
253
- # The `remove` command is used to delete `config_vars`.
312
+ # The `remove` command deletes config variables
254
313
  neetob heroku config_vars remove --keys=TEST_KEY_1 TEST_KEY_2 --apps "neeto-*-staging"
255
314
  ```
256
315
 
257
- We can use a custom JSON file with `upsert` command using the `path` option.
316
+ We can use a custom JSON file with `upsert` command using the `--path` option.
258
317
 
259
318
  For example, assume we have a file named `config.json` on the Desktop, like so:
260
319
 
@@ -266,13 +325,13 @@ For example, assume we have a file named `config.json` on the Desktop, like so:
266
325
  }
267
326
  ```
268
327
 
269
- To update the above-mentioned config variables to all staging apps, we can use the upsert command like so:
328
+ To update the above-mentioned config variables to all staging apps, we can use the `upsert` command like so:
270
329
 
271
330
  ```sh
272
331
  neetob heroku config_vars upsert --path ~/Desktop/config.json --apps "neeto-*-staging"
273
332
  ```
274
333
 
275
- The `upsert` command can also be used to update and insert project-specific config variables.
334
+ The `upsert` command can also update or insert project-specific config variables.
276
335
 
277
336
  For example, assume we have a file named `config.json` on the `Desktop` with the following properties:
278
337
 
@@ -293,79 +352,75 @@ For example, assume we have a file named `config.json` on the `Desktop` with the
293
352
  To update the above-mentioned config variables under the defined project, we can use the upsert command like so:
294
353
 
295
354
  ```sh
296
- neetob heroku config_vars upsert --path_with_project_keys ~/Desktop/config.json
355
+ neetob heroku config_vars upsert --path_with_project_keys ~/Desktop/config.json --apps "neeto-*-staging"
297
356
  ```
298
357
 
299
358
  ### Access
300
359
 
301
- We can list, add, and remove users from multiple Heroku apps using the `access` command.
360
+ The `access` command list, add and remove users from multiple Heroku apps.
302
361
 
303
362
  ```sh
304
- # The `list` command retrieves a list of all the users from Heroku apps.
305
- neetob heroku access list --apps "neeto-*-production"
363
+ # List all the users from Heroku apps
364
+ neetob heroku access list --apps "neeto-*-staging"
306
365
 
307
- # Add new users to the Heroku apps.
366
+ # Add new users to the Heroku apps
308
367
  neetob heroku access add --users oliver@bigbinary.com eve@bigbinary.com --apps "neeto-*-staging"
309
368
 
310
- # Remove the users from the Heroku apps.
369
+ # Remove the users from the Heroku apps
311
370
  neetob heroku access remove --users oliver@bigbinary.com eve@bigbinary.com --apps \
312
371
  "neeto-*-staging"
313
372
  ```
314
373
 
315
374
  ### Execute
316
375
 
317
- Utilize the `execute` command to run a Heroku CLI command or a Rails console command for multiple neeto apps in one go.
376
+ The `execute` command executes a Heroku CLI command or a Rails console command for multiple neeto apps in one go.
318
377
 
319
378
  ```sh
320
- # We can check who has access to the neeto Heroku apps like so:
321
- neetob heroku execute -c "heroku access" --apps "neeto-*-production"
379
+ # Execute Heroku CLI command
380
+ neetob heroku execute -c "heroku access" --apps "neeto-*-staging"
322
381
 
323
- # We can run a command in the Rails console for different neeto Heroku apps like so:
382
+ # Execute Rails console command
324
383
  neetob heroku execute -c "Sidekiq::Cron::Job.destroy \"server_side_worker\"" --apps \
325
384
  "neeto-*-staging" --rails
326
385
  ```
327
386
 
328
387
  ## Working with users
329
388
 
330
- Using the `users` command, we can interact with the contributors of neeto applications.
389
+ The `users` command interacts with the contributors of neeto applications.
331
390
 
332
391
  ### Audit
333
392
 
334
- The `audit` command enables the ability to comprehensively audit contributors across all neeto applications by providing functionality to check for contributors with multiple emails and users with third-party domain emails.
335
-
336
- This command will search and use the neeto repos in the current working directory.
337
- To fetch and update all neeto repos execute [make_repos_uptodate](#working-with-make-repos-uptodate) command before the `audit` command.
393
+ The `audit` command checks the contributors across all neeto applications for multiple emails and third-party domain emails.
338
394
 
339
395
  ```sh
396
+ # Audit all the contributors
340
397
  neetob users audit
341
398
  ```
342
399
 
343
400
  ### Commits
344
401
 
345
- Using `commits` command we can list the commits for a user in a defined duration.
402
+ The `commits` command lists the commits for a user in a defined duration.
346
403
 
347
404
  ```sh
348
405
  # The below mentioned command will open a list of all the commits across neeto
349
- # product repos made by "udai1931" in the duration of last 6 months.
406
+ # product repos made by "udai1931" in the duration of last 6 months
350
407
  neetob users commits --author udai1931 --duration 6.months
351
408
 
352
- # We can list commits for a specific product using `--apps` option.
409
+ # List commits for a specific product using `--apps` option
353
410
  neetob users commits --author udai1931 --duration 6.months --apps neeto-kb-web
354
411
 
355
- # We can list commits for all neeto repos using the `--all-neeto-repos` option.
412
+ # List commits for all neeto repos using the `--all-neeto-repos` option
356
413
  neetob users commits --author udai1931 --duration 6.months --all-neeto-repos
357
414
  ```
358
415
 
359
- ## Working with Make Repos Uptodate
416
+ ## Make Repos Uptodate
360
417
 
361
- Using the `make_repos_uptodate` command, we can uptodate all neeto repos.
362
- The list of neeto repos is picked up from [neeto_compliance](https://github.com/bigbinary/neeto-compliance/blob/main/lib/neeto_compliance/neeto_repos.rb).
418
+ The `make_repos_uptodate` command updates all neeto repos.
363
419
 
364
420
  ```sh
365
421
  neetob make_repos_uptodate
366
422
 
367
- # We have a `--all-neeto-repos` option for this command too so that we can
368
- # fetch and update all the neeto repos in the current working directory.
423
+ # Update all neeto repos with `--all-neeto-repos`
369
424
  neetob make_repos_uptodate --all-neeto-repos
370
425
  ```
371
426
 
@@ -379,25 +434,21 @@ neeto-kb-web
379
434
 
380
435
  ## Working with local Repos
381
436
 
382
- Using the `local` command, we can interact with the local neeto repos.
437
+ The `local` command interacts with the local neeto repos.
383
438
 
384
439
  ### ls
385
440
 
386
- The `ls` command can list the files from all the local neeto repos.
387
-
388
- This command will search and use the neeto repos in the current working directory.
389
- To fetch and update all neeto repos execute [make_repos_uptodate](#working-with-make-repos-uptodate) command before the `ls` command.
441
+ The `ls` command lists the files from all the local neeto repos.
390
442
 
391
443
  ```sh
392
- # The `ls` command will list all the files in the root directory of neeto repos.
393
- neetob local ls --apps "*"
444
+ # List all the files in the root directory of neeto repos
445
+ neetob local ls --apps "neeto-*-web"
394
446
 
395
- # The `ls` command can also list files in a specific directory using the
396
- # `--dir` option.
397
- neetob local ls --dir public --apps "*"
447
+ # List files in a specific directory with `--dir` option
448
+ neetob local ls --dir public --apps "neeto-*-web"
398
449
 
399
- # We can also list files in a nested directory.
400
- neetob local ls --dir app/controllers --apps "*"
450
+ # List files in a nested directory
451
+ neetob local ls --dir app/controllers --apps "neeto-*-web"
401
452
  ```
402
453
 
403
454
  ## Testing
data/bookmarks.md CHANGED
@@ -3,3 +3,28 @@
3
3
  [All UX issues](https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Abigbinary+label%3Aux)
4
4
 
5
5
  [Engineer needed](https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Abigbinary+label%3Aengineer-needed)
6
+
7
+ - [ ] neeto-chat-web
8
+ - [ ] neeto-desk-web
9
+ - [ ] neeto-kb-web
10
+ - [ ] neeto-invoice-web
11
+ - [ ] neeto-form-web
12
+ - [ ] neeto-cal-web
13
+ - [ ] neeto-planner-web
14
+ - [ ] neeto-course-web
15
+ - [ ] neeto-runner-web
16
+ - [ ] neeto-social-web
17
+ - [ ] neeto-wireframe-web
18
+ - [ ] neeto-changelog-web
19
+ - [ ] neeto-quiz-web
20
+ - [ ] neeto-site-web
21
+ - [ ] neeto-crm-web
22
+ - [ ] neeto-replay-web
23
+ - [ ] neeto-invisible-web
24
+ - [ ] neeto-testify-web
25
+ - [ ] neeto-deploy-web
26
+ - [ ] neeto-bugtrap-web
27
+ - [ ] neeto-sign-web
28
+ - [ ] neeto-monitor-web
29
+ - [ ] neeto-ci-web
30
+ - [ ] neeto-git-web
@@ -44,11 +44,6 @@
44
44
  "description": "The issue has been reviewed and considered a valid issue.",
45
45
  "color": "A2D9CE"
46
46
  },
47
- {
48
- "name": "backend",
49
- "description": "Deals with Ruby & Rails code majorly.",
50
- "color": "C2E0C6"
51
- },
52
47
  {
53
48
  "name": "bug",
54
49
  "description": "Something isn't working.",
@@ -106,37 +101,62 @@
106
101
  },
107
102
  {
108
103
  "name": "epic",
109
- "description": "Will get closed when sub-issues fixed and this issue tracked in monthly milestone.",
104
+ "description": "Will get closed when sub-issues are fixed and this issue is tracked in a monthly milestone.",
110
105
  "color": "6A5ACD"
111
106
  },
107
+ {
108
+ "name": "backend",
109
+ "description": "Deals with Ruby & Rails code majorly.",
110
+ "color": "C2E0C6"
111
+ },
112
112
  {
113
113
  "name": "frontend",
114
- "description": "Deals with JS(React or JS configs etc) code majorly.",
114
+ "description": "Deals with JS(React or JS configs etc) code majorly. It can also include UI fixes without the help of the UI team.",
115
115
  "color": "C2E0C6"
116
116
  },
117
+ {
118
+ "name": "UI",
119
+ "description": "UI/CSS work needed.",
120
+ "color": "8250df"
121
+ },
122
+ {
123
+ "name": "UX",
124
+ "description": "UX design needed.",
125
+ "color": "366FB9"
126
+ },
127
+ {
128
+ "name": "fullstack",
129
+ "description": "This issue is not just frontend or backend but it's fullstack",
130
+ "color": "D0ECE7"
131
+ },
117
132
  {
118
133
  "name": "high-priority",
119
134
  "description": "Urgent fix required. Should be done within a day at max.",
120
135
  "color": "B60205"
121
136
  },
122
137
  {
123
- "name": "honeybadger",
124
- "description": "Issue created by honeybadger.",
125
- "color": "D3D3D3"
138
+ "name": "priority",
139
+ "description": "Means I am waiting for this issue to be fixed in order to take care of other issues.",
140
+ "color": "BA080D"
126
141
  },
127
142
  {
128
143
  "name": "low-priority",
129
144
  "description": "Other open issues can be taken up before this one.",
130
145
  "color": "BFDADC"
131
146
  },
147
+ {
148
+ "name": "honeybadger",
149
+ "description": "Issue created by honeybadger.",
150
+ "color": "D3D3D3"
151
+ },
132
152
  {
133
153
  "name": "neeto*-dependent",
134
- "description": "This issue depends upon some other issue from neeto engines/frontend packages.",
154
+ "description": "This issue depends upon some other issue from nano (engines/frontend packages).",
135
155
  "color": "E54D82"
136
156
  },
137
157
  {
138
158
  "name": "on-hold",
139
- "description": "Reason should be specified as a comment before putting issue/PR on-hold.",
159
+ "description": "The issue is on hold as per provided reason. The reason should be specified as a comment before putting the issue/PR on-hold.",
140
160
  "color": "E54D82"
141
161
  },
142
162
  {
@@ -154,11 +174,6 @@
154
174
  "description": "The issue has a PR associated with it.",
155
175
  "color": "D4C5F9"
156
176
  },
157
- {
158
- "name": "priority",
159
- "description": "Means I am waiting for this issue to be fixed in order to take care of other issues.",
160
- "color": "BA080D"
161
- },
162
177
  {
163
178
  "name": "refactoring",
164
179
  "description": "Code changes, better way to organize code etc.",
@@ -169,21 +184,11 @@
169
184
  "description": "Vulnerabilities, security concerns etc.",
170
185
  "color": "BA080D"
171
186
  },
172
- {
173
- "name": "UI",
174
- "description": "UI/CSS work needed.",
175
- "color": "8250df"
176
- },
177
187
  {
178
188
  "name": "UI-weekly-milestone",
179
- "description": "This issue is part of the UI weekly milestone.",
189
+ "description": "This issue is part of the currently ongoing UI weekly milestone.",
180
190
  "color": "F9D0C4"
181
191
  },
182
- {
183
- "name": "UX-design-needed",
184
- "description": "This issue is part of the UI weekly milestone.",
185
- "color": "366FB9"
186
- },
187
192
  {
188
193
  "name": "engineer-needed",
189
194
  "description": "Engineer is needed to work on the issue",
@@ -191,7 +196,22 @@
191
196
  },
192
197
  {
193
198
  "name": "working",
194
- "description": "This issue is part of the UI weekly milestone.",
199
+ "description": "A branch associated with this issue is created.",
195
200
  "color": "D0ECE7"
201
+ },
202
+ {
203
+ "name": "product-analysis",
204
+ "description": "This issue is related to product analysis",
205
+ "color": "D0ECE7"
206
+ },
207
+ {
208
+ "name": "manual-qa-needed",
209
+ "description": "Manual QA is needed to verify the changes.",
210
+ "color": "CCDDCD"
211
+ },
212
+ {
213
+ "name": "manual-qa-completed",
214
+ "description": "Manual QA team has finished verifying the changes.",
215
+ "color": "CCDDCD"
196
216
  }
197
217
  ]
Binary file
@@ -41,7 +41,7 @@ module Neetob
41
41
  end
42
42
 
43
43
  def request_authorization
44
- post(uris["auth_req"], params: { client_id: client_id, scope: scope })
44
+ post(uris["auth_req"], params: { client_id:, scope: })
45
45
  end
46
46
 
47
47
  private
@@ -87,9 +87,9 @@ module Neetob
87
87
  res = post(
88
88
  uris["token_req"],
89
89
  params: {
90
- client_id: client_id,
90
+ client_id:,
91
91
  device_code: auth_data[:device_code],
92
- grant_type: grant_type
92
+ grant_type:
93
93
  }
94
94
  )
95
95
 
@@ -25,15 +25,25 @@ module Neetob
25
25
  matching_apps = find_all_matching_apps(apps, :github, sandbox, false, all_neeto_repos)
26
26
  matching_apps.each do |app|
27
27
  ui.info("\n Updating label for #{app} repo \n")
28
- update_label!(app, old_name, new_name)
28
+ begin
29
+ update_label!(app, old_name, new_name)
30
+ rescue StandardError => e
31
+ ExceptionHandler.new(e).process
32
+ end
29
33
  end
30
34
  end
31
35
 
32
36
  private
33
37
 
34
38
  def update_label!(app, old_name, new_name)
39
+ client.label(app, new_name)
40
+ ui.error("Label with name \"#{new_name}\" already exists.")
41
+ nil
42
+ rescue Octokit::NotFound
35
43
  client.update_label(app, old_name, { name: new_name })
36
44
  ui.success("Label \"#{old_name}\" updated to \"#{new_name}\" successfully")
45
+ rescue StandardError => e
46
+ ExceptionHandler.new(e).process
37
47
  end
38
48
  end
39
49
  end
@@ -77,6 +77,8 @@ module Neetob
77
77
  app, label_details["name"], label_details["color"] || WHITE_COLOR_HEX_CODE,
78
78
  label_details)
79
79
  ui.success("Label \"#{label_details["name"]}\" created successfully")
80
+ rescue StandardError => e
81
+ ExceptionHandler.new(e).process
80
82
  end
81
83
  end
82
84
 
data/lib/neetob/cli/ui.rb CHANGED
@@ -18,7 +18,7 @@ module Neetob
18
18
  end
19
19
 
20
20
  def ask(question, echo = true)
21
- shell.ask(question, echo: echo)
21
+ shell.ask(question, echo:)
22
22
  end
23
23
 
24
24
  def yes?(question)
@@ -156,7 +156,7 @@ module Neetob
156
156
  begin
157
157
  commits = client.commits(
158
158
  app, "main",
159
- { author: author, since: since_duration(duration), per_page: 100, page: page })
159
+ { author:, since: since_duration(duration), per_page: 100, page: })
160
160
  rescue => exception
161
161
  ui.error(exception.message)
162
162
  commits = []
@@ -26,7 +26,9 @@ module Neetob
26
26
  when Octokit::UnprocessableEntity
27
27
  ui.error(
28
28
  "Failed to complete the given request."\
29
- " Make sure that the given entity is correct and processable")
29
+ " Make sure that the given entity is correct and processable"\
30
+ "#{exception.message}."
31
+ )
30
32
  when Octokit::Unauthorized
31
33
  ui.error(
32
34
  "You are unauthorized to make API calls,"\
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Neetob
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neetob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Udai Gupta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-23 00:00:00.000000000 Z
11
+ date: 2023-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -107,6 +107,7 @@ files:
107
107
  - data/config-vars-upsert.json
108
108
  - data/github-labels.json
109
109
  - exe/neetob
110
+ - images/commit-message-update.png
110
111
  - install.sh
111
112
  - lib/neetob.rb
112
113
  - lib/neetob/cli.rb
@@ -179,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
180
  - !ruby/object:Gem::Version
180
181
  version: '0'
181
182
  requirements: []
182
- rubygems_version: 3.2.33
183
+ rubygems_version: 3.3.26
183
184
  signing_key:
184
185
  specification_version: 4
185
186
  summary: Provides a set of helper scripts for Github and Heroku.