Module: BacklogKit::Client::Project

Included in:
BacklogKit::Client
Defined in:
lib/backlog_kit/client/project.rb

Overview

Methods for the Project API

Instance Method Summary collapse

Instance Method Details

#add_category(project_id_or_key, name) ⇒ BacklogKit::Response

Add a category to a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • name (String)

    Category name

Returns:



171
172
173
# File 'lib/backlog_kit/client/project.rb', line 171

def add_category(project_id_or_key, name)
  post("projects/#{project_id_or_key}/categories", name: name)
end

#add_issue_type(project_id_or_key, name, color) ⇒ BacklogKit::Response

Add an issue type to a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • name (String)

    Issue type name

  • color (String)

    Background color of the issue type

Returns:



134
135
136
# File 'lib/backlog_kit/client/project.rb', line 134

def add_issue_type(project_id_or_key, name, color)
  post("projects/#{project_id_or_key}/issueTypes", name: name, color: color)
end

#add_project_admin_auth(project_id_or_key, user_id) ⇒ BacklogKit::Response

Add Project Administrator role to a user

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • user_id (Integer, String)

    User id

Returns:



107
108
109
# File 'lib/backlog_kit/client/project.rb', line 107

def add_project_admin_auth(project_id_or_key, user_id)
  post("projects/#{project_id_or_key}/administrators", user_id: user_id)
end

#add_project_user(project_id_or_key, user_id) ⇒ BacklogKit::Response

Add a user to a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • user_id (Integer, String)

    User id

Returns:



81
82
83
# File 'lib/backlog_kit/client/project.rb', line 81

def add_project_user(project_id_or_key, user_id)
  post("projects/#{project_id_or_key}/users", user_id: user_id)
end

#add_pull_request_comment(project_id_or_key, repository_id_or_name, pull_request_number, params = {}) ⇒ BacklogKit::Response

Add a comment to a pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



383
384
385
# File 'lib/backlog_kit/client/project.rb', line 383

def add_pull_request_comment(project_id_or_key, repository_id_or_name, pull_request_number, params = {})
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments", params)
end

#add_version(project_id_or_key, name, params = {}) ⇒ BacklogKit::Response

Add a version to a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • name (String)

    Version name

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



208
209
210
211
# File 'lib/backlog_kit/client/project.rb', line 208

def add_version(project_id_or_key, name, params = {})
  params.merge!(name: name)
  post("projects/#{project_id_or_key}/versions", params)
end

#add_webhook(project_id_or_key, name, hook_url, params = {}) ⇒ BacklogKit::Response

Add a webhook to a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • name (String)

    Webhook name

  • hook_url (String)

    Webhook URL

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



283
284
285
286
# File 'lib/backlog_kit/client/project.rb', line 283

def add_webhook(project_id_or_key, name, hook_url, params = {})
  params.merge!(name: name, hook_url: hook_url)
  post("projects/#{project_id_or_key}/webhooks", params)
end

#create_project(key, name, params = {}) ⇒ BacklogKit::Response

Create a new project

Parameters:

  • key (String)

    Project key

  • name (String)

    Project name

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



29
30
31
32
# File 'lib/backlog_kit/client/project.rb', line 29

def create_project(key, name, params = {})
  params.merge!(key: key, name: name)
  post('projects', params)
end

#create_pull_request(project_id_or_key, repository_id_or_name, params = {}) ⇒ BacklogKit::Response

Create a new pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



341
342
343
# File 'lib/backlog_kit/client/project.rb', line 341

def create_pull_request(project_id_or_key, repository_id_or_name, params = {})
  post("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests", params)
end

#delete_project(project_id_or_key) ⇒ BacklogKit::Response

Delete a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



47
48
49
# File 'lib/backlog_kit/client/project.rb', line 47

def delete_project(project_id_or_key)
  delete("projects/#{project_id_or_key}")
end

#download_project_icon(project_id_or_key) ⇒ BacklogKit::Response

Download a project icon image

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



55
56
57
# File 'lib/backlog_kit/client/project.rb', line 55

def download_project_icon(project_id_or_key)
  get("projects/#{project_id_or_key}/image")
end

