module BacklogKit::Client::Project

Methods for the Project API

Public Instance Methods

add_category(project_id_or_key, name) click to toggle source

Add a category to a project

@param project_id_or_key [Integer, String] Project id or project key @param name [String] Category name @return [BacklogKit::Response] The category information

# File lib/backlog_kit/client/project.rb, line 196
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) click to toggle source

Add an issue type to a project

@param project_id_or_key [Integer, String] Project id or project key @param name [String] Issue type name @param color [String] Background color of the issue type @return [BacklogKit::Response] The issue type information

# File lib/backlog_kit/client/project.rb, line 159
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) click to toggle source

Add Project Administrator role to a user

@param project_id_or_key [Integer, String] Project id or project key @param user_id [Integer, String] User id @return [BacklogKit::Response] The user information

# File lib/backlog_kit/client/project.rb, line 132
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_team(project_id_or_key, team_id) click to toggle source

Add a team to a project

@param project_id_or_key [Integer, String] Project id or project key @param team_id [Integer, String] Team id @return [BacklogKit::Response] The team information

# File lib/backlog_kit/client/project.rb, line 80
def add_project_team(project_id_or_key, team_id)
  post("projects/#{project_id_or_key}/teams", team_id: team_id)
end
add_project_user(project_id_or_key, user_id) click to toggle source

Add a user to a project

@param project_id_or_key [Integer, String] Project id or project key @param user_id [Integer, String] User id @return [BacklogKit::Response] The user information

# File lib/backlog_kit/client/project.rb, line 106
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 = {}) click to toggle source

Add a comment to a pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @param params [Hash] Request parameters @return [BacklogKit::Response] The comment information

# File lib/backlog_kit/client/project.rb, line 409
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 = {}) click to toggle source

Add a version to a project

@param project_id_or_key [Integer, String] Project id or project key @param name [String] Version name @param params [Hash] Request parameters @return [BacklogKit::Response] The version information

# File lib/backlog_kit/client/project.rb, line 233
def add_version(project_id_or_key, name, params = {})
  params[:name] = name
  post("projects/#{project_id_or_key}/versions", params)
end
add_webhook(project_id_or_key, name, hook_url, params = {}) click to toggle source

Add a webhook to a project

@param project_id_or_key [Integer, String] Project id or project key @param name [String] Webhook name @param hook_url [String] Webhook URL @param params [Hash] Request parameters @return [BacklogKit::Response] The webhook information

# File lib/backlog_kit/client/project.rb, line 308
def add_webhook(project_id_or_key, name, hook_url, params = {})
  params[:name] = name
  params[:hook_url] = hook_url
  post("projects/#{project_id_or_key}/webhooks", params)
end
create_project(key, name, params = {}) click to toggle source

Create a new project

@param key [String] Project key @param name [String] Project name @param params [Hash] Request parameters @return [BacklogKit::Response] The project information

# File lib/backlog_kit/client/project.rb, line 27
def create_project(key, name, params = {})
  params[:key] = key
  params[:name] = name
  post('projects', params)
end
create_pull_request(project_id_or_key, repository_id_or_name, params = {}) click to toggle source

Create a new pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param params [Hash] Request parameters @return [BacklogKit::Response] The pull request information

# File lib/backlog_kit/client/project.rb, line 367
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) click to toggle source

Delete a project

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] The project information

# File lib/backlog_kit/client/project.rb, line 46
def delete_project(project_id_or_key)
  delete("projects/#{project_id_or_key}")
end
download_project_icon(project_id_or_key) click to toggle source

Download a project icon image

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] Binary image data

# File lib/backlog_kit/client/project.rb, line 54
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) click to toggle source

Download an attachment file on pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @param attachment_id [Integer, String] Attachment file id @return [BacklogKit::Response] Binary data

# File lib/backlog_kit/client/project.rb, line 442
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) click to toggle source

Download a shared file

@param project_id_or_key [Integer, String] Project id or project key @param file_id [Integer, String] Shared file id @return [BacklogKit::Response] Binary data

# File lib/backlog_kit/client/project.rb, line 272
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) click to toggle source

Get list of categories

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of categories

# File lib/backlog_kit/client/project.rb, line 187
def get_categories(project_id_or_key)
  get("projects/#{project_id_or_key}/categories")
