circleci 0.1.1 → 0.2.0

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
  SHA1:
3
- metadata.gz: ccc6a34355c2cc6539e8050009d22ae0f9ac45a8
4
- data.tar.gz: 6a65e6d98c32e2d2d5bb07d9b5df5d533ea9af1e
3
+ metadata.gz: 7583f51aa12b390fe9e5e62dfb29b245f634255a
4
+ data.tar.gz: a7146773d7108609340b72f6336b7ab228e5b9a5
5
5
  SHA512:
6
- metadata.gz: d3ba12ab6e97fddd383a4854f678363123faea599a9336346a6bb52f6e7ab8168ad8a927af76fd0c6aea8f27c4701e5d36ffdc7bf405939881e7709f617bdfdd
7
- data.tar.gz: 7e1a6d428e5b9a1700330a4b88d56e5b63706c904f40170032a230c38b5151ab1af37b979fa253c49e0a4ecdd5da5f5ec88ec878734b3ed72bb3430615dc6788
6
+ metadata.gz: 6d101bd724b7f387f6d7ea2b64d47394df9aa948becb0bed148fde4ad8658b772cd222f46e36d4cbe87ede3a79ba2f9e70e39a2a84059e213693d81a6b43c253
7
+ data.tar.gz: 04c36196b1e4c3c19b01b7cf0b0a4428a016de587e6d48f6fb20126e4abe38ae8dd4ea46ac325b58321bf41ae19e16a1653466a68ba2b7a0d6a4441e0acb7e61
data/README.md CHANGED
@@ -11,7 +11,7 @@ Circle CI API Wrapper
11
11
  ## Install
12
12
 
13
13
  ```ruby
14
- gem install 'circleci'
14
+ gem install circleci
15
15
  ```
16
16
 
17
17
  or with Bundler
@@ -32,30 +32,81 @@ CircleCi.configure do |config|
32
32
  end
33
33
  ```
34
34
 
35
- ### User
35
+ ## API Endpoints
36
+
37
+ * [User](#user)
38
+ * [Heroku Key](#heroku_key)
39
+ * [Me](#me)
40
+ * [Project](#project)
41
+ * [All](#all)
42
+ * [Build Branch](#build_branch)
43
+ * [Build SSH Key](#build_ssh_key)
44
+ * [Clear Cache](#clear_cache)
45
+ * [Enable](#enable)
46
+ * [Follow](#follow)
47
+ * [Delete Checkout Key](#delete_checkout_key)
48
+ * [Get Checkout Key](#get_checkout_key)
49
+ * [List Checkout Keys](#list_checkout_keys)
50
+ * [New Checkout Key](#new_checkout_key)
51
+ * [Recent Builds](#recent_builds)
52
+ * [Recent Builds Branch](#recent_builds_branch)
53
+ * [Settings](#settings)
54
+ * [SSH Key](#ssh_key)
55
+ * [Unfollow](#unfollow)
56
+ * [Build](#build)
57
+ * [Artifacts](#artifacts)
58
+ * [Cancel](#cancel)
59
+ * [Get](#get)
60
+ * [Retry](#retry)
61
+ * [Tests](#tests)
62
+ * [Organization](#organization)
63
+
64
+ ### [User](#user)
65
+
66
+ #### [heroku_key](#heroku_key)
67
+
68
+ Endpoint: `/user/heroku-key`
69
+
70
+ Adds your Heroku API key to CircleCI.
71
+ ```ruby
72
+ res = CircleCi::User.heroku_key 'your-api-key'
73
+ res.success? # True
74
+ res.body
75
+ ```
76
+
77
+ Example response
78
+
79
+ Empty body response with a `200 OK` response code
80
+ ```javascript
81
+ ""
82
+ ```
36
83
 
37
- #### CircleCi::User.me
84
+ #### [me](#me)
85
+
86
+ Endpoint: `/me`
38
87
 
39
88
  Provides information about the signed in user.
40
89
 
41
90
  ```ruby
42
91
  res = CircleCi::User.me
43
- res.succes? # True
92
+ res.success? # True
44
93
  res.body
45
94
  ```
46
95
 
47
96
  Example response
48
97
 
49
- ```json
98
+ ```javascript
50
99
  {
51
100
  "basic_email_prefs" : "smart", // can be "smart", "none" or "all"
52
101
  "login" : "pbiggar" // your github username
53
102
  }
54
103
  ```
55
104
 
56
- ### Project
105
+ ### [Project](#project)
106
+
107
+ #### [all](#all)
57
108
 
58
- #### CircleCi::Project.all
109
+ Endpoint: `/projects`
59
110
 
60
111
  List of all the repos you have access to on Github, with build information organized by branch.
61
112
 
@@ -67,7 +118,7 @@ res.body
67
118
 
68
119
  Example response
69
120
 
70
- ```json
121
+ ```javascript
71
122
  [ {
72
123
  "vcs_url": "https://github.com/circleci/mongofinil"
73
124
  "followed": true // true if you follow this project in Circle
@@ -103,7 +154,340 @@ Example response
103
154
  } ]