#download_pull_request_attachment(project_id_or_key, repository_id_or_name, pull_request_number, attachment_id) ⇒ BacklogKit::Response

Download an attachment file on pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

  • attachment_id (Integer, String)

    Attachment file id

Returns:



416
417
418
# File 'lib/backlog_kit/client/project.rb', line 416

def download_pull_request_attachment(project_id_or_key, repository_id_or_name, pull_request_number, attachment_id)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/attachments/#{attachment_id}")
end

#download_shared_file(project_id_or_key, file_id) ⇒ BacklogKit::Response

Download a shared file

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • file_id (Integer, String)

    Shared file id

Returns:



247
248
249
# File 'lib/backlog_kit/client/project.rb', line 247

def download_shared_file(project_id_or_key, file_id)
  get("projects/#{project_id_or_key}/files/#{file_id}")
end

#get_categories(project_id_or_key) ⇒ BacklogKit::Response

Get list of categories

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



162
163
164
# File 'lib/backlog_kit/client/project.rb', line 162

def get_categories(project_id_or_key)
  get("projects/#{project_id_or_key}/categories")
end

#get_issue_types(project_id_or_key) ⇒ BacklogKit::Response

Get list of issue types

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



124
125
126
# File 'lib/backlog_kit/client/project.rb', line 124

def get_issue_types(project_id_or_key)
  get("projects/#{project_id_or_key}/issueTypes")
end

#get_project(project_id_or_key) ⇒ BacklogKit::Response

Get a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



19
20
21
# File 'lib/backlog_kit/client/project.rb', line 19

def get_project(project_id_or_key)
  get("projects/#{project_id_or_key}")
end

#get_project_activities(project_id_or_key, params = {}) ⇒ BacklogKit::Response

Get list of project activities

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



64
65
66
# File 'lib/backlog_kit/client/project.rb', line 64

def get_project_activities(project_id_or_key, params = {})
  get("projects/#{project_id_or_key}/activities", params)
end

#get_project_administrators(project_id_or_key) ⇒ BacklogKit::Response

Get list of users who has Project Administrator role

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



98
99
100
# File 'lib/backlog_kit/client/project.rb', line 98

def get_project_administrators(project_id_or_key)
  get("projects/#{project_id_or_key}/administrators")
end

#get_project_disk_usage(project_id_or_key) ⇒ BacklogKit::Response

Get disk usage

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



255
256
257
# File 'lib/backlog_kit/client/project.rb', line 255

def get_project_disk_usage(project_id_or_key)
  get("projects/#{project_id_or_key}/diskUsage")
end

#get_project_users(project_id_or_key) ⇒ BacklogKit::Response

Get list of project members

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



72
73
74
# File 'lib/backlog_kit/client/project.rb', line 72

def get_project_users(project_id_or_key)
  get("projects/#{project_id_or_key}/users")
end

#get_projects(params = {}) ⇒ BacklogKit::Response

Get list of projects

Parameters:

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



11
12
13
# File 'lib/backlog_kit/client/project.rb', line 11

def get_projects(params = {})
  get('projects', params)
end

#get_pull_request(project_id_or_key, repository_id_or_name, pull_request_number) ⇒ BacklogKit::Response

Get a pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

Returns:



331
332
333
# File 'lib/backlog_kit/client/project.rb', line 331

def get_pull_request(project_id_or_key, repository_id_or_name, pull_request_number)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}")
end

#get_pull_request_attachments(project_id_or_key, repository_id_or_name, pull_request_number) ⇒ BacklogKit::Response

Get list of attachment files on pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

Returns:



405
406
407
# File 'lib/backlog_kit/client/project.rb', line 405

def get_pull_request_attachments(project_id_or_key, repository_id_or_name, pull_request_number)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/attachments")
end

#get_pull_request_comment_count(project_id_or_key, repository_id_or_name, pull_request_number) ⇒ BacklogKit::Response

Get number of comments in pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

Returns:



372
373
374
# File 'lib/backlog_kit/client/project.rb', line 372

def get_pull_request_comment_count(project_id_or_key, repository_id_or_name, pull_request_number)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments/count")
end

