buildkiterb 0.1.0 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c74759ca24a01e1c3014a40e390bf0e6856f6f822afbe9b3ec04ce4eedf47a3
4
- data.tar.gz: 15155f0dd6b2925cd986ca1fe4f800070b14f532b26bdf75dd368c40996afdc0
3
+ metadata.gz: d17326f3ed42ef0a798a0716d1fa179f78ed88d9ba50e71577cd5178c3dd01ed
4
+ data.tar.gz: 389c4e4a122256db5c50c319ed842102f2590b85feb8ad46bef3074145ca77a1
5
5
  SHA512:
6
- metadata.gz: 6471e3269bedfda857df898a96435d6b71759720880d4707e95ee1e9dd1d1eb54539446c9a05ada092413c7bc67327414781153ffec061dad8136c39d753ae04
7
- data.tar.gz: 1424178e0527a785d2ac7b63d6632ee02fa7b8e19bae68e2a4a02dc15df3e0b04066395ba7de968a9db24df2c4be6f06dbaeb68a73b444e1fff65aa3cffe41be
6
+ metadata.gz: b9acd806d5629f3ecb086dc388eb3be47eead385a6e74f2b2af3cf7150192c655c559b79a938171aff07af389428d59554ebe9af8e60c2121f14ba3cc7bcaf74
7
+ data.tar.gz: 9936c96c5bc35e1d59e4b4d50c53c3d7b440e17762b833d6f477a8f00a18195c6a9a5ad940cb01ffe957e3ac1a79e3d22c815ca808688d7f3d787283f556f84c
data/.env.example CHANGED
@@ -1 +1 @@
1
- ACCESS_TOKEN=
1
+ API_TOKEN=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- buildkiterb (0.1.0)
4
+ buildkiterb (0.2.0)
5
5
  faraday (~> 2.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -18,7 +18,17 @@ Firstly you'll need to create an API Token on [Buildkite](https://buildkite.com/
18
18
  and then set it like so:
19
19
 
20
20
  ```ruby
21
- @client = Buildkite::Client.new(access_token: "")
21
+ @client = Buildkite::Client.new(token: "abc123")
22
+ ```
23
+
24
+ ### Access Token
25
+
26
+ ```ruby
27
+ # Get details of the current token
28
+ @client.access_token.get
29
+
30
+ # Revoke the current token
31
+ @client.access_token.revoke
22
32
  ```
23
33
 
24
34
  ### Organizations
@@ -31,6 +41,140 @@ and then set it like so:
31
41
  @client.organizations.get slug: "my-org-slug"
32
42
  ```
33
43
 
44
+ ### Pipelines
45
+
46
+ ```ruby
47
+ # List all pipelines for an org
48
+ @client.pipelines.list org: "org-slug"
49
+ #=> #<Buildkite::Collection...
50
+
51
+ # Get a pipeline
52
+ @client.pipelines.get org: "org-slug", slug: "pipeline-slug"
53
+
54
+ # Create a Pipeline. View the 2 docs links for the correct params
55
+ # Docs: https://buildkite.com/docs/apis/rest-api/pipelines#create-a-yaml-pipeline
56
+ # Docs: https://buildkite.com/docs/apis/rest-api/pipelines#create-a-visual-step-pipeline
57
+ @client.pipelines.create org: "org-slug", name: "my pipeline", repository: "git@github.com:user/repo.git", configuration: {}
58
+
59
+ # Update a pipeline
60
+ # Docs: https://buildkite.com/docs/apis/rest-api/pipelines#update-a-pipeline
61
+ @client.pipelines.update org: "org-slug", slug: "my-pipeline", {}
62
+
63
+ # Archive a pipeline
64
+ @client.pipelines.archive org: "org-slug", slug: "my-pipeline"
65
+
66
+ # Unarchive a pipeline
67
+ @client.pipelines.unarchive org: "org-slug", slug: "my-pipeline"
68
+
69
+ # Delete a pipeline
70
+ @client.pipelines.delete org: "org-slug", slug: "my-pipeline"
71
+
72
+ # Setup automatic webhooks
73
+ # Returns 422 if not supported or cannot be done
74
+ @client.pipelines.webhook org: "org-slug", slug: "my-pipeline"
75
+ ```
76
+
77
+ ### Builds
78
+
79
+ ```ruby
80
+ # List all builds
81
+ @client.builds.list
82
+
83
+ # List all builds for an org
84
+ @client.builds.list org: "org-slug"
85
+
86
+ # List all builds for a pipeline
87
+ @client.builds.list org: "org-slug", pipeline: "pipeline-slug"
88
+
89
+ # Get a build
90
+ # The Build Number is used, not the ID
91
+ @client.builds.get org: "org-slug", pipeline: "pipeline-slug", number: 123
92
+
93
+ # Create a Build
94
+ # Docs: https://buildkite.com/docs/apis/rest-api/builds#create-a-build
95
+ @client.builds.create org: "org-slug", pipeline: "pipeline-slug", commit: "abc123", branch: "master"
96
+
97
+ # Cancel a build
98
+ @client.builds.cancel org: "org-slug", pipeline: "pipeline-slug", number: 123
99
+
100
+ # Rebuild a build
101
+ @client.builds.rebuild org: "org-slug", pipeline: "pipeline-slug", number: 123
102
+ ```
103
+
104
+ ### Agents
105
+
106
+ ```ruby
107
+ # List all agents for an org
108
+ @client.agents.list org: "org-slug"
109
+
110
+ # Get an agent
111
+ @client.agents.get org: "org-slug", id: "abc123"
112
+
113
+ # Stop an agent
114
+ # To force an agent to stop, add `force: true`
115
+ @client.agents.get org: "org-slug", id: "abc123"
116
+ ```
117
+
118
+ ### Jobs
119
+
120
+ ```ruby
121
+ # Retry a job
122
+ @client.jobs.retry org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123"
123
+
124
+ # Unblock a job
125
+ # Docs: https://buildkite.com/docs/apis/rest-api/jobs#unblock-a-job
126
+ @client.jobs.unblock org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123", {}
127
+
128
+ # Get a job's logs
129
+ @client.jobs.log org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123"
130
+
131
+ # Delete a job's log
132
+ @client.jobs.delete_log org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123"
133
+
134
+ # Get a job's environment variables
135
+ @client.jobs.env org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123"
136
+ ```
137
+
138
+ ### Annotations
139
+
140
+ ```ruby
141
+ # List annotations for a build
142
+ @client.annotations.list org: "org-slug", pipeline: "pipeline-slug", number: 123
143
+ ```
144
+
145
+ ### Artifacts
146
+
147
+ ```ruby
148
+ # List artifacts for a build
149
+ @client.artifacts.list org: "org-slug", pipeline: "pipeline-slug", number: 123
150
+
151
+ # List artifacts for a build job
152
+ @client.artifacts.list org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123"
153
+
154
+ # Get an artifact
155
+ @client.artifacts.get org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123", id: "123abc"
156
+
157
+ # Download an artifact
158
+ @client.artifacts.download org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123", id: "123abc"
159
+
160
+ # Delete an artifact
161
+ @client.artifacts.delete org: "org-slug", pipeline: "pipeline-slug", number: 123, job: "abc123", id: "123abc"
162
+ ```
163
+
164
+ ### Emojis
165
+
166
+ ```ruby
167
+ # List emojis for an organization
168
+ @client.emojis.list org: "org-slug"
169
+ ```
170
+
171
+ ### User
172
+
173
+ ```ruby
174
+ # Get the current user
175
+ @client.user.get
176
+ ```
177
+
34
178
  ## Contributing
35
179
 
36
180
  Bug reports and pull requests are welcome on GitHub at https://github.com/deanpcmad/buildkiterb.
data/bin/console CHANGED
@@ -13,7 +13,7 @@ require 'dotenv/load'
13
13
  # require "pry"
14
14
  # Pry.start
15
15
 
16
- @client = Buildkite::Client.new(access_token: ENV["ACCESS_TOKEN"])
16
+ @client = Buildkite::Client.new(token: ENV["API_TOKEN"])
17
17
 
18
18
  require "irb"
19
19
  IRB.start(__FILE__)
@@ -2,23 +2,59 @@ module Buildkite
2
2
  class Client
3
3
  BASE_URL = "https://api.buildkite.com/v2"
4
4
 
5
- attr_reader :access_token, :adapter
5
+ attr_reader :token, :adapter
6
6
 
7
- def initialize(access_token:, adapter: Faraday.default_adapter, stubs: nil)
8
- @access_token = access_token
7
+ def initialize(token:, adapter: Faraday.default_adapter, stubs: nil)
8
+ @token = token
9
9
  @adapter = adapter
10
10
 
11
11
  # Test stubs for requests
12
12
  @stubs = stubs
13
13
  end
14
14
 
15
+ def access_token
16
+ AccessTokenResource.new(self)
17
+ end
18
+
15
19
  def organizations
16
20
  OrganizationsResource.new(self)
17
21
  end
18
22
 
23
+ def pipelines
24
+ PipelinesResource.new(self)
25
+ end
26
+
27
+ def builds
28
+ BuildsResource.new(self)
29
+ end
30
+
31
+ def jobs
32
+ JobsResource.new(self)
33
+ end
34
+
35
+ def agents
36
+ AgentsResource.new(self)
37
+ end
38
+
39
+ def artifacts
40
+ ArtifactsResource.new(self)
41
+ end
42
+
43
+ def annotations
44
+ AnnotationsResource.new(self)
45
+ end
46
+
47
+ def emojis
48
+ EmojisResource.new(self)
49
+ end
50
+
51
+ def user
52
+ UserResource.new(self)
53
+ end
54
+
19
55
  def connection
20
56
  @connection ||= Faraday.new(BASE_URL) do |conn|
21
- conn.request :authorization, :Bearer, access_token
57
+ conn.request :authorization, :Bearer, token
22
58
 
23
59
  conn.headers = {
24
60
  "User-Agent" => "buildkiterb/v#{VERSION} (github.com/deanpcmad/buildkiterb)"
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class AccessToken < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Agent < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Annotation < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Artifact < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class ArtifactDownload < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Build < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Emoji < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Job < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class JobEnv < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class JobLog < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class Pipeline < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module Buildkite
2
+ class User < Object
3
+ end
4
+ end
@@ -33,23 +33,23 @@ module Buildkite
33
33
  when 400
34
34
  raise Error, "Error 400: Your request was malformed. '#{response.body["message"]}'"
35
35
  when 401
36
- raise Error, "Error 401: You did not supply valid authentication credentials. '#{response.body["error"]}'"
36
+ raise Error, "Error 401: You did not supply valid authentication credentials. '#{response.body["message"]}'"
37
37
  when 403
38
- raise Error, "Error 403: You are not allowed to perform that action. '#{response.body["error"]}'"
38
+ raise Error, "Error 403: You are not allowed to perform that action. '#{response.body["message"]}'"
39
39
  when 404
40
- raise Error, "Error 404: No results were found for your request. '#{response.body["error"]}'"
40
+ raise Error, "Error 404: No results were found for your request. '#{response.body["message"]}'"
41
41
  when 409
42
42
  raise Error, "Error 409: Your request was a conflict. '#{response.body["message"]}'"
43
43
  when 422
44
44
  raise Error, "Error 422: Unprocessable Entity. '#{response.body["message"]}"
45
45
  when 429
46
- raise Error, "Error 429: Your request exceeded the API rate limit. '#{response.body["error"]}'"
46
+ raise Error, "Error 429: Your request exceeded the API rate limit. '#{response.body["message"]}'"
47
47
  when 500
48
- raise Error, "Error 500: We were unable to perform the request due to server-side problems. '#{response.body["error"]}'"
48
+ raise Error, "Error 500: We were unable to perform the request due to server-side problems. '#{response.body["message"]}'"
49
49
  when 503
50
- raise Error, "Error 503: You have been rate limited for sending more than 20 requests per second. '#{response.body["error"]}'"
50
+ raise Error, "Error 503: You have been rate limited for sending more than 20 requests per second. '#{response.body["message"]}'"
51
51
  when 204
52
- # 204 is a response for success on Twitch's API
52
+ # 204 is a response for success
53
53
  return true
54
54
  end
55
55
 
@@ -0,0 +1,13 @@
1
+ module Buildkite
2
+ class AccessTokenResource < Resource
3
+
4
+ def get
5
+ AccessToken.new get_request("access-token").body
6
+ end
7
+
8
+ def revoke
9
+ delete_request("access-token")
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ module Buildkite
2
+ class AgentsResource < Resource
3
+
4
+ def list(org:)
5
+ response = get_request("organizations/#{org}/agents")
6
+ Collection.from_response(response, type: Agent)
7
+ end
8
+
9
+ def get(org:, id:)
10
+ Agent.new get_request("organizations/#{org}/agents/#{id}").body
11
+ end
12
+
13
+ def stop(org:, id:, **args)
14
+ put_request("organizations/#{org}/agents/#{id}/stop", body: args)
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,10 @@
1
+ module Buildkite
2
+ class AnnotationsResource < Resource
3
+
4
+ def list(org:, pipeline:, build:)
5
+ response = get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{build}/annotations")
6
+ Collection.from_response(response, type: Annotation)
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,27 @@
1
+ module Buildkite
2
+ class ArtifactsResource < Resource
3
+
4
+ def list(org:, pipeline:, build:, job: nil)
5
+ if job
6
+ response = get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{build}/jobs/#{job}/artifacts")
7
+ else
8
+ response = get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{build}/artifacts")
9
+ end
10
+
11
+ Collection.from_response(response, type: Artifact)
12
+ end
13
+
14
+ def get(org:, pipeline:, build:, job:, id:)
15
+ Artifact.new get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{build}/jobs/#{job}/artifacts/#{id}").body
16
+ end
17
+
18
+ def download(org:, pipeline:, build:, job:, id:)
19
+ ArtifactDownload.new get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{build}/jobs/#{job}/artifacts/#{id}/download").body
20
+ end
21
+
22
+ def delete(org:, pipeline:, build:, job:, id:)
23
+ delete_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{build}/jobs/#{job}/artifacts/#{id}")
24
+ end
25
+
26
+ end
27
+ end
@@ -0,0 +1,36 @@
1
+ module Buildkite
2
+ class BuildsResource < Resource
3
+
4
+ def list(org: nil, pipeline: nil)
5
+ if org && pipeline
6
+ response = get_request("organizations/#{org}/pipelines/#{pipeline}/builds")
7
+ elsif org
8
+ response = get_request("organizations/#{org}/builds")
9
+ else
10
+ response = get_request("builds")
11
+ end
12
+
13
+ if response
14
+ Collection.from_response(response, type: Build)
15
+ end
16
+ end
17
+
18
+ def get(org:, pipeline:, number:)
19
+ Build.new get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}").body
20
+ end
21
+
22
+ def create(org:, pipeline:, commit:, branch:, **args)
23
+ data = {commit: commit, branch: branch}
24
+ Build.new post_request("organizations/#{org}/pipelines/#{pipeline}/builds", body: data.merge(args)).body
25
+ end
26
+
27
+ def cancel(org:, pipeline:, number:)
28
+ Build.new put_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/cancel", body: {}).body
29
+ end
30
+
31
+ def rebuild(org:, pipeline:, number:)
32
+ Build.new put_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/rebuild", body: {}).body
33
+ end
34
+
35
+ end
36
+ end
@@ -0,0 +1,10 @@
1
+ module Buildkite
2
+ class EmojisResource < Resource
3
+
4
+ def list(org:)
5
+ response = get_request("organizations/#{org}/emojis")
6
+ Collection.from_response(response, type: Emoji)
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,25 @@
1
+ module Buildkite
2
+ class JobsResource < Resource
3
+
4
+ def retry(org:, pipeline:, number:, job:)
5
+ Job.new put_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/jobs/#{job}/retry", body: {}).body
6
+ end
7
+
8
+ def unblock(org:, pipeline:, number:, job:, **args)
9
+ Job.new put_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/jobs/#{job}/unblock", body: args).body
10
+ end
11
+
12
+ def log(org:, pipeline:, number:, job:)
13
+ JobLog.new get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/jobs/#{job}/log").body
14
+ end
15
+
16
+ def delete_log(org:, pipeline:, number:, job:)
17
+ delete_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/jobs/#{job}/log")
18
+ end
19
+
20
+ def env(org:, pipeline:, number:, job:)
21
+ JobEnv.new get_request("organizations/#{org}/pipelines/#{pipeline}/builds/#{number}/jobs/#{job}/env").body["env"]
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,39 @@
1
+ module Buildkite
2
+ class PipelinesResource < Resource
3
+
4
+ def list(org:)
5
+ response = get_request("organizations/#{org}/pipelines")
6
+ Collection.from_response(response, type: Pipeline)
7
+ end
8
+
9
+ def get(org:, slug:)
10
+ Pipeline.new get_request("organizations/#{org}/pipelines/#{slug}").body
11
+ end
12
+
13
+ def create(org:, name:, repository:, configuration:, **args)
14
+ data = {name: name, repository: repository, configuration: configuration}
15
+ Pipeline.new post_request("organizations/#{org}/pipelines", body: data.merge(args)).body
16
+ end
17
+
18
+ def update(org:, slug:, **args)
19
+ Pipeline.new patch_request("organizations/#{org}/pipelines/#{slug}", body: args).body
20
+ end
21
+
22
+ def archive(org:, slug:)
23
+ Pipeline.new post_request("organizations/#{org}/pipelines/#{slug}/archive", body: {}).body
24
+ end
25
+
26
+ def unarchive(org:, slug:)
27
+ Pipeline.new post_request("organizations/#{org}/pipelines/#{slug}/unarchive", body: {}).body
28
+ end
29
+
30
+ def delete(org:, slug:)
31
+ delete_request("organizations/#{org}/pipelines/#{slug}")
32
+ end
33
+
34
+ def webhook(org:, slug:)
35
+ post_request("organizations/#{org}/pipelines/#{slug}/webhook", body: {})
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,9 @@
1
+ module Buildkite
2
+ class UserResource < Resource
3
+
4
+ def get
5
+ User.new get_request("user").body
6
+ end
7
+
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module Buildkite
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/buildkite.rb CHANGED
@@ -10,9 +10,29 @@ module Buildkite
10
10
  autoload :Resource, "buildkite/resource"
11
11
  autoload :Object, "buildkite/object"
12
12
 
13
-
13
+ autoload :AccessTokenResource, "buildkite/resources/access_token"
14
14
  autoload :OrganizationsResource, "buildkite/resources/organizations"
15
+ autoload :PipelinesResource, "buildkite/resources/pipelines"
16
+ autoload :BuildsResource, "buildkite/resources/builds"
17
+ autoload :JobsResource, "buildkite/resources/jobs"
18
+ autoload :AgentsResource, "buildkite/resources/agents"
19
+ autoload :AnnotationsResource, "buildkite/resources/annotations"
20
+ autoload :ArtifactsResource, "buildkite/resources/artifacts"
21
+ autoload :EmojisResource, "buildkite/resources/emojis"
22
+ autoload :UserResource, "buildkite/resources/user"
15
23
 
24
+ autoload :AccessToken, "buildkite/objects/access_token"
16
25
  autoload :Organization, "buildkite/objects/organization"
26
+ autoload :Pipeline, "buildkite/objects/pipeline"
27
+ autoload :Build, "buildkite/objects/build"
28
+ autoload :Job, "buildkite/objects/job"
29
+ autoload :JobLog, "buildkite/objects/job_log"
30
+ autoload :JobEnv, "buildkite/objects/job_env"
31
+ autoload :Agent, "buildkite/objects/agent"
32
+ autoload :Annotation, "buildkite/objects/annotation"
33
+ autoload :Artifact, "buildkite/objects/artifact"
34
+ autoload :ArtifactDownload, "buildkite/objects/artifact_download"
35
+ autoload :Emoji, "buildkite/objects/emoji"
36
+ autoload :User, "buildkite/objects/user"
17
37
 
18
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildkiterb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dean Perry
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-06 00:00:00.000000000 Z
11
+ date: 2023-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -48,9 +48,30 @@ files:
48
48
  - lib/buildkite/collection.rb
49
49
  - lib/buildkite/error.rb
50
50
  - lib/buildkite/object.rb
51
+ - lib/buildkite/objects/access_token.rb
52
+ - lib/buildkite/objects/agent.rb
53
+ - lib/buildkite/objects/annotation.rb
54
+ - lib/buildkite/objects/artifact.rb
55
+ - lib/buildkite/objects/artifact_download.rb
56
+ - lib/buildkite/objects/build.rb
57
+ - lib/buildkite/objects/emoji.rb
58
+ - lib/buildkite/objects/job.rb
59
+ - lib/buildkite/objects/job_env.rb
60
+ - lib/buildkite/objects/job_log.rb
51
61
  - lib/buildkite/objects/organization.rb
62
+ - lib/buildkite/objects/pipeline.rb
63
+ - lib/buildkite/objects/user.rb
52
64
  - lib/buildkite/resource.rb
65
+ - lib/buildkite/resources/access_token.rb
66
+ - lib/buildkite/resources/agents.rb
67
+ - lib/buildkite/resources/annotations.rb
68
+ - lib/buildkite/resources/artifacts.rb
69
+ - lib/buildkite/resources/builds.rb
70
+ - lib/buildkite/resources/emojis.rb
71
+ - lib/buildkite/resources/jobs.rb
53
72
  - lib/buildkite/resources/organizations.rb
73
+ - lib/buildkite/resources/pipelines.rb
74
+ - lib/buildkite/resources/user.rb
54
75
  - lib/buildkite/version.rb
55
76
  - lib/buildkiterb.rb
56
77
  homepage: https://deanpcmad.com