104
155
  ```
105
156
 
106
- #### CircleCi::Project.recent_builds
157
+ #### [build_branch](#build_branch)
158
+
159
+ Endpoint: `/project/:username/:repository/tree/:branch`
160
+
161
+ Build a specific branch of a project
162
+
163
+ ```ruby
164
+ res = CircleCi::Project.build_branch 'username', 'reponame', 'branch'
165
+ res.body['status'] # Not running
166
+ res.body['build_url'] # Get url of build
167
+ ```
168
+
169
+ Example response
170
+
171
+ ```javascript
172
+ {
173
+ "compare" : null,
174
+ "previous_successful_build" : {
175
+ "build_time_millis" : 40479,
176
+ "status" : "success",
177
+ "build_num" : 76
178
+ },
179
+ "build_parameters" : { },
180
+ "committer_date" : "2014-07-27T14:40:15Z",
181
+ "body" : "",
182
+ "usage_queued_at" : "2014-07-29T14:05:36.373Z",
183
+ "retry_of" : null,
184
+ "reponame" : "soapy_cake",
185
+ "build_url" : "https://circleci.com/gh/ad2games/soapy_cake/77",
186
+ "parallel" : 1,
187
+ "failed" : null,
188
+ "branch" : "master",
189
+ "username" : "ad2games",
190
+ "author_date" : "2014-07-27T14:40:15Z",
191
+ "why" : "edit",
192
+ "user" : {
193
+ "is_user" : true,
194
+ "login" : "hwartig",
195
+ "name" : "Harald Wartig",
196
+ "email" : "hw@ad2games.com"
197
+ },
198
+ "vcs_revision" : "f932ea1b564ceaaa8cdba06b1bb93e1869a9a905",
199
+ "build_num" : 77,
200
+ "infrastructure_fail" : false,
201
+ "ssh_enabled" : null,
202
+ "committer_email" : "hwartig@gmail.com",
203
+ "previous" : {
204
+ "build_time_millis" : 40479,
205
+ "status" : "success",
206
+ "build_num" : 76
207
+ },
208
+ "status" : "not_running",
209
+ "committer_name" : "Harald Wartig",
210
+ "retries" : null,
211
+ "subject" : "Fix link to api_versions.yml",
212
+ "timedout" : false,
213
+ "dont_build" : null,
214
+ "feature_flags" : { },
215
+ "lifecycle" : "not_running",
216
+ "stop_time" : null,
217
+ "build_time_millis" : null,
218
+ "circle_yml" : null,
219
+ "messages" : [ ],
220
+ "is_first_green_build" : false,
221
+ "job_name" : null,
222
+ "start_time" : null,
223
+ "all_commit_details" : [ {
224
+ "committer_date" : "2014-07-27T14:40:15Z",
225
+ "body" : "",
226
+ "author_date" : "2014-07-27T14:40:15Z",
227
+ "committer_email" : "hwartig@gmail.com",
228
+ "commit" : "f932ea1b564ceaaa8cdba06b1bb93e1869a9a905",
229
+ "committer_login" : "hwartig",
230
+ "committer_name" : "Harald Wartig",
231
+ "subject" : "Fix link to api_versions.yml",
232
+ "commit_url" : "https://github.com/ad2games/soapy_cake/commit/f932ea1b564ceaaa8cdba06b1bb93e1869a9a905",
233
+ "author_login" : "hwartig",
234
+ "author_name" : "Harald Wartig",
235
+ "author_email" : "hwartig@gmail.com"
236
+ } ],
237
+ "outcome" : null,
238
+ "vcs_url" : "https://github.com/ad2games/soapy_cake",
239
+ "author_name" : "Harald Wartig",
240
+ "node" : null,
241
+ "canceled" : false,
242
+ "author_email" : "hwartig@gmail.com"
243
+ }
244
+ ```
245
+
246
+ It also supports the Experimental Parameterized Builds
247
+
248
+ ```
249
+ build_environment_variables = {"ENV_VAR1" => "VALUE1", "ENV_VAR2" => "VALUE2"}
250
+ res = CircleCi::Project.build_branch 'username', 'reponame', 'branch', build_environment_variables
251
+ ```
252
+
253
+ #### [build_ssh_key](#build_ssh_key)
254
+
255
+ Endpoint: `/project/:username/:repository/:build_num/ssh-users`
256
+
257
+ Adds a user to the build's SSH permissions.
258
+
259
+ ```ruby
260
+ res = CircleCi::Project.build_ssh_key 'username', 'repo', 'RSA private key', 'hostname'
261
+ res.success?
262
+ ```
263
+
264
+ Example response
265
+
266
+ Empty response body with a `200 OK` successful response code
267
+ ```javascript
268
+ ""
269
+ ```
270
+
271
+ #### [clear_cache](#clear_cache)
272
+
273
+ Endpoint: `/project/:username/:repository/build-cache`
274
+
275
+ Clears the cache for a project
276
+
277
+ ```ruby
278
+ res = CircleCi::Project.clear_cache
279
+ res.body['status']
280
+ ```
281
+
282
+ Example response
283
+
284
+ ```javascript
285
+ {
286
+ "status" : "build caches deleted"
287
+ }
288
+ ```
289
+
290
+ #### [delete_checkout_key](#delete_checkout_key)
291
+
292
+ Endpoint: `/project/:username/:repository/checkout-key/:fingerprint`
293
+
294
+ Delete a checkout key for a project by supplying the fingerprint of the key.
295
+ ```ruby
296
+ res = CircleCi::Project.delete_checkout_key 'username', 'reponame', 'fingerprint'
297
+ res.success?
298
+ res.body
299
+ ```
300
+
301
+ Example response
302
+
303
+ ```javascript
304
+ {"message":"ok"}
305
+ ```
306
+
307
+ #### [enable](#enable)
308
+
309
+ Endpoint: `/project/:username/:repository/enable`
310
+
311
+ Enable a project in CircleCI. Causes a CircleCI SSH key to be added to
312
+ the GitHub. Requires admin privilege to the repository.
313
+
314
+ ```ruby
315
+ res = CircleCi::Project.enable 'username', 'reponame'
316
+ res.success?
317
+ ```
318
+
319
+ Example response
320
+ ```javascript
321
+ {
322
+ "hall_notify_prefs": nil,
323
+ "irc_password": nil,
324
+ "default_branch": "master",
325
+ "hipchat_notify": nil,
326
+ "campfire_notify_prefs": nil,
327
+ "campfire_room": nil,
328
+ "irc_keyword": nil,
329
+ "slack_api_token": nil,
330
+ "parallel": 1,
331
+ "github_user": nil,
332
+ "github_permissions": {
333
+ "admin": true,
334
+ "push": true,
335
+ "pull": true
336
+ },
337
+ "irc_server": nil,
338
+ "heroku_deploy_user": nil,
339
+ "dependencies": "",
340
+ "slack_notify_prefs": nil,
341
+ "ssh_keys": [
342
+
343
+ ],
344
+ "extra": "",
345
+ "followed": false,
346
+ "branches": {
347
+ "master": {
348
+ "last_non_success": {
349
+ "added_at": "2014-06-05T17:23:25.352Z",
350
+ "pushed_at": "2014-06-05T17:22:52.518Z",
351
+ "vcs_revision": "66d398cb635c5f4dd666dd1526bda5894d1246e4",
352
+ "build_num": 6,
353
+ "status": "no_tests",
354
+ "outcome": "no_tests"
355
+ },
356
+ "recent_builds": [
357
+ {
358
+ "added_at": "2014-06-05T17:23:25.352Z",
359
+ "pushed_at": "2014-06-05T17:22:52.518Z",
360
+ "vcs_revision": "66d398cb635c5f4dd666dd1526bda5894d1246e4",
361
+ "build_num": 6,
362
+ "status": "no_tests",
363
+ "outcome": "no_tests"
364
+ }
365
+ ],
366
+ "running_builds": [
367
+
368
+ ]
369
+ }
370
+ },
371
+ "campfire_token": nil,
372
+ "hipchat_notify_prefs": nil,
373
+ "test": "",
374
+ "compile": "",
375
+ "hipchat_room": nil,
376
+ "slack_channel": nil,
377
+ "slack_subdomain": nil,
378
+ "vcs_url": "https://github.com/Shopify/google_auth",
379
+ "flowdock_api_token": nil,
380
+ "hall_room_api_token": nil,
381
+ "slack_webhook_url": nil,
382
+ "irc_username": nil,
383
+ "hipchat_api_token": nil,
384
+ "campfire_subdomain": nil,
385
+ "has_usable_key": true,
386
+ "setup": "",
387
+ "irc_channel": nil,
388
+ "feature_flags": {
389
+ "build_GH1157_container_oriented_ui": nil,
390
+ "set-github-status": true
391
+ },
392
+ "irc_notify_prefs": nil
393
+ }
394
+ ```
395
+
396
+ #### [follow](#follow)
397
+
398
+ Endpoint: `/project/:username/:repository/follow`
399
+
400
+ Follow a project
401
+
402
+ ```ruby
403
+ res = CircleCi::Build.follow 'username', 'repo'
404
+ res.success?
405
+ ```
406
+
407
+ Example response
408
+
409
+ ```javascript
410
+ {
411
+ "followed": true,
412
+ "first_build": nil
413
+ }
414
+ ```
415
+
416
+ #### [get_checkout_key](#get_checkout_key)
417
+
418
+ Endpoint: `/project/:username/:repository/checkout-key/:fingerprint`
419
+
420
+ Get a checkout key for a project by supplying the fingerprint of the key.
421
+ ```ruby
422
+ res = CircleCi::Project.get_checkout_key 'username', 'reponame', 'fingerprint'
423
+ res.success?
424
+ res.body
425
+ ```
426
+
427
+ Example response
428
+
429
+ ```javascript
430
+ {
431
+ "public_key": "ssh-rsa...",
432
+ "type": "deploy-key", // can be "deploy-key" or "user-key"
433
+ "fingerprint": "c9:0b:1c:4f:d5:65:56:b9:ad:88:f9:81:2b:37:74:2f",
434
+ "preferred": true,
435
+ "time" : "2015-09-21T17:29:21.042Z" // when the key was issued
436
+ }
437
+ ```
438
+
439
+ #### [list_checkout_keys](#list_checkout_keys)
440
+
441
+ Endpoint: `/project/#{username}/#{project}/checkout-key`
442
+
443
+ List checkout keys
444
+
445
+ ```ruby
446
+ res = CircleCi::Project.checkout_keys 'username', 'repo'
447
+ res.success?
448
+ ```
449
+
450
+ Example response
451
+
452
+ ```javascript
453
+ [
454
+ {
455
+ "public_key": "ssh-rsa...",
456
+ "type": "deploy-key", // can be "deploy-key" or "user-key"
457
+ "fingerprint": "c9:0b:1c:4f:d5:65:56:b9:ad:88:f9:81:2b:37:74:2f",
458
+ "preferred": true,
459
+ "time" : "2015-09-21T17:29:21.042Z" // when the key was issued
460
+ }
461
+ ]
462
+ ```
463
+
464
+ #### [new_checkout_key](#new_checkout_key)
465
+
466
+ Endpoint: `/project/:username/:repository/checkout-key`
467
+
468
+ Create an ssh key used to access external systems that require SSH key-based authentication.
469
+ Takes a type of key to create which an be `deploy-key` or `github-user-key`.
470
+ ```ruby
471
+ res = CircleCi::Project.new_checkout_key 'username', 'reponame', 'deploy-key'
472
+ res.success?
473
+ res.body
474
+ ```
475
+
476
+ Example response
477
+
478
+ ```javascript
479
+ {
480
+ "public_key": "ssh-rsa...",
481
+ "type": "deploy-key", // can be "deploy-key" or "user-key"
482
+ "fingerprint": "c9:0b:1c:4f:d5:65:56:b9:ad:88:f9:81:2b:37:74:2f",
483
+ "preferred": true,
484
+ "time" : "2015-09-21T17:29:21.042Z" // when the key was issued
485
+ }
486
+ ```
487
+
488
+ #### [recent_builds](#recent_builds)
489
+
490
+ Endpoint: `/project/:username/:repository`
107
491
 