#get_pull_request_comments(project_id_or_key, repository_id_or_name, pull_request_number) ⇒ BacklogKit::Response

Get list of comments in pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

Returns:



362
363
364
# File 'lib/backlog_kit/client/project.rb', line 362

def get_pull_request_comments(project_id_or_key, repository_id_or_name, pull_request_number)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments")
end

#get_pull_request_count(project_id_or_key, repository_id_or_name) ⇒ BacklogKit::Response

Get number of pull requests

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

Returns:



321
322
323
# File 'lib/backlog_kit/client/project.rb', line 321

def get_pull_request_count(project_id_or_key, repository_id_or_name)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/count")
end

#get_pull_requests(project_id_or_key, repository_id_or_name) ⇒ BacklogKit::Response

Get list of pull requests

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

Returns:



312
313
314
# File 'lib/backlog_kit/client/project.rb', line 312

def get_pull_requests(project_id_or_key, repository_id_or_name)
  get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests")
end

#get_shared_files(project_id_or_key, directory_path = '', params = {}) ⇒ BacklogKit::Response

Get list of shared files

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • directory_path (String) (defaults to: '')

    Directory path

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



238
239
240
# File 'lib/backlog_kit/client/project.rb', line 238

def get_shared_files(project_id_or_key, directory_path = '', params = {})
  get("projects/#{project_id_or_key}/files/metadata/#{directory_path}", params)
end

#get_versions(project_id_or_key) ⇒ BacklogKit::Response

Get list of versions

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



198
199
200
# File 'lib/backlog_kit/client/project.rb', line 198

def get_versions(project_id_or_key)
  get("projects/#{project_id_or_key}/versions")
end

#get_webhook(project_id_or_key, webhook_id) ⇒ BacklogKit::Response

Get a webhook

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • webhook_id (Integer, String)

    Webhook id

Returns:



272
273
274
# File 'lib/backlog_kit/client/project.rb', line 272

def get_webhook(project_id_or_key, webhook_id)
  get("projects/#{project_id_or_key}/webhooks/#{webhook_id}")
end

#get_webhooks(project_id_or_key) ⇒ BacklogKit::Response

Get list of webhooks

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

Returns:



263
264
265
# File 'lib/backlog_kit/client/project.rb', line 263

def get_webhooks(project_id_or_key)
  get("projects/#{project_id_or_key}/webhooks")
end

#remove_category(project_id_or_key, category_id) ⇒ BacklogKit::Response

Remove a category from project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • category_id (Integer, String)

    Category id

Returns:



190
191
192
# File 'lib/backlog_kit/client/project.rb', line 190

def remove_category(project_id_or_key, category_id)
  delete("projects/#{project_id_or_key}/categories/#{category_id}")
end

#remove_issue_type(project_id_or_key, type_id, substitute_type_id) ⇒ BacklogKit::Response

Remove an issue type from project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • type_id (Integer, String)

    Issue type id

  • substitute_type_id (Integer, String)

    Issue type id to change linked issue

Returns:



154
155
156
# File 'lib/backlog_kit/client/project.rb', line 154

def remove_issue_type(project_id_or_key, type_id, substitute_type_id)
  delete("projects/#{project_id_or_key}/issueTypes/#{type_id}", substitute_issue_type_id: substitute_type_id)
end

#remove_project_admin_auth(project_id_or_key, user_id) ⇒ BacklogKit::Response

Remove Project Administrator role from user

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • user_id (Integer, String)

    User id

Returns:



116
117
118
# File 'lib/backlog_kit/client/project.rb', line 116

def remove_project_admin_auth(project_id_or_key, user_id)
  delete("projects/#{project_id_or_key}/administrators", user_id: user_id)
end

#remove_project_user(project_id_or_key, user_id) ⇒ BacklogKit::Response

Remove a user from project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • user_id (Integer, String)

    User id

Returns:



90
91
92
# File 'lib/backlog_kit/client/project.rb', line 90

def remove_project_user(project_id_or_key, user_id)
  delete("projects/#{project_id_or_key}/users", user_id: user_id)
end

#remove_pull_request_attachment(project_id_or_key, repository_id_or_name, pull_request_number, attachment_id) ⇒ BacklogKit::Response