end
get_issue_types(project_id_or_key) click to toggle source

Get list of issue types

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of issue types

# File lib/backlog_kit/client/project.rb, line 149
def get_issue_types(project_id_or_key)
  get("projects/#{project_id_or_key}/issueTypes")
end
get_project(project_id_or_key) click to toggle source

Get a project

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] The project information

# File lib/backlog_kit/client/project.rb, line 17
def get_project(project_id_or_key)
  get("projects/#{project_id_or_key}")
end
get_project_activities(project_id_or_key, params = {}) click to toggle source

Get list of project activities

@param project_id_or_key [Integer, String] Project id or project key @param params [Hash] Request parameters @return [BacklogKit::Response] List of recent updates in the project

# File lib/backlog_kit/client/project.rb, line 63
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) click to toggle source

Get list of users who has Project Administrator role

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of users

# File lib/backlog_kit/client/project.rb, line 123
def get_project_administrators(project_id_or_key)
  get("projects/#{project_id_or_key}/administrators")
end
get_project_disk_usage(project_id_or_key) click to toggle source

Get disk usage

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] The disk usage information

# File lib/backlog_kit/client/project.rb, line 280
def get_project_disk_usage(project_id_or_key)
  get("projects/#{project_id_or_key}/diskUsage")
end
get_project_teams(project_id_or_key) click to toggle source

Get list of project teams

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of teams

# File lib/backlog_kit/client/project.rb, line 71
def get_project_teams(project_id_or_key)
  get("projects/#{project_id_or_key}/teams")
end
get_project_users(project_id_or_key) click to toggle source

Get list of project members

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of users

# File lib/backlog_kit/client/project.rb, line 97
def get_project_users(project_id_or_key)
  get("projects/#{project_id_or_key}/users")
end
get_projects(params = {}) click to toggle source

Get list of projects

@param params [Hash] Request parameters @return [BacklogKit::Response] List of projects

# File lib/backlog_kit/client/project.rb, line 9
def get_projects(params = {})
  get('projects', params)
end
get_pull_request(project_id_or_key, repository_id_or_name, pull_request_number) click to toggle source

Get a pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @return [BacklogKit::Response] The pull request information

# File lib/backlog_kit/client/project.rb, line 357
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) click to toggle source

Get list of attachment files on pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @return [BacklogKit::Response] List of files

# File lib/backlog_kit/client/project.rb, line 431
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) click to toggle source

Get number of comments in pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @return [BacklogKit::Response] Number of comments

# File lib/backlog_kit/client/project.rb, line 398
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) click to toggle source

Get list of comments in pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @return [BacklogKit::Response] List of comments

# File lib/backlog_kit/client/project.rb, line 388
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) click to toggle source

Get number of pull requests

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @return [BacklogKit::Response] Number of pull requests

# File lib/backlog_kit/client/project.rb, line 347
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) click to toggle source

Get list of pull requests

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @return [BacklogKit::Response] List of pull requests

# File lib/backlog_kit/client/project.rb, line 338
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 = {}) click to toggle source

Get list of shared files

@param project_id_or_key [Integer, String] Project id or project key @param directory_path [String] Directory path @param params [Hash] Request parameters @return [BacklogKit::Response] List of files

# File lib/backlog_kit/client/project.rb, line 263
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) click to toggle source

Get list of versions

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of versions

# File lib/backlog_kit/client/project.rb, line 223
def get_versions(project_id_or_key)
  get("projects/#{project_id_or_key}/versions")
end
get_webhook(project_id_or_key, webhook_id) click to toggle source

Get a webhook

@param project_id_or_key [Integer, String] Project id or project key @param webhook_id [Integer, String] Webhook id @return [BacklogKit::Response] The webhook information

# File lib/backlog_kit/client/project.rb, line 297
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) click to toggle source

Get list of webhooks

@param project_id_or_key [Integer, String] Project id or project key @return [BacklogKit::Response] List of webhooks

# File lib/backlog_kit/client/project.rb, line 288
def get_webhooks(project_id_or_key)
  get("projects/#{project_id_or_key}/webhooks")
end
remove_category(project_id_or_key, category_id) click to toggle source

Remove a category from project