108
492
  Build summary for each of the last 30 recent builds, ordered by build_num.
109
493
 
@@ -115,7 +499,7 @@ res.body
115
499
 
116
500
  Example response
117
501
 
118
- ```json
502
+ ```javascript
119
503
  [ {
120
504
  "vcs_url" : "https://github.com/circleci/mongofinil",
121
505
  "build_url" : "https://circleci.com/gh/circleci/mongofinil/22",
@@ -142,7 +526,9 @@ Example response
142
526
  } ]
143
527
  ```
144
528
 
145
- #### CircleCi::Project.recent_builds_branch
529
+ #### [recent_builds_branch](#recent_builds_branch)
530
+
531
+ Endpoint: `/project/:username/:repository/tree/:branch`
146
532
 
147
533
  Build summary for each of the last 30 recent builds for a specific branch, ordered by build_num.
148
534
 
@@ -154,7 +540,7 @@ res.body
154
540
 
155
541
  Example response
156
542
 
157
- ```json
543
+ ```javascript
158
544
  [ {
159
545
  "vcs_url" : "https://github.com/circleci/mongofinil",
160
546
  "build_url" : "https://circleci.com/gh/circleci/mongofinil/22",
@@ -181,120 +567,203 @@ Example response
181
567
  } ]
182
568
  ```