Remove an attachment file from pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

  • attachment_id (Integer, String)

    Attachment file id

Returns:



427
428
429
# File 'lib/backlog_kit/client/project.rb', line 427

def remove_pull_request_attachment(project_id_or_key, repository_id_or_name, pull_request_number, attachment_id)
  delete("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/attachments/#{attachment_id}")
end

#remove_version(project_id_or_key, version_id) ⇒ BacklogKit::Response

Remove a version from project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • version_id (Integer, String)

    Version id

Returns:



228
229
230
# File 'lib/backlog_kit/client/project.rb', line 228

def remove_version(project_id_or_key, version_id)
  delete("projects/#{project_id_or_key}/versions/#{version_id}")
end

#remove_webhook(project_id_or_key, webhook_id) ⇒ BacklogKit::Response

Remove a webhook from project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • webhook_id (Integer, String)

    Webhook id

Returns:



303
304
305
# File 'lib/backlog_kit/client/project.rb', line 303

def remove_webhook(project_id_or_key, webhook_id)
  delete("projects/#{project_id_or_key}/webhooks/#{webhook_id}")
end

#update_category(project_id_or_key, category_id, name) ⇒ BacklogKit::Response

Update a category

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • category_id (Integer, String)

    Category id

  • name (String)

    Category name

Returns:



181
182
183
# File 'lib/backlog_kit/client/project.rb', line 181

def update_category(project_id_or_key, category_id, name)
  patch("projects/#{project_id_or_key}/categories/#{category_id}", name: name)
end

#update_issue_type(project_id_or_key, type_id, params = {}) ⇒ BacklogKit::Response

Update an issue type

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • type_id (Integer, String)

    Issue type id

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



144
145
146
# File 'lib/backlog_kit/client/project.rb', line 144

def update_issue_type(project_id_or_key, type_id, params = {})
  patch("projects/#{project_id_or_key}/issueTypes/#{type_id}", params)
end

#update_project(project_id_or_key, params = {}) ⇒ BacklogKit::Response

Update a project

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



39
40
41
# File 'lib/backlog_kit/client/project.rb', line 39

def update_project(project_id_or_key, params = {})
  patch("projects/#{project_id_or_key}", params)
end

#update_pull_request(project_id_or_key, repository_id_or_name, pull_request_number, params = {}) ⇒ BacklogKit::Response

Update a pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



352
353
354
# File 'lib/backlog_kit/client/project.rb', line 352

def update_pull_request(project_id_or_key, repository_id_or_name, pull_request_number, params = {})
  patch("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}", params)
end

#update_pull_request_comment(project_id_or_key, repository_id_or_name, pull_request_number, comment_id, content) ⇒ BacklogKit::Response

Update a comment in pull request

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • repository_id_or_name (Integer, String)

    Repository id or repository name

  • pull_request_number (Integer, String)

    Pull request number

  • comment_id (Integer, String)

    Comment id

  • content (String)

    Content of the comment

Returns:



395
396
397
# File 'lib/backlog_kit/client/project.rb', line 395

def update_pull_request_comment(project_id_or_key, repository_id_or_name, pull_request_number, comment_id, content)
  patch("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments/#{comment_id}", content: content)
end

#update_version(project_id_or_key, version_id, params = {}) ⇒ BacklogKit::Response

Update a version

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • version_id (Integer, String)

    Version id

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



219
220
221
# File 'lib/backlog_kit/client/project.rb', line 219

def update_version(project_id_or_key, version_id, params = {})
  patch("projects/#{project_id_or_key}/versions/#{version_id}", params)
end

#update_webhook(project_id_or_key, webhook_id, params = {}) ⇒ BacklogKit::Response

Update a webhook

Parameters:

  • project_id_or_key (Integer, String)

    Project id or project key

  • webhook_id (Integer, String)

    Webhook id

  • params (Hash) (defaults to: {})

    Request parameters

Returns:



294
295
296
# File 'lib/backlog_kit/client/project.rb', line 294

def update_webhook(project_id_or_key, webhook_id, params = {})
  patch("projects/#{project_id_or_key}/webhooks/#{webhook_id}", params)
end