@param project_id_or_key [Integer, String] Project id or project key @param category_id [Integer, String] Category id @return [BacklogKit::Response] The category information

# File lib/backlog_kit/client/project.rb, line 215
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) click to toggle source

Remove an issue type from project

@param project_id_or_key [Integer, String] Project id or project key @param type_id [Integer, String] Issue type id @param substitute_type_id [Integer, String] Issue type id to change linked issue @return [BacklogKit::Response] The issue type information

# File lib/backlog_kit/client/project.rb, line 179
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) click to toggle source

Remove Project Administrator role from user

@param project_id_or_key [Integer, String] Project id or project key @param user_id [Integer, String] User id @return [BacklogKit::Response] The user information

# File lib/backlog_kit/client/project.rb, line 141
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_team(project_id_or_key, team_id) click to toggle source

Remove a team from project

@param project_id_or_key [Integer, String] Project id or project key @param team_id [Integer, String] Team id @return [BacklogKit::Response] The team information

# File lib/backlog_kit/client/project.rb, line 89
def remove_project_team(project_id_or_key, team_id)
  delete("projects/#{project_id_or_key}/teams", team_id: team_id)
end
remove_project_user(project_id_or_key, user_id) click to toggle source

Remove a user from project

@param project_id_or_key [Integer, String] Project id or project key @param user_id [Integer, String] User id @return [BacklogKit::Response] The user information

# File lib/backlog_kit/client/project.rb, line 115
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) click to toggle source

Remove an attachment file from pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @param attachment_id [Integer, String] Attachment file id @return [BacklogKit::Response] The pull request information

# File lib/backlog_kit/client/project.rb, line 453
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) click to toggle source

Remove a version from project

@param project_id_or_key [Integer, String] Project id or project key @param version_id [Integer, String] Version id @return [BacklogKit::Response] The version information

# File lib/backlog_kit/client/project.rb, line 253
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) click to toggle source

Remove a webhook from project

@param project_id_or_key [Integer, String] Project id or project key @param webhook_id [Integer, String] Webhook id @return [BacklogKit::Response] The webhook information

# File lib/backlog_kit/client/project.rb, line 329
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) click to toggle source

Update a category

@param project_id_or_key [Integer, String] Project id or project key @param category_id [Integer, String] Category id @param name [String] Category name @return [BacklogKit::Response] The category information

# File lib/backlog_kit/client/project.rb, line 206
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 = {}) click to toggle source

Update an issue type

@param project_id_or_key [Integer, String] Project id or project key @param type_id [Integer, String] Issue type id @param params [Hash] Request parameters @return [BacklogKit::Response] The issue type information

# File lib/backlog_kit/client/project.rb, line 169
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 = {}) click to toggle source

Update a project

@param project_id_or_key [Integer, String] Project id or project key @param params [Hash] Request parameters @return [BacklogKit::Response] The project information

# File lib/backlog_kit/client/project.rb, line 38
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 = {}) click to toggle source

Update a pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @param params [Hash] Request parameters @return [BacklogKit::Response] The pull request information

# File lib/backlog_kit/client/project.rb, line 378
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) click to toggle source

Update a comment in pull request

@param project_id_or_key [Integer, String] Project id or project key @param repository_id_or_name [Integer, String] Repository id or repository name @param pull_request_number [Integer, String] Pull request number @param comment_id [Integer, String] Comment id @param content [String] Content of the comment @return [BacklogKit::Response] The comment information

# File lib/backlog_kit/client/project.rb, line 421
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 = {}) click to toggle source

Update a version

@param project_id_or_key [Integer, String] Project id or project key @param version_id [Integer, String] Version id @param params [Hash] Request parameters @return [BacklogKit::Response] The version information

# File lib/backlog_kit/client/project.rb, line 244
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 = {}) click to toggle source

Update a webhook

@param project_id_or_key [Integer, String] Project id or project key @param webhook_id [Integer, String] Webhook id @param params [Hash] Request parameters @return [BacklogKit::Response] The webhook information

# File lib/backlog_kit/client/project.rb, line 320
def update_webhook(project_id_or_key, webhook_id, params = {})
  patch("projects/#{project_id_or_key}/webhooks/#{webhook_id}", params)
end