183
569
 
184
- #### CircleCi::Project.clear_cache
570
+ #### [settings](#settings)
185
571
 
186
- Clears the cache for a project
572
+ Endpoint: `/project/:username/:repository/settings`
573
+
574
+ Get project settings
187
575
 
188
576
  ```ruby
189
- res = CircleCi::Project.clear_cache
190
- res.body['status']
577
+ res = CircleCi::Project.settings 'username', 'repo'
578
+ res.success?
191
579
  ```
192
580
 
193
581
  Example response
194
582
 
195
- ```json
583
+ ```javascript
196
584
  {
197
- "status" : "build caches deleted"
585
+ "hall_notify_prefs": nil,
586
+ "irc_password": nil,
587
+ "default_branch": "master",
588
+ "hipchat_notify": nil,
589
+ "campfire_notify_prefs": nil,
590
+ "campfire_room": nil,
591
+ "irc_keyword": nil,
592
+ "slack_api_token": nil,
593
+ "parallel": 1,
594
+ "github_user": nil,
595
+ "github_permissions": {
596
+ "admin": true,
597
+ "push": true,
598
+ "pull": true
599
+ },
600
+ "irc_server": nil,
601
+ "heroku_deploy_user": nil,
602
+ "dependencies": "",
603
+ "slack_notify_prefs": nil,
604
+ "ssh_keys": [
605
+
606
+ ],
607
+ "extra": "",
608
+ "followed": true,
609
+ "branches": {
610
+ "master": {
611
+ "running_builds": [
612
+ {
613
+ "added_at": "2014-06-05T17:22:52.779Z",
614
+ "pushed_at": "2014-06-05T17:22:52.518Z",
615
+ "vcs_revision": "66d398cb635c5f4dd666dd1526bda5894d1246e4",
616
+ "build_num": 6,
617
+ "status": "not_running",
618
+ "outcome": nil
619
+ }
620
+ ]
621
+ }
622
+ },
623
+ "campfire_token": nil,
624
+ "hipchat_notify_prefs": nil,
625
+ "test": "",
626
+ "compile": "",
627
+ "hipchat_room": nil,
628
+ "slack_channel": nil,
629
+ "slack_subdomain": nil,
630
+ "vcs_url": "https://github.com/Shopify/google_auth",
631
+ "flowdock_api_token": nil,
632
+ "hall_room_api_token": nil,
633
+ "slack_webhook_url": nil,
634
+ "irc_username": nil,
635
+ "hipchat_api_token": nil,
636
+ "campfire_subdomain": nil,
637
+ "has_usable_key": true,
638
+ "setup": "",
639
+ "irc_channel": nil,
640
+ "feature_flags": {
641
+ "build_GH1157_container_oriented_ui": nil,
642
+ "set-github-status": true
643
+ },
644
+ "irc_notify_prefs": nil
198
645
  }
199
646
  ```
200
647
 
201
- #### CircleCI::Project.build_branch
648
+ #### [ssh_key](#ssh_key)
202
649
 
203
- Build a specific branch of a project
650
+ Endpoint: `/project/:username/:repository/ssh-key`
651
+
652
+ Creates an ssh key that will be used to access the external system identified
653
+ by the hostname parameter for SSH key-based authentication.
204
654
 
205
655
  ```ruby
206
- res = CircleCi::Project.build_branch 'username', 'reponame', 'branch'
207
- res.body['status'] # Not running
208
- res.body['build_url'] # Get url of build
656
+ res = CircleCi::Project.ssh_key 'username', 'repo', 'RSA private key', 'hostname'
657
+ res.success?
209
658
  ```
210
659
 
211
660
  Example response
212
661
 
213
- ```json
662
+ Empty response body with a `200 OK` successful response code
663
+ ```javascript
664
+ ""
665
+ ```
666
+
667
+ #### [unfollow](#unfollow)
668
+
669
+ Endpoint: `/project/:username/:repository/unfollow`
670
+
671
+ Unfollow a project
672
+
673
+ ```ruby
674
+ res = CircleCi::Build.unfollow 'username', 'repo'
675
+ res.success?
676
+ ```
677
+
678
+ Example response
679
+
680
+ ```javascript
214
681
  {
215
- "compare" : null,
216
- "previous_successful_build" : {
217
- "build_time_millis" : 40479,
218
- "status" : "success",
219
- "build_num" : 76
220
- },
221
- "build_parameters" : { },
222
- "committer_date" : "2014-07-27T14:40:15Z",
223
- "body" : "",
224
- "usage_queued_at" : "2014-07-29T14:05:36.373Z",
225
- "retry_of" : null,
226
- "reponame" : "soapy_cake",
227
- "build_url" : "https://circleci.com/gh/ad2games/soapy_cake/77",
228
- "parallel" : 1,
229
- "failed" : null,
230
- "branch" : "master",
231
- "username" : "ad2games",
232
- "author_date" : "2014-07-27T14:40:15Z",
233
- "why" : "edit",
234
- "user" : {
235
- "is_user" : true,
236
- "login" : "hwartig",
237
- "name" : "Harald Wartig",
238
- "email" : "hw@ad2games.com"
239
- },
240
- "vcs_revision" : "f932ea1b564ceaaa8cdba06b1bb93e1869a9a905",
241
- "build_num" : 77,
242
- "infrastructure_fail" : false,
243
- "ssh_enabled" : null,
244
- "committer_email" : "hwartig@gmail.com",
245
- "previous" : {
246
- "build_time_millis" : 40479,
247
- "status" : "success",
248
- "build_num" : 76
249
- },
250
- "status" : "not_running",
251
- "committer_name" : "Harald Wartig",
252
- "retries" : null,
253
- "subject" : "Fix link to api_versions.yml",
254
- "timedout" : false,
255
- "dont_build" : null,
256
- "feature_flags" : { },
257
- "lifecycle" : "not_running",
258
- "stop_time" : null,
259
- "build_time_millis" : null,
260
- "circle_yml" : null,
261
- "messages" : [ ],
262
- "is_first_green_build" : false,
263
- "job_name" : null,
264
- "start_time" : null,
265
- "all_commit_details" : [ {
266
- "committer_date" : "2014-07-27T14:40:15Z",
267
- "body" : "",
268
- "author_date" : "2014-07-27T14:40:15Z",
269
- "committer_email" : "hwartig@gmail.com",
270
- "commit" : "f932ea1b564ceaaa8cdba06b1bb93e1869a9a905",
271
- "committer_login" : "hwartig",
272
- "committer_name" : "Harald Wartig",
273
- "subject" : "Fix link to api_versions.yml",
274
- "commit_url" : "https://github.com/ad2games/soapy_cake/commit/f932ea1b564ceaaa8cdba06b1bb93e1869a9a905",
275
- "author_login" : "hwartig",
276
- "author_name" : "Harald Wartig",
277
- "author_email" : "hwartig@gmail.com"
278
- } ],
279
- "outcome" : null,
280
- "vcs_url" : "https://github.com/ad2games/soapy_cake",
281
- "author_name" : "Harald Wartig",
282
- "node" : null,
283
- "canceled" : false,
284
- "author_email" : "hwartig@gmail.com"
682
+ "followed": false
285
683
  }
286
684
  ```
287
685
 
288
- It also supports the Experimental Parameterized Builds
686
+ ### [Build](#build)
687
+
688
+ #### [artifacts](#artifacts)
289
689
 
690
+ Endpoint: `/project/:username/:repository/:build/artifacts`
691
+
692
+ Artifacts produced by the build, returns an array of artifact details
693
+
694
+ ```ruby
695
+ res = CircleCi::Build.artifacts 'username', 'repo', 'build #'
696
+ res.success?
697
+ res.body
290
698
  ```
291
- build_environment_variables = {"ENV_VAR1" => "VALUE1", "ENV_VAR2" => "VALUE2"}
292
- res = CircleCi::Project.build_branch 'username', 'reponame', 'branch', build_environment_variables
699
+
700
+ ```javascript
701
+ [
702
+ {
703
+ node_index: 0,
704
+ path: "/tmp/circle-artifacts.NHQxLku/cherry-pie.png",
705
+ pretty_path: "$CIRCLE_ARTIFACTS/cherry-pie.png",
706
+ url: "https://circleci.com/gh/circleci/mongofinil/22/artifacts/0/tmp/circle-artifacts.NHQxLku/cherry-pie.png"
707
+ },
708
+ {
709
+ node_index: 0,
710
+ path: "/tmp/circle-artifacts.NHQxLku/rhubarb-pie.png",
711
+ pretty_path: "$CIRCLE_ARTIFACTS/rhubarb-pie.png",
712
+ url: "https://circleci.com/gh/circleci/mongofinil/22/artifacts/0/tmp/circle-artifacts.NHQxLku/rhubarb-pie.png"
713
+ }
714
+ ]
293
715
  ```
294
716
 
295
- ### Build
717
+ #### [cancel](#cancel)
296
718
 
297
- #### CircleCi::Build.get
719
+ Endpoint: `/project/:username/:repository/:build/cancel`
720
+
721
+ Cancels the build, returns a summary of the build.
722
+
723
+ ```ruby
724
+ res = CircleCi::Build.cancel 'username', 'repo', 'build #'
725
+ res.success?
726
+ res.body['status'] # 'canceled'
727
+ res.body['outcome'] # 'canceled'
728
+ res.body['canceled'] # true
729
+ ```
730
+
731
+ Example response
732
+
733
+ ```javascript
734
+ {
735
+ "vcs_url" : "https://github.com/circleci/mongofinil",
736
+ "build_url" : "https://circleci.com/gh/circleci/mongofinil/26",
737
+ "build_num" : 26,
738
+ "branch" : "master",
739
+ "vcs_revision" : "59c9c5ea3e289f2f3b0c94e128267cc0ce2d65c6",
740
+ "committer_name" : "Allen Rohner",
741
+ "committer_email" : "arohner@gmail.com",
742
+ "subject" : "Merge pull request #6 from dlowe/master"
743
+ "body" : "le bump", // commit message body
744
+ "why" : "retry", // short string explaining the reason we built
745
+ "dont_build" : null, // reason why we didn't build, if we didn't build
746
+ "queued_at" : "2013-05-24T19:37:59.095Z" // time build was queued
747
+ "start_time" : null, // time build started running
748
+ "stop_time" : null, // time build finished running
749
+ "build_time_millis" : null,
750
+ "username" : "circleci",
751
+ "reponame" : "mongofinil",
752
+ "lifecycle" : "queued",
753
+ "outcome" : "canceled",
754
+ "status" : "canceled",
755
+ "canceled" : true,
756
+ "retry_of" : 25, // build_num of the build this is a retry of
757
+ "previous" : { // previous build
758
+ "status" : "success",
759
+ "build_num" : 25
760
+ }
761
+ }
762
+ ```
763
+
764
+ #### [get](#get)
765
+
766
+ Endpoint: `/project/:username/:repository/:build`
298
767
 
299
768
  Full details for a single build, including the output for all actions. The response includes all of the fields from the build summary.
300
769
 
@@ -306,7 +775,7 @@ res.body
306
775
 
307
776
  Example response
308
777
 
309
- ```json
778
+ ```javascript
310
779
  {
311
780
  "vcs_url" : "https://github.com/circleci/mongofinil",
312
781
  "build_url" : "https://circleci.com/gh/circleci/mongofinil/22",
@@ -381,7 +850,9 @@ Example response
381
850
  }
382
851
  ```
383
852
 
384
- #### CircleCi::Build.retry
853
+ #### [retry](#retry)
854
+
855
+ Endpoint: `/project/:username/:repository/:build/retry`
385
856
 
386
857
  Retries the build, returns a summary of the new build.
387
858
 
@@ -394,7 +865,7 @@ res.body
394
865
 
395
866
  Example response
396
867
 
397
- ```json
868
+ ```javascript
398
869
  {
399
870
  "vcs_url" : "https://github.com/circleci/mongofinil",
400
871
  "build_url" : "https://circleci.com/gh/circleci/mongofinil/23",
@@ -419,80 +890,11 @@ Example response
419
890
  "status" : "failed",
420
891
  "build_num" : 22
421
892
  }
422
-
423
- #### CircleCi::Build.cancel
424
-
425
- Cancels the build, returns a summary of the build.
426
-
427
- ```ruby
428
- res = CircleCi::Build.cancel 'username', 'repo', 'build #'
429
- res.success?
430
- res.body['status'] # 'canceled'
431
- res.body['outcome'] # 'canceled'
432
- res.body['canceled'] # true
433
893
  ```
434
894
 
435
- Example response
895
+ #### [tests](#tests)
436
896
 
437
- ```json
438
- {
439
- "vcs_url" : "https://github.com/circleci/mongofinil",
440
- "build_url" : "https://circleci.com/gh/circleci/mongofinil/26",
441
- "build_num" : 26,
442
- "branch" : "master",
443
- "vcs_revision" : "59c9c5ea3e289f2f3b0c94e128267cc0ce2d65c6",
444
- "committer_name" : "Allen Rohner",
445
- "committer_email" : "arohner@gmail.com",
446
- "subject" : "Merge pull request #6 from dlowe/master"
447
- "body" : "le bump", // commit message body
448
- "why" : "retry", // short string explaining the reason we built
449
- "dont_build" : null, // reason why we didn't build, if we didn't build
450
- "queued_at" : "2013-05-24T19:37:59.095Z" // time build was queued
451
- "start_time" : null, // time build started running
452
- "stop_time" : null, // time build finished running
453
- "build_time_millis" : null,
454
- "username" : "circleci",
455
- "reponame" : "mongofinil",
456
- "lifecycle" : "queued",
457
- "outcome" : "canceled",
458
- "status" : "canceled",
459
- "canceled" : true,
460
- "retry_of" : 25, // build_num of the build this is a retry of
461
- "previous" : { // previous build
462
- "status" : "success",
463
- "build_num" : 25
464
- }
465
- }
466
- ```
467
-
468
- #### CircleCi::Build.artifacts
469
-
470
- Artifacts produced by the build, returns an array of artifact details
471
-
472
- ```ruby
473
- res = CircleCi::Build.artifacts 'username', 'repo', 'build #'
474
- res.success?
475
- res.body
476
- ```
477
-
478
- ```json
479
- [
480
- {
481
- node_index: 0,
482
- path: "/tmp/circle-artifacts.NHQxLku/cherry-pie.png",
483
- pretty_path: "$CIRCLE_ARTIFACTS/cherry-pie.png",
484
- url: "https://circleci.com/gh/circleci/mongofinil/22/artifacts/0/tmp/circle-artifacts.NHQxLku/cherry-pie.png"
485
- },
486
- {
487
- node_index: 0,
488
- path: "/tmp/circle-artifacts.NHQxLku/rhubarb-pie.png",
489
- pretty_path: "$CIRCLE_ARTIFACTS/rhubarb-pie.png",
490
- url: "https://circleci.com/gh/circleci/mongofinil/22/artifacts/0/tmp/circle-artifacts.NHQxLku/rhubarb-pie.png"
491
- }
492
- ]
493
- ```
494
-
495
- #### CircleCi::Build.tests
897
+ Endpoint: `/project/:username/:repository/:build/tests`
496
898
 
497
899
  Tests endpoint to get the recorded tests for a build. Will return an array of
498
900
  the tests ran and some details.
@@ -503,7 +905,7 @@ res.success?
503
905
  res.body
504
906
  ```
505
907
 
506
- ```json
908
+ ```javascript
507
909
  [
508
910
  {
509
911
  "message" => nil,
@@ -526,7 +928,9 @@ res.body
526
928
  ]
527
929
  ```
528
930
 
529
- #### CircleCi.organization
931
+ ### [organization](#organization)
932
+
933
+ Endpoint: `/organization/:name`
530
934
 
531
935
  Recent builds for an entire organization
532
936
 
@@ -536,7 +940,7 @@ res.succes?
536
940
  res.body
537
941
  ```
538
942
 
539
- ```json
943
+ ```javascript
540
944
  [
541
945
  {
542
946
  "dont_build":null,
@@ -57,8 +57,14 @@ module CircleCi
57
57
 
58
58
  def handle_response(body, code, path)
59
59
  parsed = JSON.parse(body) rescue nil
60
- if parsed && (200..299).include?(code)
61
- self.response = parsed
60
+ successful_code = (200..299).include?(code)
61
+ self.response = parsed if parsed
62
+
63
+ # Some responses are empty but are successful
64
+ if body == '""' && successful_code
65
+ self.response = ''
66
+ self.success = true
67
+ elsif parsed && successful_code
62
68
  self.success = true
63
69
  else
64
70
  self.errors << RequestError.new(body, code, path)
@@ -16,18 +16,6 @@ module CircleCi
16
16
  CircleCi.http.get '/projects'
17
17
  end
18
18
 
19
- ##
20
- #
21
- # Get all recent builds for a specific project
22
- #
23
- # @param username [String] - User or org name who owns project
24
- # @param project [String] - Name of project
25
- # @return [CircleCi::Response] - Response object
26
-
27
- def self.recent_builds username, project
28
- CircleCi.http.get "/project/#{username}/#{project}"
29
- end
30
-
31
19
  ##
32
20
  #
33
21
  # Build the latest master push for this project
@@ -42,31 +30,33 @@ module CircleCi
42
30
 
43
31
  ##
44
32
  #
45
- # Get all recent builds for a specific branch of a project
33
+ # Build the latest push for this branch of a specific project
46
34
  #
47
35
  # @param username [String] - User or org name who owns project
48
36
  # @param project [String] - Name of project
49
37
  # @param branch [String] - Name of branch
38
+ # @param build_parameters [Hash] - Optional Build Parameters
50
39
  # @return [CircleCi::Response] - Response object
51
40
 
52
- def self.recent_builds_branch username, project, branch
53
- CircleCi.http.get "/project/#{username}/#{project}/tree/#{branch}"
41
+ def self.build_branch username, project, branch, build_parameters = {}
42
+ body = {}
43
+ body["build_parameters"] = build_parameters unless build_parameters.empty?
44
+ CircleCi.http.post "/project/#{username}/#{project}/tree/#{branch}", {}, body
54
45
  end
55
46
 
56
47
  ##
57
48
  #
58
- # Build the latest push for this branch of a specific project
49
+ # Add a ssh key to a build
59
50
  #
60
51
  # @param username [String] - User or org name who owns project
61
52
  # @param project [String] - Name of project
62
- # @param branch [String] - Name of branch
63
- # @param build_parameters [Hash] - Optional Build Parameters
53
+ # @param build [String] - Build number
54
+ # @param key [String] - The ssh private key
55
+ # @param hostname [String] - The hostname identified by the key
64
56
  # @return [CircleCi::Response] - Response object
65
-
66
- def self.build_branch username, project, branch, build_parameters = {}
67
- body = {}
68
- body["build_parameters"] = build_parameters unless build_parameters.empty?
69
- CircleCi.http.post "/project/#{username}/#{project}/tree/#{branch}", {}, body
57
+ def self.build_ssh_key username, project, build, key, hostname
58
+ body = { hostname: hostname, private_key: key }
59
+ CircleCi.http.post "/project/#{username}/#{project}/#{build}/ssh-users", {}, body
70
60
  end
71
61
 
72
62
  ##
@@ -83,7 +73,21 @@ module CircleCi
83
73
 
84
74
  ##
85
75
  #
86
- # Enable a project in CircleCI. Causes a CircleCI SSH key to be added to the GitHub. Requires admin privilege to the repository.
76
+ # Delete a checkout key for a project
77
+ #
78
+ # @param username [String] - User or org name who owns project
79
+ # @param project [String] - Name of project
80
+ # @param fingerprint [String] - Fingerprint of a checkout key
81
+ # @return [CircleCi::Response] - Response object
82
+
83
+ def self.delete_checkout_key username, project, fingerprint
84
+ CircleCi.http.delete "/project/#{username}/#{project}/checkout-key/#{fingerprint}"
85
+ end
86
+
87
+ ##
88
+ #
89
+ # Enable a project in CircleCI. Causes a CircleCI SSH key to be added to
90
+ # the GitHub. Requires admin privilege to the repository.
87
91
  #
88
92
  # @param username [String] - User or org name who owns project
89
93
  # @param project [String] - Name of project
@@ -107,14 +111,66 @@ module CircleCi
107
111
 
108
112
  ##
109
113
  #
110
- # Unfollow the project
114
+ # Get a checkout key for a project
115
+ #
116
+ # @param username [String] - User or org name who owns project
117
+ # @param project [String] - Name of project
118
+ # @param fingerprint [String] - Fingerprint of a checkout key
119
+ # @return [CircleCi::Response] - Response object
120
+
121
+ def self.get_checkout_key username, project, fingerprint
122
+ CircleCi.http.get "/project/#{username}/#{project}/checkout-key/#{fingerprint}"
123
+ end
124
+
125
+ ##
126
+ #
127
+ # Get a list of checkout keys for project
111
128
  #
112
129
  # @param username [String] - User or org name who owns project
113
130
  # @param project [String] - Name of project
114
131
  # @return [CircleCi::Response] - Response object
115
132
 
116
- def self.unfollow username, project
117
- CircleCi.http.post "/project/#{username}/#{project}/unfollow"
133
+ def self.list_checkout_keys username, project
134
+ CircleCi.http.get "/project/#{username}/#{project}/checkout-key"
135
+ end
136
+
137
+ ##
138
+ #
139
+ # Create a checkout key for a project
140
+ #
141
+ # @param username [String] - User or org name who owns project
142
+ # @param project [String] - Name of project
143
+ # @param type [String] - The type of key to create. Can be 'deploy-key' or 'github-user-key'.
144
+ # @return [CircleCi::Response] - Response object
145
+
146
+ def self.new_checkout_key username, project, type
147
+ body = { type: type }
148
+ CircleCi.http.post "/project/#{username}/#{project}/checkout-key", {}, body
149
+ end
150
+
151
+ ##
152
+ #
153
+ # Get all recent builds for a specific project
154
+ #
155
+ # @param username [String] - User or org name who owns project
156
+ # @param project [String] - Name of project
157
+ # @return [CircleCi::Response] - Response object
158
+
159
+ def self.recent_builds username, project
160
+ CircleCi.http.get "/project/#{username}/#{project}"
161
+ end
162
+
163
+ ##
164
+ #
165
+ # Get all recent builds for a specific branch of a project
166
+ #
167
+ # @param username [String] - User or org name who owns project
168
+ # @param project [String] - Name of project
169
+ # @param branch [String] - Name of branch
170
+ # @return [CircleCi::Response] - Response object
171
+
172
+ def self.recent_builds_branch username, project, branch
173
+ CircleCi.http.get "/project/#{username}/#{project}/tree/#{branch}"
118
174
  end
119
175
 
120
176
  ##
@@ -129,6 +185,32 @@ module CircleCi
129
185
  CircleCi.http.get "/project/#{username}/#{project}/settings"
130
186
  end
131
187
 
188
+ ##
189
+ #
190
+ # Add a ssh key to a project
191
+ #
192
+ # @param username [String] - User or org name who owns project
193
+ # @param project [String] - Name of project
194
+ # @param key [String] - The ssh private key
195
+ # @param hostname [String] - The hostname identified by the key
196
+ # @return [CircleCi::Response] - Response object
197
+ def self.ssh_key username, project, key, hostname
198
+ body = { hostname: hostname, private_key: key }
199
+ CircleCi.http.post "/project/#{username}/#{project}/ssh-key", {}, body
200
+ end
201
+
202
+ ##
203
+ #
204
+ # Unfollow the project
205
+ #
206
+ # @param username [String] - User or org name who owns project
207
+ # @param project [String] - Name of project
208
+ # @return [CircleCi::Response] - Response object
209
+
210
+ def self.unfollow username, project
211
+ CircleCi.http.post "/project/#{username}/#{project}/unfollow"
212
+ end
213
+
132
214
  end
133
215
 
134
216
  end
@@ -16,6 +16,17 @@ module CircleCi
16
16
  CircleCi.http.get '/me'
17
17
  end
18
18
 
19
+ ##
20
+ #
21
+ # Add a Heroku API key to CircleCI
22
+ #
23
+ # @param apikey [String] - The Heroku API key
24
+ # @return [CircleCi::Response] - Response object
25
+ def self.heroku_key apikey
26
+ body = { apikey: apikey }
27
+ CircleCi.http.post '/user/heroku-key', {}, body
28
+ end
29
+
19
30
  end
20
31
 
21
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: circleci
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chavez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-29 00:00:00.000000000 Z
11
+ date: 2015-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -16,54 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
19
+ version: '1.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: '1.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: coveralls
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.7.12
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 0.7.12
33
+ version: 0.8.10
37
34
  type: :development
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: 0.7.12
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.7.12
40
+ version: 0.8.10
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: dotenv
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: 2.0.0
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 2.0.0
47
+ version: 2.0.2
57
48
  type: :development
58
49
  prerelease: false
59
50
  version_requirements: !ruby/object:Gem::Requirement
60
51
  requirements:
61
52
  - - "~>"
62
53
  - !ruby/object:Gem::Version
63
- version: 2.0.0
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 2.0.0
54
+ version: 2.0.2
67
55
  - !ruby/object:Gem::Dependency
68
56
  name: gemcutter
69
57
  requirement: !ruby/object:Gem::Requirement
@@ -71,9 +59,6 @@ dependencies:
71
59
  - - "~>"
72
60
  - !ruby/object:Gem::Version
73
61
  version: 0.7.1
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 0.7.1
77
62
  type: :development
78
63
  prerelease: false
79
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -81,29 +66,20 @@ dependencies:
81
66
  - - "~>"
82
67
  - !ruby/object:Gem::Version
83
68
  version: 0.7.1
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- version: 0.7.1
87
69
  - !ruby/object:Gem::Dependency
88
70
  name: pry
89
71
  requirement: !ruby/object:Gem::Requirement
90
72
  requirements:
91
73
  - - "~>"
92
74
  - !ruby/object:Gem::Version
93
- version: 0.10.1
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 0.10.1
75
+ version: 0.10.3
97
76
  type: :development
98
77
  prerelease: false
99
78
  version_requirements: !ruby/object:Gem::Requirement
100
79
  requirements:
101
80
  - - "~>"
102
81
  - !ruby/object:Gem::Version
103
- version: 0.10.1
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 0.10.1
82
+ version: 0.10.3
107
83
  - !ruby/object:Gem::Dependency
108
84
  name: rake
109
85
  requirement: !ruby/object:Gem::Requirement
@@ -170,40 +146,34 @@ dependencies:
170
146
  requirements:
171
147
  - - "~>"
172
148
  - !ruby/object:Gem::Version
173
- version: 0.9.2
149
+ version: 0.11.0
174
150
  - - ">="
175
151
  - !ruby/object:Gem::Version
176
- version: 0.9.2
152
+ version: 0.11.0
177
153
  type: :development
178
154
  prerelease: false
179
155
  version_requirements: !ruby/object:Gem::Requirement
180
156
  requirements:
181
157
  - - "~>"
182
158
  - !ruby/object:Gem::Version
183
- version: 0.9.2
159
+ version: 0.11.0
184
160
  - - ">="
185
161
  - !ruby/object:Gem::Version
186
- version: 0.9.2
162
+ version: 0.11.0
187
163
  - !ruby/object:Gem::Dependency
188
164
  name: typhoeus
189
165
  requirement: !ruby/object:Gem::Requirement
190
166
  requirements:
191
167
  - - "~>"
192
168
  - !ruby/object:Gem::Version
193
- version: 0.7.1
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- version: 0.7.1
169
+ version: 0.8.0
197
170
  type: :development
198
171
  prerelease: false
199
172
  version_requirements: !ruby/object:Gem::Requirement
200
173
  requirements:
201
174
  - - "~>"
202
175
  - !ruby/object:Gem::Version
203
- version: 0.7.1
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- version: 0.7.1
176
+ version: 0.8.0
207
177
  - !ruby/object:Gem::Dependency
208
178
  name: vcr
209
179
  requirement: !ruby/object:Gem::Requirement
@@ -230,20 +200,20 @@ dependencies:
230
200
  requirements:
231
201
  - - "~>"
232
202
  - !ruby/object:Gem::Version
233
- version: 1.21.0
203
+ version: 1.22.3
234
204
  - - ">="
235
205
  - !ruby/object:Gem::Version
236
- version: 1.21.0
206
+ version: 1.22.3
237
207
  type: :development
238
208
  prerelease: false
239
209
  version_requirements: !ruby/object:Gem::Requirement
240
210
  requirements:
241
211
  - - "~>"
242
212
  - !ruby/object:Gem::Version
243
- version: 1.21.0
213
+ version: 1.22.3
244
214
  - - ">="
245
215
  - !ruby/object:Gem::Version
246
- version: 1.21.0
216
+ version: 1.22.3
247
217
  - !ruby/object:Gem::Dependency
248
218
  name: yard
249
219
  requirement: !ruby/object:Gem::Requirement
@@ -264,7 +234,7 @@ dependencies:
264
234
  - - ">="
265
235
  - !ruby/object:Gem::Version
266
236
  version: 0.8.7.6
267
- description: Wraps Circle CI API calls in a gem.
237
+ description: Ruby gem for Circle CI REST API
268
238
  email: chavez@example.com
269
239
  executables: []
270
240
  extensions: []
@@ -304,5 +274,5 @@ rubyforge_project:
304
274
  rubygems_version: 2.2.2
305
275
  signing_key:
306
276
  specification_version: 4
307
- summary: Circle CI API Wrapper
277
+ summary: Circle CI REST API gem
308
278
  test_files: []