Overview
Welcome to the Bugasura API! You can use our API to access Bugasura API endpoints, which can get information on various features exposed by the Bugasura product.
We have language bindings in Shell, PHP! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
The below diagram pictorially depicts how each of the endpoint modules is connected and also summarizes the Bugasura API documentation page.
Authentication
The Bugasura API uses API keys to authenticate requests. You can view your API key in the your profile dashboard. We require you to sign up to obtain your API key in order use it in the API endpoints. You can get your API key from here.
We have merged both the API keys and Basic Auth authorization methods. We have placed an API Key in the request header.
Your API keys carry many privileges, so be sure to keep them secure! Do not share your API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic Auth API key value. You do not need to provide either username or password.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Users
users/signup
curl -X POST \
-H 'Accept: application/json' \
-d 'email=anbu123@gmail.com&password=uye#12&first_name=anbarasu&last_name=s' \
https://api.bugasura.io/users/signup
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/users/signup');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'email=anbu123@gmail.com&password=uye#12&first_name=anbarasu&last_name=s');
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
}
data = 'email=anbu123@gmail.com&password=uye#12&first_name=anbarasu&last_name=s'
response = requests.post('https://api.bugasura.io/users/signup', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/users/signup");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("email=anbu123@gmail.com&password=uye#12&first_name=anbarasu&last_name=s");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/users/signup', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'email=anbu123@gmail.com&password=uye#12&first_name=anbarasu&last_name=s'
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/users/signup")
request = Net::HTTP::Post.new(uri)
request["Accept"] = "application/json"
request.set_form_data(
"email" => "anbu123@gmail.com",
"first_name" => "anbarasu",
"last_name" => "s",
"password" => "uye#12",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Signed up successfully",
"user_details": {
"user_id": 16247,
"email_id": "anbu123@gmail.com",
"first_name": "anbarasu",
"last_name": "s",
"api_key": "<Your API_KEY goes here>"
}
}
Sign up to Bugasura for the given email-id and password.
HTTP Request
POST https://api.bugasura.io/users/signup
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
email* | String | Email-id of the user. | |
password* | String | Password for the user. | |
first_name | String | First name of the user. | |
last_name | String | Last name of the user. |
users/get
curl -X GET \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
https://api.bugasura.io/users/get
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/users/get');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
response = requests.get('https://api.bugasura.io/users/get', headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/users/get");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/users/get', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/users/get")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Users retrieved successfully.",
"user_details": {
"user_id": 16247,
"first_name": "John",
"last_name": "S",
"email_id": "john.s@gmail.com",
"plan": "PRO",
"created_date": "2019-03-07 12:54:54",
"team_details": [
{
"team_id": 30321,
"team_name": "My Projects",
"owner_id": 16247,
"owner_name": "John S",
"owner_email_id": "john.s@gmail.com",
"plan": "PRO",
"subscription_end_date": "2031-10-25 23:59:59",
"subscription_frequency": "YEARLY"
},
{
"team_id": 37064,
"team_name": "product_team",
"owner_id": 10642,
"owner_name": "Alex T",
"owner_email_id": "alex.t@gmail.com",
"plan": "PRO",
"subscription_end_date": "2031-10-25 23:59:59",
"subscription_frequency": "YEARLY"
}
]
}
}
Get the user details of the authorized user. It also lists the details of the team in which the user is a member of the team.
HTTP Request
GET https://api.bugasura.io/users/get
Query Parameters
None*
users/update
curl -X POST \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
-d 'password=uye#12&first_name=anbu&last_name=s' \
https://api.bugasura.io/users/update
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/users/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'password=uye#12&first_name=anbu&last_name=s');
$response = curl_exec($ch);
curl_close($ch);
?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
}
data = 'password=uye#12&first_name=anbu&last_name=s'
response = requests.post('https://api.bugasura.io/users/update', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/users/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("password=uye#12&first_name=anbu&last_name=s");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/users/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'password=uye#12&first_name=anbu&last_name=s'
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/users/update")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"first_name" => "anbu",
"last_name" => "s",
"password" => "uye#12",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "User profile updated successfully"
}
Update the profile details of the authorized user.
HTTP Request
POST https://api.bugasura.io/users/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
password | String | New password for the user. | |
first_name | String | First name of the user. | |
last_name | String | Last name of the user. |
Teams
teams/list
curl -H 'Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io/teams/list?get_invite_accepted_teams_only=1&start_at=0&max_results=10'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teams/list?get_invite_accepted_teams_only=1&start_at=0&max_results=10');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'Accept': 'application/json',
}
params = {
'get_invite_accepted_teams_only': '1',
'start_at': '0',
'max_results': '10',
}
response = requests.get('https://api.bugasura.io/teams/list', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teams/list?get_invite_accepted_teams_only=1&start_at=0&max_results=10");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teams/list?get_invite_accepted_teams_only=1&start_at=0&max_results=10', {
headers: {
'Authorization': 'Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teams/list?get_invite_accepted_teams_only=1&start_at=0&max_results=10")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Team list fetched successfully",
"team_list": [
{
"team_id": 30321,
"team_name": "My Projects",
"owner_name": "John S",
"owner_email_id": "john.s@gmail.com",
"is_owner": 1,
"is_admin": 1,
"is_invitation_accepted": 1,
"team_members_count": 5,
"plan": "PRO",
"subscription_end_date": "2031-10-25 23:59:59",
"subscription_frequency": "YEARLY",
"licences_allocated": "15",
"licences_available": "6",
"standard_status_list": "[{\"name\":\"New\",\"type\":\"new\",\"color\":\"#1ab651\",\"order\":1,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"To DO\",\"type\":\"new\",\"color\":\"#00C39E\",\"order\":2,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"In Progress\",\"color\":\"#f9af2d\",\"type\":\"in-progress\",\"order\":3,\"github_magic_words\":\"\",\"github_actions\":\"New Branch,New Pull Request,Merge Request\",\"assignee_ids\":\"\"},{\"name\":\"Fixed\",\"type\":\"in-progress\",\"color\":\"#3e60df\",\"order\":4,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Not Fixed\",\"type\":\"in-progress\",\"color\":\"#905fec\",\"order\":5,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Released\",\"type\":\"in-progress\",\"color\":\"#0091ff\",\"order\":6,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"In Review\",\"type\":\"in-progress\",\"color\":\"#FFC668\",\"order\":7,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Cancelled\",\"type\":\"closed\",\"color\":\"#979797\",\"order\":8,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Closed\",\"type\":\"closed\",\"color\":\"#2c2c2c\",\"order\":9,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"}]"
},
{
"team_id": 36806,
"team_name": "Product Team",
"owner_name": "Alex T",
"owner_email_id": "alex.t@gmail.com",
"is_owner": 0,
"is_admin": 0,
"is_invitation_accepted": 1,
"team_members_count": 3,
"plan": "PRO",
"subscription_end_date": "2031-10-25 23:59:59",
"subscription_frequency": "MONTHLY",
"licences_allocated": "10",
"licences_available": "4",
"standard_status_list": "[{\"name\":\"New\",\"type\":\"new\",\"color\":\"#1ab651\",\"order\":1,\"github_actions\":\"New Branch,Merge Request\",\"github_magic_words\":\"New,Re-open\"},{\"name\":\"In Progress\",\"type\":\"in-progress\",\"color\":\"#f9af2d\",\"order\":2,\"github_actions\":\"\",\"github_magic_words\":\"Picked,In Progress\"},{\"name\":\"Fixed\",\"type\":\"in-progress\",\"color\":\"#3e60df\",\"order\":3,\"github_actions\":\"\",\"github_magic_words\":\"Fixed,Done\"},{\"name\":\"Not Fixed\",\"type\":\"in-progress\",\"color\":\"#905fec\",\"order\":4,\"github_actions\":\"\",\"github_magic_words\":\"Not Fixed,Not Done\"},{\"name\":\"Released\",\"type\":\"in-progress\",\"color\":\"#0091ff\",\"order\":5,\"github_actions\":\"\",\"github_magic_words\":\"Released\"},{\"name\":\"Cancelled\",\"type\":\"closed\",\"color\":\"#979797\",\"order\":6,\"github_actions\":\"\",\"github_magic_words\":\"Cancelled,Not required,Not an issue,Invalid\"},{\"name\":\"Closed\",\"type\":\"closed\",\"color\":\"#2c2c2c\",\"order\":7,\"github_actions\":\"\",\"github_magic_words\":\"Closed,Completed\"}]"
}
"nrows": 2,
"total_rows": 2,
"start_at": 0,
"max_results": 10
}
This endpoint gets the list of team details.
HTTP Request
GET https://api.bugasura.io/teams/list
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
get_invite_accepted_teams_only | Integer | 1 | Pass 1 to get the list of team details of which the team invitation is accepted. Else 0 to get both the accepted and invited team details. |
start_at | Integer | 0 | The index of the first item to return in a page of results. |
max_results | Integer | 10 | The maximum number of items to return per page. Max value is 100. |
teams/get
curl -X GET \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
https://api.bugasura.io/teams/get?team_id=37064
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teams/get?team_id=37064');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '37064',
}
response = requests.get('https://api.bugasura.io/teams/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teams/get?team_id=37064");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teams/get?team_id=37064', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teams/get?team_id=37064")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Team details fetched successfully",
"team_details": {
"team_id": 37064,
"team_name": "product_team",
"owner_name": "Anbu S",
"owner_email_id": "anbu123@gmail.com",
"is_owner": 1,
"is_admin": 1,
"is_invitation_accepted": 1,
"team_members_count": 3,
"plan": "PRO",
"subscription_end_date": "2031-10-25 23:59:59",
"subscription_frequency": "YEARLY",
"licences_allocated": "15",
"licences_available": "11",
"standard_status_list": "[{\"name\":\"New\",\"type\":\"new\",\"color\":\"#1ab651\",\"order\":1,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"To DO\",\"type\":\"new\",\"color\":\"#00C39E\",\"order\":2,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"In Progress\",\"color\":\"#f9af2d\",\"type\":\"in-progress\",\"order\":3,\"github_magic_words\":\"\",\"github_actions\":\"New Branch,New Pull Request,Merge Request\",\"assignee_ids\":\"\"},{\"name\":\"Fixed\",\"type\":\"in-progress\",\"color\":\"#3e60df\",\"order\":4,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Not Fixed\",\"type\":\"in-progress\",\"color\":\"#905fec\",\"order\":5,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Released\",\"type\":\"in-progress\",\"color\":\"#0091ff\",\"order\":6,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"In Review\",\"type\":\"in-progress\",\"color\":\"#FFC668\",\"order\":7,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Cancelled\",\"type\":\"closed\",\"color\":\"#979797\",\"order\":8,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"},{\"name\":\"Closed\",\"type\":\"closed\",\"color\":\"#2c2c2c\",\"order\":9,\"github_actions\":\"\",\"github_magic_words\":\"\",\"assignee_ids\":\"\"}]"
}
}
This API endpoint gets the details for the given team id.
HTTP Request
GET https://api.bugasura.io/teams/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team for which the details need to be obtained. |
teams/add
curl -X POST \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-d 'team_name=product_team' \
https://api.bugasura.io/teams/add
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teams/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'team_name=product_team');
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
data = {
'team_name': 'product_team',
}
response = requests.post('https://api.bugasura.io/teams/add', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teams/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("team_name=product_team");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teams/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: new URLSearchParams({
'team_name': 'product_team'
})
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teams/add")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"team_name" => "product_team",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
[
{
"status": "OK",
"message": "Woohoo! You have created a new team!",
"team_id": 37064,
"team_name": "product_team"
}
]
The API will allow you to create a team with the name of your choice.
HTTP Request
POST https://api.bugasura.io/teams/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_name* | String | Name of your team that you want to create. |
teams/update
curl -X POST \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
-d 'team_id=37064&team_name=developer_team' \
https://api.bugasura.io/teams/update
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teams/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'team_id=37064&team_name=developer_team');
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
data = {
'team_id': '37064',
'team_name': 'developer_team',
}
response = requests.post('https://api.bugasura.io/teams/update', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teams/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("team_id=37064&team_name=developer_team");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teams/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: new URLSearchParams({
'team_id': '37064',
'team_name': 'developer_team'
})
});
require 'net/http'
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teams/update")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"team_id" => "37064",
"team_name" => "developer_team",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Team details updated successfully."
}
This API endpoint will allow you to update the name of the team.
HTTP Request
POST https://api.bugasura.io/teams/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team for which the name needs to be updated. | |
team_name* | String | New name for the team. |
teams/delete
curl -X POST \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
-d 'team_id=37064' \
https://api.bugasura.io/teams/delete
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teams/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'team_id=37064');
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
data = {
'team_id': '37064',
}
response = requests.post('https://api.bugasura.io/teams/delete', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teams/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("team_id=37064");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teams/delete', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: new URLSearchParams({
'team_id': '37064'
})
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teams/delete")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"team_id" => "37064",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "developer_team has been removed"
}
This API endpoint will allows the team admin to delete a given team.
HTTP Request
POST https://api.bugasura.io/teams/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team which needs to be deleted. |
Team Users
teamUsers/get
curl -X GET \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
https://api.bugasura.io/teamUsers/get?team_id=37064
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teamUsers/get?team_id=37064');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '37064',
}
response = requests.get('https://api.bugasura.io/teamUsers/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teamUsers/get?team_id=37064");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teamUsers/get?team_id=37064', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teamUsers/get?team_id=37064")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status":"OK",
"message":"Team users details fetched successfully",
"team_users_details":[
{
"user_id":16247,
"email_id":"john.s@gmail.com",
"name":"John S",
"team_name":"product_team",
"plan":"PRO",
"is_owner":1,
"is_admin":1,
"account_active":1
"is_invitation_accepted":1
},
{
"user_id":16248,
"email_id":"alex.t@gmail.com",
"name":"Alex T",
"team_name":"product_team",
"plan":"FREE",
"is_owner":0,
"is_admin":0,
"account_active":1
"is_invitation_accepted":0
}
]
}
This API endpoint will list all the users for a given team.
HTTP Request
GET https://api.bugasura.io/teamUsers/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the users needs to be listed. |
teamUsers/add
curl -X POST \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
-d 'team_id=37065,&email_id=anbu432@gmail.com' \
https://api.bugasura.io/teamUsers/add
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teamUsers/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'team_id=37065,&email_id=anbu432@gmail.com');
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
}
data = 'team_id=37065,&email_id=anbu432@gmail.com'
response = requests.post('https://api.bugasura.io/teamUsers/add', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teamUsers/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("team_id=37065,&email_id=anbu432@gmail.com");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teamUsers/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'team_id=37065,&email_id=anbu432@gmail.com'
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teamUsers/add")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"email_id" => "anbu432@gmail.com",
"team_id" => "37065,",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Invitation has been sent.",
"team_count_details": {
"licences_allocated": "10",
"licences_available": 8
},
"added_team_users_details": [
{
"user_id": 16248,
"email_id": "anbu432@gmail.com",
"name": "Anbu432 "
}
]
}
This API endpoint will invite user to given team.
HTTP Request
POST https://api.bugasura.io/teamUsers/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team for which the user needs to be invited. | |
email_id* | String | List of user's email ids to be invited. Each email id should be separated by a comma. |
teamUsers/update
curl -X POST \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
-d 'team_id=37062&user_id=16247&is_admin=1' \
https://api.bugasura.io/teamUsers/update
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teamUsers/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'team_id=37062&user_id=16247&is_admin=1');
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
data = {
'team_id': '37062',
'user_id': '16247',
'is_admin': '1',
}
response = requests.post('https://api.bugasura.io/teamUsers/update', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teamUsers/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("team_id=37062&user_id=16247&is_admin=1");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teamUsers/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: new URLSearchParams({
'team_id': '37062',
'user_id': '16247',
'is_admin': '1'
})
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teamUsers/update")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"is_admin" => "1",
"team_id" => "37062",
"user_id" => "16247",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Team users details updated successfully."
}
This API endpoint will allow the team admins to update the given team user as an admin or not.
HTTP Request
POST https://api.bugasura.io/teamUsers/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team for which the user needs to be updated. | |
user_id* | Integer | The ID of the user to be updated. | |
is_admin* | Integer | Pass 1 to make a user admin and 0 to make a user non-admin. |
teamUsers/delete
curl -X POST \
-H "Authorization: Basic <Your API_KEY goes here>" \
-H 'Accept: application/json' \
-d 'team_id=37064&user_id=16248' \
https://api.bugasura.io/teamUsers/delete
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/teamUsers/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
'Content-Type' => 'application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'team_id=37064&user_id=16248');
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
data = {
'team_id': '37064',
'user_id': '16248',
}
response = requests.post('https://api.bugasura.io/teamUsers/delete', headers=headers, data=data)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/teamUsers/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("team_id=37064&user_id=16248");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/teamUsers/delete', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: new URLSearchParams({
'team_id': '37064',
'user_id': '16248'
})
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/teamUsers/delete")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
"team_id" => "37064",
"user_id" => "16248",
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "The user has been removed.",
"team_count_details": {
"licences_allocated": "10",
"licences_available": 8
}
}
This API endpoint will allow the user to leave a team and team admin to remove the given user from a team.
HTTP Request
POST https://api.bugasura.io/teamUsers/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team from which the user needs to be removed. | |
user_id* | Integer | The ID of the user which need to be removed. |
Projects
projects/list
curl -L -X GET 'https://api.bugasura.io/projects/list?team_id=36917&platform_type=Web&platform=Desktop' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/projects/list?team_id=36917&platform_type=Web&platform=Desktop');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '36917',
'platform_type': 'Web',
'platform': 'Desktop',
}
response = requests.get('https://api.bugasura.io/projects/list', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/projects/list?team_id=36917&platform_type=Web&platform=Desktop");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/projects/list?team_id=36917&platform_type=Web&platform=Desktop', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/projects/list?team_id=36917&platform_type=Web&platform=Desktop")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Project list fetched successfully",
"project_list": [
{
"project_id": 53307,
"project_name": "My project Bugasura",
"issue_prefix": "MYB",
"platform_type": "Web",
"platform": "Desktop",
"public_link_url": null,
"team_id": 36918,
"team_name": "Team Bugasura",
"status": "ACTIVE"
},
{
"project_id": 53307,
"project_name": "My project Bugasura Web",
"issue_prefix": "MYFW",
"platform_type": "Web",
"platform": "Desktop",
"public_link_url": null,
"team_id": 36918,
"team_name": "Team Bugasura",
"status": "ACTIVE"
},
{
"project_id": 53307,
"project_name": "My project Bugasura App",
"issue_prefix": "MYFA",
"platform_type": "Web",
"platform": "Desktop",
"public_link_url": null,
"team_id": 36918,
"team_name": "Team Bugasura",
"status": "ARCHIVE"
}
],
"nrows": 3,
"total_rows": 3,
"start_at": 0,
"max_results": 10
}
This API end point will list all the projects for a given team and the query parameters.
HTTP Request
GET https://api.bugasura.io/projects/list
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the projects need to be listed. | |
search_text | String | A string to match (case-insensitive) against the project name. | |
start_at | Integer | The index of the first item to return in a page of results. | |
max_results | Integer | The maximum number of items to return per page. Max value is 100. | |
platform | String | Platform of the project like ('iOS','Android','Desktop','API','Multiple'). | |
platform_type | String | Platform type of the project like ('Apps','Mobileweb','Web','API','Multiple'). | |
status | String | Project status which can be either ACTIVE or ARCHIVE. |
projects/get
curl -L -X GET 'https://api.bugasura.io/projects/get?team_id=36917' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/projects/get?team_id=36917');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '36917',
}
response = requests.get('https://api.bugasura.io/projects/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/projects/get?team_id=36917");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/projects/get?team_id=36917', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/projects/get?team_id=36917")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Project details fetched Successfully",
"projectDetails": [
{
"project_id": 53307,
"project_name": "My project Bugasura",
"issue_prefix": "MYB",
"platform_type": "Web",
"platform": "Desktop",
"public_link_url": null,
"team_id": 36918,
"team_name": "Team Bugasura",
"status": "ACTIVE",
"custom_fields": [
{
"field_id": 134,
"field_name": "user name"
}
]
}
]
}
This API end point will get the project details for a given team and the project.
HTTP Request
GET https://api.bugasura.io/projects/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the project details need to be obtained. | |
project_id* | Integer | ID of the project for which the details need to be obtained. |
projects/add
curl -L -X POST 'https://api.bugasura.io/projects/add' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'project_name="My first Project"' \
-F 'team_id="36917"' \
-F 'platform_type="Web"' \
-F 'platform="Desktop"'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/projects/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'project_name' => '"My first Project"',
'team_id' => '"36917"',
'platform_type' => '"Web"',
'platform' => '"Desktop"',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'project_name': (None, '"My first Project"'),
'team_id': (None, '"36917"'),
'platform_type': (None, '"Web"'),
'platform': (None, '"Desktop"'),
}
response = requests.post('https://api.bugasura.io/projects/add', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/projects/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());
writer.write("project_name=my project&team_id=36913&is_public_issues=&is_public_project=&public_project_link=&platform_type=Web&platform=Desktop");
writer.flush();
writer.close();
httpConn.getOutputStream().close();
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('project_name', '"My first Project"');
form.append('team_id', '"36917"');
form.append('platform_type', '"Web"');
form.append('platform', '"Desktop"');
fetch('https://api.bugasura.io/projects/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/projects/add")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
form_data = [['project_name', 'My first Project'],['team_id', '36917'],['platform_type', 'Web'],['platform', 'Desktop']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Project created successfully",
"team_id": "36917",
"project_id": 53275,
"project_name": "My first Project",
"platform": "Desktop",
"platform_type": "Web",
"default_sprint": {
"sprint_name": "My First Sprint",
"sprint_id": 61446
}
}
This API endpoint will create a project in a given team.
HTTP Request
POST https://api.bugasura.io/projects/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team in which the project needs to be created. | |
project_name* | String | Name of your project that you want to create. | |
platform | String | Multiple | Platform of the project like ('iOS','Android','Desktop','API','Multiple'). |
platform_type | String | Multiple | Platform type of the project like ('Apps','Mobileweb','Web','API','Multiple'). |
is_public_project | Integer | 0 | By default project will be Private. Pass 1 to make a project Public. |
is_public_issues | Integer | 0 | By default all the issues created in a public project will be Private. Pass 1 to make all the issues in a public project Public. This parameter will not be effective for the Private project. |
clean_public_project_name | String | Clean public project name without any special characters. This parameter is unique across Bugasura platform. This parameter will not be effective for the Private project. |
projects/update
curl -L -X POST 'https://api.bugasura.io/projects/update' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id="36917"' \
-F 'project_id="53288"' \
-F 'issue_prefix="SDSWS"' \
-F 'project_name="My project Name"' \
-F 'clean_public_project_name="My_project_Name"' \
-F 'is_public_project="1"' \
-F 'is_public_issues="1"'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/projects/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '"36917"',
'project_id' => '"53288"',
'issue_prefix' => '"SDSWS"',
'project_name' => '"My project Name"',
'clean_public_project_name' => '"My_project_Name"',
'is_public_project' => '"1"',
'is_public_issues' => '"1"',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '"36917"'),
'project_id': (None, '"53288"'),
'issue_prefix': (None, '"SDSWS"'),
'project_name': (None, '"My project Name"'),
'clean_public_project_name': (None, '"My_project_Name"'),
'is_public_project': (None, '"1"'),
'is_public_issues': (None, '"1"'),
}
response = requests.post('https://api.bugasura.io/projects/update', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/projects/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '"36917"');
form.append('project_id', '"53288"');
form.append('issue_prefix', '"SDSWS"');
form.append('project_name', '"My project Name"');
form.append('clean_public_project_name', '"My_project_Name"');
form.append('is_public_project', '"1"');
form.append('is_public_issues', '"1"');
fetch('https://api.bugasura.io/projects/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/projects/update")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
form_data = [['team_id', '36917'],['project_id', '53288'],['issue_prefix', 'SDSWS'],['project_name', 'My project Name'],['clean_public_project_name', 'ererwrwerewr'],['is_public_project', '1'],['is_public_issues', '1']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Project details updated successfully"
}
This API endpoint will allow the team admins to update the project details.
HTTP Request
POST https://api.bugasura.io/projects/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team in which the project needs to be updated. | |
project_id* | Integer | ID of the project which needs to be updated. | |
project_name | String | New name for the project. | |
issue_prefix | String | New issue prefix for the issues in the project. | |
is_public_project | Integer | Pass 0 to make a project Private. Pass 1 to make a project Public. | |
is_public_issues | Integer | Pass 0 to make all the issues created Private in a public project. Pass 1 to make all the issues created Public in a public project. This parameter will not be effective for the Private project. | |
clean_public_project_name | String | New clean public project name without any special characters. This parameter is unique across Bugasura platform. This parameter will not be effective for the Private project. |
Note: All the update field parameters cannot be empty. Only include the parameters which you want to update.
projects/delete
curl -L -X POST 'https://api.bugasura.io/projects/delete' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'project_id="53288"' \
-F 'team_id="36917"'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/projects/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'project_id' => '"53288"',
'team_id' => '"36917"',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'project_id': (None, '"53288"'),
'team_id': (None, '"36917"'),
}
response = requests.post('https://api.bugasura.io/projects/delete', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/projects/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('project_id', '"53288"');
form.append('team_id', '"36917"');
fetch('https://api.bugasura.io/projects/delete', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/projects/delete")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
form_data = [['project_id', '53288'],['team_id', '36917']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Project deleted successfully."
}
This API endpoint will allow a team admin to delete the project from a team.
HTTP Request
POST https://api.bugasura.io/projects/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team from which the project needs to be deleted. | |
project_id* | Integer | The ID of the project which needs to be deleted. |
Sprints
sprints/list
curl -L -X GET 'https://api.bugasura.io/sprints/list?project_id=53289&team_id=36917&search_text=&start_at=&max_results=' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/sprints/list?project_id=53289&team_id=36917&search_text=&start_at=&max_results=');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'project_id': '53289',
'team_id': '36917',
'search_text': '',
'start_at': '',
'max_results': '',
}
response = requests.get('https://api.bugasura.io/sprints/list', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/sprints/list?project_id=53289&team_id=36917&search_text=&start_at=&max_results=");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/sprints/list?project_id=53289&team_id=36917&search_text=&start_at=&max_results=', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/sprints/list?project_id=53289&team_id=36917&search_text=&start_at=&max_results=")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Sprint list fetched successfully",
"sprintsList": [
{
"project_id": 53265,
"project_name": "My Bugasura Project",
"team_id": 36913,
"platform": "Desktop",
"platform_type": "Web",
"sprint_id": 61389,
"sprint_name": "My First sprint",
"sprint_created": "2022-02-20 16:46:23",
"start_date": 2022-02-20,
"end_date": 2022-03-20,
"sprint_status": "SCHEDULED",
},
{
"project_id": 53265,
"project_name": "My Bugasura Project",
"team_id": 36913,
"platform": "Desktop",
"platform_type": "Web",
"sprint_id": 61392,
"sprint_name": "project test Sprint 15th Jun 6:33 pm",
"sprint_created": "2022-06-10 16:46:23",
"start_date": 2022-06-10,
"end_date": 2022-06-20,
"sprint_status": "SCHEDULED",
}
],
"nrows": 2,
"total_rows": 2,
"start_at": 0,
"max_results": 10
}
This API end point will list all the sprints for a given team, project and the query parameters.
HTTP Request
GET https://api.bugasura.io/sprints/list
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the sprints needs to be listed. | |
project_id* | Integer | ID of the project for which the sprints needs to be listed. | |
search_text | String | A string to match (case-insensitive) against the sprint name. | |
start_at | Integer | The index of the first item to return in a page of results. | |
max_results | Integer | The maximum number of items to return per page. Max value is 100. |
sprints/get
curl -L -X GET 'https://api.bugasura.io/sprints/get?project_id=53289&team_id=36917&sprint_id=61425' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/sprints/get?project_id=53289&team_id=36917&sprint_id=61425');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'project_id': '53289',
'team_id': '36917',
'sprint_id': '61425',
}
response = requests.get('https://api.bugasura.io/sprints/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/sprints/get?project_id=53289&team_id=36917&sprint_id=61425");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/sprints/get?project_id=53289&team_id=36917&sprint_id=61425', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/sprints/get?project_id=53289&team_id=36917&sprint_id=61425")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Sprint details fetched successfully",
"sprintDetails": [
{
"project_id": 53242,
"project_name": "MyProject",
"team_id": 36913,
"platform": "Desktop",
"platform_type": "Web",
"sprint_id": 61362,
"sprint_name": "My First Sprint",
"start_date": null,
"end_date": null,
"sprint_status": "SCHEDULED"
}
]
}
This API end point will get the sprint details for a given team, project and the sprint.
HTTP Request
GET https://api.bugasura.io/sprints/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the sprint details need to be obtained. | |
project_id* | Integer | ID of the project for which the sprint details need to be obtained. | |
sprint_id* | Integer | ID of the sprint for which the details need to be obtained.. |
sprints/add
curl -L -X POST 'https://api.bugasura.io/sprints/add' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'project_id="53305"' \
-F 'team_id="36917"' \
-F 'sprint_name="My Sprint 189"' \
-F 'start_date="2022-sdsadasd-15"' \
-F 'end_date="2022-06-20"' \
-F 'sprint_status=""' \
-F 'duration="0"'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/sprints/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'project_id' => '"53305"',
'team_id' => '"36917"',
'sprint_name' => '"My First Sprint"',
'start_date' => '"2022-02-15"',
'end_date' => '"2022-06-20"',
'sprint_status' => '""',
'duration' => '"0"',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'project_id': (None, '"53305"'),
'team_id': (None, '"36917"'),
'sprint_name': (None, '"My First Sprint"'),
'start_date': (None, '"2022-02-15"'),
'end_date': (None, '"2022-06-20"'),
'sprint_status': (None, '""'),
'duration': (None, '"0"'),
}
response = requests.post('https://api.bugasura.io/sprints/add', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/sprints/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('project_id', '"53305"');
form.append('team_id', '"36917"');
form.append('sprint_name', '"My First Sprint"');
form.append('start_date', '"2022-02-15"');
form.append('end_date', '"2022-06-20"');
form.append('sprint_status', '""');
form.append('duration', '"0"');
fetch('https://api.bugasura.io/sprints/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/sprints/add")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
form_data = [['project_id', '53305'],['team_id', '36917'],['sprint_name', 'My Sprint 189'],['start_date', '2022-sdsadasd-15'],['end_date', '2022-06-20'],['sprint_status', ''],['duration', '0']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Sprint successfully created"
"project_id": 53253,
"sprint_id": 61404,
"platform": "Desktop",
"platform_type": "Web",
"project_name": "project123213",
"sprint_name": "my-sprint-name"
}
This API endpoint will create a sprint in a given team and project.
HTTP Request
POST https://api.bugasura.io/sprints/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team in which the sprint needs to be created. | |
project_id* | Integer | The ID of the project in which the sprint needs to be created. | |
sprint_name* | String | Name of your sprint that you want to create. | |
start_date | String | Date on which sprint is scheduled to start or the date on which it started (In YYYY-MM-DD format). | |
end_date | String | Date on which sprint is scheduled to end or the date on which it ended (In YYYY-MM-DD format). | |
duration | Integer | Duration of the sprint in days. | |
sprint_status | String | SCHEDULED | Status of the sprint like ('SCHEDULED','IN PROGRESS','CANCELLED','COMPLETED'). |
sprints/update
curl -L -X POST 'https://api.bugasura.io/sprints/update' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'sprint_id="61425"' \
-F 'sprint_name="my sprint name update"' \
-F 'start_date="2022-06-08"' \
-F 'end_date="2022-06-11"' \
-F 'duration="0"' \
-F 'sprint_status="SCHEDULED"' \
-F 'team_id="36917"'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/sprints/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'sprint_id' => '"61425"',
'sprint_name' => '"my sprint name update"',
'start_date' => '"2022-06-08"',
'end_date' => '"2022-06-11"',
'duration' => '"0"',
'sprint_status' => '"SCHEDULED"',
'team_id' => '"36917"',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'sprint_id': (None, '"61425"'),
'sprint_name': (None, '"my sprint name update"'),
'start_date': (None, '"2022-06-08"'),
'end_date': (None, '"2022-06-11"'),
'duration': (None, '"0"'),
'sprint_status': (None, '"SCHEDULED"'),
'team_id': (None, '"36917"'),
}
response = requests.post('https://api.bugasura.io/sprints/update', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/sprints/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('sprint_id', '"61425"');
form.append('sprint_name', '"my sprint name update"');
form.append('start_date', '"2022-06-08"');
form.append('end_date', '"2022-06-11"');
form.append('duration', '"0"');
form.append('sprint_status', '"SCHEDULED"');
form.append('team_id', '"36917"');
fetch('https://api.bugasura.io/sprints/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/sprints/update")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
form_data = [['sprint_id', '61425'],['sprint_name', 'my sprint name update'],['start_date', '2022-06-08'],['end_date', '2022-06-11'],['duration', '0'],['sprint_status', 'SCHEDULED'],['team_id', '36917']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Sprint successfully updated",
"sprint_id": 61425,
"sprint_name": "my sprint name",
"start_date": "2022-06-08",
"end_date": "2022-06-11",
"duration": 0,
"sprint_status": "SCHEDULED",
"days_remaining": "0 days remaining"
}
This API endpoint will allow the team users to update the sprint details.
HTTP Request
POST https://api.bugasura.io/sprints/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team in which the sprint needs to be updated. | |
sprint_id* | Integer | The ID of the sprint in which the sprint needs to be updated. | |
sprint_name | Integer | New name for the sprint. | |
start_date | String | Date on which sprint is scheduled to start or the date on which it started (In YYYY-MM-DD format). | |
end_date | String | Date on which sprint is scheduled to end or the date on which it ended (In YYYY-MM-DD format). | |
duration | Integer | Duration of the sprint in days. | |
sprint_status | String | SCHEDULED | Status of the sprint like ('SCHEDULED','IN PROGRESS','CANCELLED','COMPLETED'). |
Note: All the update field parameters cannot be empty. Only include the parameters which you want to update.
sprints/delete
curl -L -X POST 'https://api.bugasura.io/sprints/delete' \
-H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id="36913"' \
-F 'sprint_id="61415"' \
-F 'project_id="53253"'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/sprints/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '"36913"',
'sprint_id' => '"61415"',
'project_id' => '"53253"',
]);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '"36913"'),
'sprint_id': (None, '"61415"'),
'project_id': (None, '"53253"'),
}
response = requests.post('https://api.bugasura.io/sprints/delete', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/sprints/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '"36913"');
form.append('sprint_id', '"61415"');
form.append('project_id', '"53253"');
fetch('https://api.bugasura.io/sprints/delete', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/sprints/delete")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
form_data = [['team_id', '36913'],['sprint_id', '61415'],['project_id', '53253']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Sprint deleted successfully"
}
This API endpoint will allow a team users to delete the sprint from a project.
HTTP Request
POST https://api.bugasura.io/sprints/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team from which the sprint needs to be deleted. | |
project_id* | Integer | The ID of the project from which the sprint needs to be deleted. | |
sprint_id* | Integer | The ID of the sprint which needs to be deleted. |
Issues
issues/list
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io/issues/list?team_id=30321&project_id=45971&sprint_id=55833&start_at=0&max_results=10&sort_by=issue_id&search_by_text=BUG2'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/list?team_id=30321&project_id=45971&sprint_id=55833&start_at=0&max_results=10&sort_by=issue_id&search_by_text=BUG2');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '30321',
'project_id': '45971',
'sprint_id': '55833',
'start_at': '0',
'max_results': '10',
'sort_by': 'issue_id',
'search_by_text': 'BUG2',
}
response = requests.get('https://api.bugasura.io/issues/list', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/list?team_id=30321&project_id=45971&sprint_id=55833&start_at=0&max_results=10&sort_by=issue_id&search_by_text=BUG2");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/issues/list?team_id=30321&project_id=45971&sprint_id=55833&start_at=0&max_results=10&sort_by=issue_id&search_by_text=BUG2', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/list?team_id=30321&project_id=45971&sprint_id=55833&start_at=0&max_results=10&sort_by=issue_id&search_by_text=BUG2")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue list fetched successfully",
"issue_list": [
{
"issue_key": 78100,
"issue_id": "BUG20",
"summary": "Search Button is not responding.",
"description": "The search button is not responding when more than 25 characters are typed in the search box.",
"status": "New",
"issue_type": "BUG",
"tags": "Functional,UI,UX",
"severity": "MEDIUM",
"device_name": "MacBook Pro",
"os_name": "macOs",
"os_version": "Monterey",
"resolution": "1399 x 769",
"network_name": "Wifi",
"browser_name": "Chrome",
"browser_version": "69",
"testcase_id": "Search Items",
"platform_type": "Web",
"platform": "Desktop",
"is_public": 0,
"creator_id": 10642,
"creator_name": "Arjun Aravindan",
"created_date": "2022-06-09 19:06:55",
"last_modified_by": 10642,
"last_modified_date": "2022-06-09 19:06:56",
"sprint_id": 55833,
"sprint_name": "bugasura.io - 10th Dec 9:12 pm",
"project_id": 45971,
"project_name": "bugasura.io",
"is_public_project": 0,
"public_link_url": null
},
{
"issue_key": 78101,
"issue_id": "BUG21",
"summary": "Add Button alignment issue",
"description": "Add Button alignement is wrong compare to the Design. Please check the screenshots provided.",
"status": "New",
"issue_type": "BUG",
"tags": "UI,UX",
"severity": "MEDIUM",
"device_name": "MacBook Pro",
"os_name": "macOs",
"os_version": "Monterey",
"resolution": "1399 x 769",
"network_name": "Wifi",
"browser_name": "Chrome",
"browser_version": "69",
"testcase_id": "Page 13",
"platform_type": "Web",
"platform": "Desktop",
"is_public": 0,
"creator_id": 10642,
"creator_name": "Arjun Aravindan",
"created_date": "2022-06-09 19:07:53",
"last_modified_by": 10642,
"last_modified_date": "2022-06-09 19:07:53",
"sprint_id": 55833,
"sprint_name": "bugasura.io - 10th Dec 9:12 pm",
"project_id": 45971,
"project_name": "bugasura.io",
"is_public_project": 0,
"public_link_url": null
}
],
"nrows": 2,
"total_rows": 2,
"start_at": 0,
"max_results": 10
}
This API endpoint gets the list of issue details.
HTTP Request
GET https://api.bugasura.io/issues/list
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the issues needs to be listed. | |
project_id* | Integer | ID of the project for which the issues needs to be listed. | |
sprint_id | Integer | ID of the sprint for which the issues needs to be listed. Pass this parameter to get the list of issues of a particular sprint. | |
start_at | Integer | 0 | The index of the first item to return in a page of results. |
max_results | Integer | 10 | The maximum number of items to return per page. Max value is 100. |
sort_by | String | Sort the results by a field. Valid values are: 'severity', 'sprints', 'browser', 'device', 'status', 'created_date', 'issue_type' and 'issue_id'. | |
search_by_text | String | A string to match (case-insensitive) against text fields in the issue such as Summary, Description, Issue Type, Tags, Severity, Status, Sprint Name, Device Name, Browser Name or Issue ID. |
issues/get
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io/issues/get?team_id=30321&project_id=45971&issue_key=78100'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/get?team_id=30321&project_id=45971&issue_key=78100');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '30321',
'project_id': '45971',
'issue_key': '78100',
}
response = requests.get('https://api.bugasura.io/issues/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/get?team_id=30321&project_id=45971&issue_key=78100");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/issues/get?team_id=30321&project_id=45971&issue_key=78100', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/get?team_id=30321&project_id=45971&issue_key=78100")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue details fetched successfully",
"issue_details": {
"issue_key": 78123,
"issue_id": "BUG31",
"summary": "Github card design issue.",
"description": "Github card in the Configure page is not as the Approved Design. Please check the screenshots shared.",
"status": "New",
"issue_type": "BUG",
"tags": "UI,UX",
"severity": "MEDIUM",
"device_name": "macOS",
"os_name": "macOS",
"os_version": "Monterey",
"resolution": "1369 x 769",
"network_name": "WiFi",
"browser_name": "Chrome",
"browser_version": "60",
"testcase_id": "Github Integration",
"platform_type": "Web",
"platform": "Desktop",
"is_public": 0,
"creator_id": 10642,
"creator_name": "Arjun Aravindan",
"created_date": "2022-06-13 23:27:27",
"last_modified_by": 10642,
"last_modified_date": "2022-06-17 12:59:56",
"sprint_id": 55833,
"sprint_name": "bugasura.io - 10th Dec 9:12 pm",
"project_id": 45971,
"project_name": "bugasura.io",
"is_public_project": 0,
"public_link_url": null,
"assignees": [
{
"name": "John S",
"email_id": "john.s@gmail.com",
"user_id": 10592,
"profile_image": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/userProfileImages/10592.1631196941.avatar-2.svg",
"is_invited_user": 0
},
{
"name": "Alex T",
"email_id": "alex.t@gmail.com",
"user_id": 12420,
"profile_image": "",
"is_invited_user": 1
}
],
"custom_fields": [
{
"field_id": 75,
"field_name": "Server Type",
"field_value": "Stage Server"
},
{
"field_id": 74,
"field_name": "Impact",
"field_value": "Bad user expirence"
}
],
"attachments": [
{
"name": "1_design_screenshot.png",
"url": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/30321/t50230/r55833/tr78123/1_design_screenshot.png",
"added_by": "Arjun Aravindan",
"added_date": "2022-06-17 12:59:54"
},
{
"name": "card_screenshot.png",
"url": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/30321/t50230/r55833/tr78123/card_screenshot.png",
"added_by": "Arjun Aravindan",
"added_date": "2022-06-17 12:59:54"
}
]
}
}
This API endpoint gets all the details of an issue.
HTTP Request
GET https://api.bugasura.io/issues/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the issue details need to be obtained. | |
project_id* | Integer | ID of the project for which the issue details need to be obtained. | |
issue_key* | Integer | Issue key of the issue for which the details need to be obtained. |
issues/add
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'sprint_id=55833' \
-F 'summary=Github card design issue.' \
-F 'description=The design of the Github card in the Configure page, is not looking same as the Approved Design. Please check the screenshots shared.' \
-F 'issue_type=BUG' \
-F 'status=New' \
-F 'severity=Medium' \
-F 'tags=UI,UX' \
-F 'testcase_id=Github Integration' \
-F 'device_name=MacBook Pro' \
-F 'os_name=macOS' \
-F 'os_version=Monterey' \
-F 'network_name=Wifi' \
-F 'browser_name=Chrome' \
-F 'browser_version=60' \
-F 'resolution=1369 x 769' \
-F 'is_public=0' \
-F 'custom_fields=[{"field_id": 74,"field_value": "Stage Server"}]' \
-F 'issue_assignees=10592,12420' \
-F 'issue_files[]=@"/Users/apple/Desktop/card_screenshot.png"' \
-F 'issue_files[]=@"/Users/apple/Desktop/design_screenshot.png"' \
-X POST 'https://api.bugasura.io/issues/add'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'sprint_id' => '55833',
'summary' => 'Github card design issue.',
'description' => 'The design of the Github card in the Configure page, is not looking same as the Approved Design. Please check the screenshots shared.',
'issue_type' => 'BUG',
'status' => 'New',
'severity' => 'Medium',
'tags' => 'UI,UX',
'testcase_id' => 'Github Integration',
'device_name' => 'MacBook Pro',
'os_name' => 'macOS',
'os_version' => 'Monterey',
'network_name' => 'Wifi',
'browser_name' => 'Chrome',
'browser_version' => '60',
'resolution' => '1369 x 769',
'is_public' => '0',
'custom_fields' => '[{"field_id": 74,"field_value": "Stage Server"}]',
'issue_assignees' => '10592,12420',
'issue_files[]' => new CURLFile('"/Users/apple/Desktop/card_screenshot.png"'),
'issue_files[]' => new CURLFile('"/Users/apple/Desktop/design_screenshot.png"'),
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = [
('team_id', (None, '30321')),
('sprint_id', (None, '55833')),
('summary', (None, 'Github card design issue.')),
('description', (None, 'The design of the Github card in the Configure page, is not looking same as the Approved Design. Please check the screenshots shared.')),
('issue_type', (None, 'BUG')),
('status', (None, 'New')),
('severity', (None, 'Medium')),
('tags', (None, 'UI,UX')),
('testcase_id', (None, 'Github Integration')),
('device_name', (None, 'MacBook Pro')),
('os_name', (None, 'macOS')),
('os_version', (None, 'Monterey')),
('network_name', (None, 'Wifi')),
('browser_name', (None, 'Chrome')),
('browser_version', (None, '60')),
('resolution', (None, '1369 x 769')),
('is_public', (None, '0')),
('custom_fields', (None, '[{"field_id": 74,"field_value": "Stage Server"}]')),
('issue_assignees', (None, '10592,12420')),
('issue_files[]', open('"/Users/apple/Desktop/card_screenshot.png"', 'rb')),
('issue_files[]', open('"/Users/apple/Desktop/design_screenshot.png"', 'rb')),
]
response = requests.post('https://api.bugasura.io/issues/add', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('sprint_id', '55833');
form.append('summary', 'Github card design issue.');
form.append('description', 'The design of the Github card in the Configure page, is not looking same as the Approved Design. Please check the screenshots shared.');
form.append('issue_type', 'BUG');
form.append('status', 'New');
form.append('severity', 'Medium');
form.append('tags', 'UI,UX');
form.append('testcase_id', 'Github Integration');
form.append('device_name', 'MacBook Pro');
form.append('os_name', 'macOS');
form.append('os_version', 'Monterey');
form.append('network_name', 'Wifi');
form.append('browser_name', 'Chrome');
form.append('browser_version', '60');
form.append('resolution', '1369 x 769');
form.append('is_public', '0');
form.append('custom_fields', '[{"field_id": 74,"field_value": "Stage Server"}]');
form.append('issue_assignees', '10592,12420');
form.append('issue_files[]', File(['<data goes here>'], '"/Users/apple/Desktop/card_screenshot.png"'));
form.append('issue_files[]', File(['<data goes here>'], '"/Users/apple/Desktop/design_screenshot.png"'));
fetch('https://api.bugasura.io/issues/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/add")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'sprint_id'=>'55833'
'summary'=>'Github card design issue.'
'description'=>'The design of the Github card in the Configure page, is not looking same as the Approved Design. Please check the screenshots shared.'
'issue_type'=>'BUG'
'status'=>'New'
'severity'=>'Medium'
'tags'=>'UI,UX'
'testcase_id'=>'Github Integration'
'device_name'=>'MacBook Pro'
'os_name'=>'macOS'
'os_version'=>'Monterey'
'network_name'=>'Wifi'
'browser_name'=>'Chrome'
'browser_version'=>'60'
'resolution'=>'1369 x 769'
'is_public'=>'0'
'custom_fields'=>'[{"field_id": 74,"field_value": "Stage Server"}]'
'issue_assignees'=>'10592,12420'
'issue_files[]'=>'@"/Users/apple/Desktop/card_screenshot.png"'
'issue_files[]'=>'@"/Users/apple/Desktop/design_screenshot.png"'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue added successfully",
"issue_details": {
"issue_key": 78120,
"issue_id": "MUL3",
"summary": "Github card design issue.",
"description": "The design of the Github card in the Configure page, is not looking same as the Approved Design. Please check the screenshots shared.",
"status": "New",
"issue_type": "BUG",
"tags": "UI,UX",
"severity": "MEDIUM",
"device_name": "MacBook Pro",
"os_name": "macOS",
"os_version": "Monterey",
"resolution": "1369 x 769",
"network_name": "WiFi",
"browser_name": "Chrome",
"browser_version": "60",
"testcase_id": "Github Integration",
"platform_type": "Web",
"platform": "Desktop",
"is_public": 0,
"creator_id": 10642,
"creator_name": "",
"created_date": "2022-06-17 14:02:57",
"last_modified_by": 10642,
"last_modified_date": "2022-06-17 14:02:59",
"sprint_id": 55833,
"sprint_name": "bugasura.io - 10th Dec 9:12 pm",
"project_id": 45971,
"project_name": "bugasura.io",
"is_public_project": 0,
"public_link_url": null
}
}
This API endpoint adds new issue to the given sprint.
HTTP Request
POST https://api.bugasura.io/issues/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the issue need to be added. | |
sprint_id* | Integer | ID of the project for which the issue need to be added. | |
summary* | String | Short summary of the issue. The summary should have at-least 5 characters and can have max 500 characters. | |
description | String | 0 | Description about the issue. |
issue_type | String | Issue | Type of issue. Valid values are: 'Issue', 'Observation', 'Question', 'Suggestion', 'Improvement' and 'New Feature'. |
status | String | First status of the team's workflow | The status of the issue. The value should be one of the team's workflow status. If status is not passed or invalid status is passed, the first status of the team's workflow will be set to the issue. |
severity | String | MEDIUM | Severity of the issue. Valid values are: 'LOW', 'MEDIUM', 'HIGH' and 'CRITICAL'. |
tags | String | The tags for the issue. Each tags should be separated by comma and can have max 35 characters. Also maximum 5 tags only can add to an issue. | |
testcase_id | String | This field can be used to given the testcase id or feature name or test flow name for the issue. | |
device_name | String | None | Name of the device. This field is not need to pass for Desktop Web projects issue. |
os_name | String | None | OS name of the device/system. Only for Desktop Web and Multi Platform project's issue can set this field value. |
os_version | String | None | OS Version of the device/system. |
network_name | String | None | The name of the Network which the device/system is connected. Valid values are: 'None', 'Wifi', '4G', '3G' and '2G'. |
browser_name | String | None | Name of the browser. For Android App and iOS App Projects, None value will be set for this field. |
browser_version | String | Version name of the browser. For Android App and iOS App Projects, None value will be set for this field | |
resolution | String | None x None | The screen resolution of the device/system. Other than Desktop Web Projects, this field value will be None. Width and Height of the screen should be provided in width x height format. |
is_public | Integer | The default issue privacy value set for project | Pass 1 to set issue public and 0 to set the privacy of the issue to private. If the project is private then issue privacy will be private only. |
custom_fields | String | Pass the custom fields values in JSON string format. If mandatory custom fields with no default values are there for the project, then this parameter should be passed with those custom fields and values. Also the value of each custom field should be valid for the field. | |
issue_assignees | String | List of user's IDs you want to assign the issue. Each user id should be separated by comma and the user should be team member. | |
issue_files | File | Issue attachment files. Maximum 10 files can be uploaded and each file's size should be less than or equal to 10MB. |
issues/update
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'sprint_id=55833' \
-F 'issue_key=78120' \
-F 'summary=Card design is not proper in My Integration Page.' \
-F 'description=The Github card design is not looking same as the provided design. Please check the Approved Design of the My Integration Page.' \
-F 'tags=Design,UI,UX' \
-F 'severity=High' \
-F 'status=New' \
-F 'issue_type=BUG' \
-F 'is_public=0' \
-F 'testcase_id=Github Integration' \
-F 'device_name=MacBook Pro' \
-F 'os_name=macOS' \
-F 'os_version=Monterey' \
-F 'browser_name=Chrome' \
-F 'browser_version=61' \
-F 'network_name=Wifi' \
-F 'resolution=1369 x 769' \
-F 'custom_fields=[{"field_id": 74,"field_value": "Live Server"}]' \
-X POST 'https://api.bugasura.io/issues/update'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'sprint_id' => '55833',
'issue_key' => '78120',
'summary' => 'Card design is not proper in My Integration Page.',
'description' => 'The Github card design is not looking same as the provided design. Please check the Approved Design of the My Integration Page.',
'tags' => 'Design,UI,UX',
'severity' => 'High',
'status' => 'New',
'issue_type' => 'BUG',
'is_public' => '0',
'testcase_id' => 'Github Integration',
'device_name' => 'MacBook Pro',
'os_name' => 'macOS',
'os_version' => 'Monterey',
'browser_name' => 'Chrome',
'browser_version' => '61',
'network_name' => 'Wifi',
'resolution' => '1369 x 769',
'custom_fields' => '[{"field_id": 74,"field_value": "Live Server"}]',
]);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'sprint_id': (None, '55833'),
'issue_key': (None, '78120'),
'summary': (None, 'Card design is not proper in My Integration Page.'),
'description': (None, 'The Github card design is not looking same as the provided design. Please check the Approved Design of the My Integration Page.'),
'tags': (None, 'Design,UI,UX'),
'severity': (None, 'High'),
'status': (None, 'New'),
'issue_type': (None, 'BUG'),
'is_public': (None, '0'),
'testcase_id': (None, 'Github Integration'),
'device_name': (None, 'MacBook Pro'),
'os_name': (None, 'macOS'),
'os_version': (None, 'Monterey'),
'browser_name': (None, 'Chrome'),
'browser_version': (None, '61'),
'network_name': (None, 'Wifi'),
'resolution': (None, '1369 x 769'),
'custom_fields': (None, '[{"field_id": 74,"field_value": "Live Server"}]'),
}
response = requests.post('https://api.bugasura.io/issues/update', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('sprint_id', '55833');
form.append('issue_key', '78120');
form.append('summary', 'Card design is not proper in My Integration Page.');
form.append('description', 'The Github card design is not looking same as the provided design. Please check the Approved Design of the My Integration Page.');
form.append('tags', 'Design,UI,UX');
form.append('severity', 'High');
form.append('status', 'New');
form.append('issue_type', 'BUG');
form.append('is_public', '0');
form.append('testcase_id', 'Github Integration');
form.append('device_name', 'MacBook Pro');
form.append('os_name', 'macOS');
form.append('os_version', 'Monterey');
form.append('browser_name', 'Chrome');
form.append('browser_version', '61');
form.append('network_name', 'Wifi');
form.append('resolution', '1369 x 769');
form.append('custom_fields', '[{"field_id": 74,"field_value": "Live Server"}]');
fetch('https://api.bugasura.io/issues/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/update")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'sprint_id'=>'55833'
'issue_key'=>'78120'
'summary'=>'Card design is not proper in My Integration Page.'
'description'=>'The Github card design is not looking same as the provided design. Please check the Approved Design of the My Integration Page.'
'tags'=>'Design,UI,UX'
'severity'=>'High'
'status'=>'New'
'issue_type'=>'BUG'
'is_public'=>'0'
'testcase_id'=>'Github Integration'
'device_name'=>'MacBook Pro'
'os_name'=>'macOS'
'os_version'=>'Monterey'
'browser_name'=>'Chrome'
'browser_version'=>'61'
'network_name'=>'Wifi'
'resolution'=>'1369 x 769'
'custom_fields'=>'[{"field_id": 74,"field_value": "Live Server"}]'
'https://api.bugasura.io/issues/update'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue updated successfully",
"issueDetails": {
"issue_key": "78099",
"issue_id": "BUG28",
"summary": "Card design is not proper in My Integration Page.",
"description": "The Github card design is not looking same as the provided design. Please check the Approved Design of the My Integration Page.",
"tags": "Design,UI,UX",
"severity": "High",
"status": "New",
"issue_type": "BUG",
"is_public": 0,
"testcase_id": "Github Integration",
"device_name": "MacBook Pro",
"os_name": "macOS",
"os_version": "Monterey",
"browser_name": "Chrome",
"browser_version": "61",
"network_name": "Wifi",
"resolution": "1369 x 769",
"cust_field_74": "Live Server"
}
}
This API endpoint update the issue details.
HTTP Request
POST https://api.bugasura.io/issues/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the issue details needs to be updated. | |
sprint_id* | Integer | ID of the sprint for which the issue details needs to be updated. | |
issue_key* | Integer | Issue key of the issue for which the details needs to be updated. | |
summary | String | Summary of the issue to be updated. If summary parameter is passed, then it should have at-least 5 characters and can have max 500 characters. | |
description | String | Description of the issue to be updated. | |
issue_type | String | Type of issue to be updated. Valid values are: 'Bug', 'Observation', 'Question', 'Suggestion', 'Improvement' and 'New Feature'. | |
status | String | The status of the issue to be updated. The value should be one of the team's workflow status. | |
severity | String | MEDIUM | Severity of the issue to be updated. Valid values are: 'LOW', 'MEDIUM', 'HIGH' and 'CRITICAL'. |
tags | String | The tags for the issue to be updated. Each tags should be separated by comma and can have max 35 characters. Also maximum 5 tags only can add to an issue. | |
testcase_id | String | This field can be used to update the issue's testcase id or feature name or test flow name . | |
device_name | String | Name of the device. | |
os_name | String | OS name of the device/system. | |
os_version | String | OS Version of the device/system. | |
network_name | String | The name of the Network which the device/system is connected. Valid values are: 'None', 'Wifi', '4G', '3G' and '2G'. | |
browser_name | String | Name of the browser. | |
browser_version | String | The version of the browser. | |
resolution | String | The screen resolution of the device/system. Width and Height of the screen should be provided in width x height format. | |
is_public | Integer | Pass 1 to set issue public and 0 to set the privacy of the issue to private. If the project is Public and updating user is issue creator or team admin, then only issue privacy can be updated. | |
custom_fields | String | Pass the custom fields values in JSON string format to update. The value of each custom field should be valid for the field. |
Note: All the update field parameters cannot be empty. Only include the parameters which you want to update.
issues/delete
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'issue_key_list=78120,78121' \
-X POST 'https://api.bugasura.io/issues/delete'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'issue_key_list' => '78120,78121',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'issue_key_list': (None, '78120,78121'),
}
response = requests.post('https://api.bugasura.io/issues/delete', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('issue_key_list', '78120,78121');
fetch('https://api.bugasura.io/issues/delete', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/delete")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'issue_key_list'=>'78120,78121'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue deleted Successfully",
"deleted_issue_keys": [
78120,
78121
]
}
This API endpoint deletes the issues.
HTTP Request
POST https://api.bugasura.io/issues/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the issues need to be deleted. | |
issue_key_list* | Integer | List of issue keys of issues which need to be deleted. |
Issue Assignees
assignees/get
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io/issues/assignees/get?team_id=30321&issue_key=78123'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/assignees/get?team_id=30321&issue_key=78123');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '30321',
'issue_key': '78123',
}
response = requests.get('https://api.bugasura.io/issues/assignees/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/assignees/get?team_id=30321&issue_key=78123");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/issues/assignees/get?team_id=30321&issue_key=78123', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/assignees/get?team_id=30321&issue_key=78123")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue assignees details fetched successfully",
"issue_assignees": [
{
"name": "John S",
"email_id": "john.s@gamil.com",
"user_id": 10592,
"profile_image": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/userProfileImages/10592.1631196941.avatar-2.svg",
"is_invited_user": 0
},
{
"name": "Alex T",
"email_id": "alex.t@gmail.com",
"user_id": 10592,
"profile_image": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/userProfileImages/10592.1631196941.avatar-2.svg",
"is_invited_user": 1
}
],
"nrows": 2
}
This API endpoint gets the assignees details of an issue.
HTTP Request
GET https://api.bugasura.io/issues/assignees/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which issue's assignees details needs to be obtained. | |
issue_key* | Integer | Issue key of the issue for which the assignees details need to be obtained. |
assignees/add
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'issue_key=78123' \
-F 'assignees_list=12420,10642' \
-X POST 'https://api.bugasura.io/issues/assignees/add'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/assignees/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'issue_key' => '78123',
'assignees_list' => '12420,10642',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'issue_key': (None, '78123'),
'assignees_list': (None, '12420,10642'),
}
response = requests.post('https://api.bugasura.io/issues/assignees/add', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/assignees/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('issue_key', '78123');
form.append('assignees_list', '12420,10642');
fetch('https://api.bugasura.io/issues/assignees/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/assignees/get?team_id=30321&issue_key=78123")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'issue_key'=>'78123'
'assignees_list'=>'12420,10642'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Assignees updated successfully"
}
This API endpoint assigns the issue to the given users.
HTTP Request
POST https://api.bugasura.io/issues/assignees/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team for which the assignees need to be added for an issue. | |
issue_key* | Integer | Issue key of the issue which need to be assigned. | |
assignees_list* | String | List of user's IDs whom needs to be assigned to an issue. Each user id should be separated by a comma and the user should be a team member. |
assignees/remove
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'issue_key=78123' \
-F 'assignees_list=10592,10642' \
-X POST 'https://api.bugasura.io/issues/assignees/remove'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/assignees/remove');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'issue_key' => '78123',
'assignees_list' => '10592,10642',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'issue_key': (None, '78123'),
'assignees_list': (None, '10592,10642'),
}
response = requests.post('https://api.bugasura.io/issues/assignees/remove', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/assignees/remove");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('issue_key', '78123');
form.append('assignees_list', '10592,10642');
fetch('https://api.bugasura.io/issues/assignees/remove', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/assignees/remove")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'issue_key'=>'78123'
'assignees_list'=>'10592,10642'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Assignees updated successfully"
}
This API endpoint un-assigns the given users from an issue.
HTTP Request
POST https://api.bugasura.io/issues/assignees/remove
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team for which the assignees need to be removed for an issue. | |
issue_key* | Integer | Issue key of the issue which need to be un-assigned. | |
assignees_list* | String | List of user's IDs whom needs to be un-assigned from the issue. Each user id should be separated by comma and the user should be team member. |
Issue Attachments
attachments/get
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io/issues/attachments/get?team_id=30321&issue_key=78123'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/attachments/get?team_id=30321&issue_key=78123');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '30321',
'issue_key': '78123',
}
response = requests.get('https://api.bugasura.io/issues/attachments/get', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/attachments/get?team_id=30321&issue_key=78123");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/issues/attachments/get?team_id=30321&issue_key=78123', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/attachments/get?team_id=30321&issue_key=78123")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue attachment files details fetched successfully",
"issue_attachments": [
{
"name": "card_screenshot.png",
"url": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/30321/t50230/r55833/tr78123/card_screenshot.png",
"added_by": "Arjun Aravindan",
"added_date": "2022-06-13 23:27:28"
},
{
"name": "design_screenshot.png",
"url": "https://s3-ap-southeast-1.amazonaws.com/uploads.test.appachhi.com/30321/t50230/r55833/tr78123/design_screenshot.png",
"added_by": "Arjun Aravindan",
"added_date": "2022-06-13 23:27:28"
}
]
}
This API endpoint gets the attachment files details of an issue.
HTTP Request
GET https://api.bugasura.io/issues/attachments/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which issue's attachments details needs to be obtained. | |
issue_key* | Integer | Issue key of the issue for which the attachment files details needs to be obtained. |
attachments/add
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'issue_key=78123' \
-F 'issue_files[]=@"/Users/apple/Desktop/card_screenshot.png"' \
-F 'issue_files[]=@"/Users/apple/Desktop/design_screenshot.png"' \
-X POST 'https://api.bugasura.io/issues/attachments/add'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/attachments/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'issue_key' => '78123',
'issue_files[]' => new CURLFile('"/Users/apple/Desktop/card_screenshot.png"'),
'issue_files[]' => new CURLFile('"/Users/apple/Desktop/design_screenshot.png"'),
]);
$response = curl_exec($ch);
curl_close($ch);
?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = [
('team_id', (None, '30321')),
('issue_key', (None, '78123')),
('issue_files[]', open('"/Users/apple/Desktop/card_screenshot.png"', 'rb')),
('issue_files[]', open('"/Users/apple/Desktop/design_screenshot.png"', 'rb')),
]
response = requests.post('https://api.bugasura.io/issues/attachments/add', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/attachments/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('issue_key', '78123');
form.append('issue_files[]', File(['<data goes here>'], '"/Users/apple/Desktop/card_screenshot.png"'));
form.append('issue_files[]', File(['<data goes here>'], '"/Users/apple/Desktop/design_screenshot.png"'));
fetch('https://api.bugasura.io/issues/attachments/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/attachments/add")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'issue_key'=>'78123'
'issue_files[]'=>'@"/Users/apple/Desktop/card_screenshot.png"'
'issue_files[]'=>'@"/Users/apple/Desktop/design_screenshot.png"'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Files card_screenshot.png and design_screenshot.png got uploaded successfully"
}
This API endpoint adds the attachment files to an issue.
HTTP Request
POST https://api.bugasura.io/issues/attachments/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the attachment files needs to be uploaded for an issue. | |
issue_key* | Integer | Issue key of the issue for which the attachment files needs to be uploaded. | |
issue_files* | File | Issue attachment files. Maximum 10 files can be uploaded and each file's size should be less than or equal to 10MB. |
attachments/delete
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'issue_key=78123' \
-F 'file_names=card_screenshot.png, design_screenshot.png' \
-X POST 'https://api.bugasura.io/issues/attachments/delete'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/attachments/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'issue_key' => '78123',
'file_names' => 'card_screenshot.png, design_screenshot.png',
]);
$response = curl_exec($ch);
curl_close($ch);
?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'issue_key': (None, '78123'),
'file_names': (None, 'card_screenshot.png, design_screenshot.png'),
}
response = requests.post('https://api.bugasura.io/issues/attachments/delete', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/attachments/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('issue_key', '78123');
form.append('file_names', 'card_screenshot.png, design_screenshot.png');
fetch('https://api.bugasura.io/issues/attachments/delete', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/attachments/delete")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
request.set_form_data(
'team_id'=>'30321'
'issue_key'=>'78123'
'file_names'=>'card_screenshot.png, design_screenshot.png'
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Files card_screenshot.png and design_screenshot.png got deleted successfully"
}
This API endpoint deletes the attachment files of an issue.
HTTP Request
POST https://api.bugasura.io/issues/attachments/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which an issue's attachment files needs to be deleted. | |
issue_key* | Integer | Issue key of the issue for which the attachment files needs to be deleted. | |
file_names* | String | Name of the issue's attachment files which you want to delete. Each file names should be separated by comma and the file should be exist for the issue. |
Issue Comments
comments/list
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io/issues/comments/list/?team_id=30321&issue_key=78023&creator_id=10642&get_user_comments_only=0&start_at=0&max_results=10'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/comments/list/?team_id=30321&issue_key=78023&creator_id=10642&get_user_comments_only=0&start_at=0&max_results=10');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '30321',
'issue_key': '78023',
'creator_id': '10642',
'get_user_comments_only': '0',
'start_at': '0',
'max_results': '10',
}
response = requests.get('https://api.bugasura.io/issues/comments/list/', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/comments/list/?team_id=30321&issue_key=78023&creator_id=10642&get_user_comments_only=0&start_at=0&max_results=10");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io/issues/comments/list/?team_id=30321&issue_key=78023&creator_id=10642&get_user_comments_only=0&start_at=0&max_results=10', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/comments/list/?team_id=30321&issue_key=78023&creator_id=10642&get_user_comments_only=0&start_at=0&max_results=10")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue comment list fetched successfully",
"comment_list": [
{
"comment_id": 174069,
"issue_key": 78123,
"comment": "<strong>Arjun P</strong> updated the Status to <strong class='badge comment__badge--status new comment__badge--inprogress' style='color:#f9af2d !important;'>Not Reproducible</strong>"
"plain_text_comment": "Arjun P updated the Status to Not Reproducible",
"is_system_comment": 1,
"creator_id": "10591",
"created_date": "2022-02-25 13:53:52",
"is_public_comment": 1,
"last_modified": "2022-02-25 13:53:52",
"author": "Arjun P"
}
{
"comment_id": 174092,
"issue_key": 78123,
"comment": "<p>This issue is not reproduciable. Please provide step to reproduce this issue.</p>",
"plain_text_comment": "This issue is not reproduciable. Please provide step to reproduce this issue.",
"is_system_comment": 0,
"creator_id": "10642",
"created_date": "2022-06-17 12:51:21",
"is_public_comment": 1,
"last_modified": "2022-06-17 12:51:21",
"author": "Arjun P"
},
],
"nrows": 2,
"total_rows": 2,
"start_at": 0,
"max_results": 10
}
This API endpoint gets the list of comments details of a given issue.
HTTP Request
GET https://api.bugasura.io/issues/comments/list
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the comment details to be listed. | |
issue_key* | Integer | Key of the issue for which the comment details to be listed. | |
creator_id | Integer | ID of the user whom the issue comments are added. | |
get_user_comments_only | Integer | 0 | Pass 0 to get both the users added comments and system comments details. Pass 1 to get only the the users added issue comments. |
start_at | Integer | 0 | The index of the first item to return in a page of results. |
max_results | Integer | 10 | The maximum number of items to return per page. Max value is 100. |
comments/get
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-X GET 'https://api.bugasura.io//issues/comments/get/?team_id=36552&issue_key=78123&comment_id=174092'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io//issues/comments/get/?team_id=36552&issue_key=78123&comment_id=174092');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
params = {
'team_id': '36552',
'issue_key': '78123',
'comment_id': '174092',
}
response = requests.get('https://api.bugasura.io//issues/comments/get/', params=params, headers=headers)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io//issues/comments/get/?team_id=36552&issue_key=78123&comment_id=174092");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
fetch('https://api.bugasura.io//issues/comments/get/?team_id=36552&issue_key=78123&comment_id=174092', {
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
}
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io//issues/comments/get/?team_id=36552&issue_key=78123&comment_id=174092")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue comment details fetched successfully",
"comment_details": {
"comment_id": 174092,
"issue_key": 78123,
"comment": "<p>This issue is not reproduciable. Please provide step to reproduce this issue.</p>",
"plain_text_comment": "This issue is not reproduciable. Please provide step to reproduce this issue.",
"is_system_comment": 0,
"creator_id": "10642",
"created_date": "2022-06-17 12:51:21",
"is_public_comment": 1,
"last_modified": "2022-06-17 12:51:21",
"author": "Arjun P"
}
}
This API endpoint get the details of a given issue comment.
HTTP Request
GET https://api.bugasura.io/issues/comments/get
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | ID of the team for which the comment details to be obtained. | |
issue_key* | Integer | Key of the issue for which the comment details to be obtained. | |
comment_id* | Integer | ID of the issue comment for which the details need to be obtained. |
comments/add
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'issue_key=78123' \
-F 'comment=This issue is not reproducible. Please provide step to reproduce this issue.' \
-F 'is_public_comment=1' \
-X POST 'https://api.bugasura.io/issues/comments/add'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/comments/add');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'issue_key' => '78123',
'comment' => 'This issue is not reproducible. Please provide step to reproduce this issue.',
'is_public_comment' => '1',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'issue_key': (None, '78123'),
'comment': (None, 'This issue is not reproducible. Please provide step to reproduce this issue.'),
'is_public_comment': (None, '1'),
}
response = requests.post('https://api.bugasura.io/issues/comments/add', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/comments/add");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('issue_key', '78123');
form.append('comment', 'This issue is not reproducible. Please provide step to reproduce this issue.');
form.append('is_public_comment', '1');
fetch('https://api.bugasura.io/issues/comments/add', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require 'net/http'
require 'uri'
uri = URI.parse("https://api.bugasura.io/issues/comments/add")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Basic <Your API_KEY goes here>"
request["Accept"] = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
# response.code
# response.body
{
"status": "OK",
"message": "Issue comment added successfully",
"created_date": "2022-06-17 12:51:21",
"comment_id": 174092,
"comment": "<p>This issue is not reproducible. Please provide step to reproduce this issue.</p>",
"is_system_comment": 0,
"is_public_comment": "1"
}
This API endpoint will create a comment in a given issue.
HTTP Request
POST https://api.bugasura.io/issues/comments/add
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team in which the comment needs to be created. | |
issue_key* | Integer | Key of the issue which you want to add a comment. | |
comment* | String | Body of the comment. | |
is_public_comment | Integer | 0 | By default all the comments added in a public issue of a public project will be Private. Pass 1 to make the comment Public. This parameter will not be effective for the Private issue. |
comments/update
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'comment_id=174092' \
-F 'comment=This issue is not reproducible. Please provide step to reproduce this issue or add an video attachment file.' \
-X POST 'https://api.bugasura.io/issues/comments/update'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://https://api.bugasura.io/issues/comments/update');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'comment_id' => '174092',
'comment' => 'This issue is not reproducible. Please provide step to reproduce this issue or add an video attachment file.',
]);
$response = curl_exec($ch);
curl_close($ch);?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'comment_id': (None, '174092'),
'comment': (None, 'This issue is not reproducible. Please provide step to reproduce this issue or add an video attachment file.'),
}
response = requests.post('https://api.bugasura.io/issues/comments/update', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/comments/update");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
const form = new FormData();
form.append('team_id', '30321');
form.append('comment_id', '174092');
form.append('comment', 'This issue is not reproducible. Please provide step to reproduce this issue or add an video attachment file.');
fetch('https://api.bugasura.io/issues/comments/update', {
method: 'POST',
headers: {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json'
},
body: form
});
require "uri"
require "net/http"
url = URI("https://api.bugasura.io/issues/comments/update")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic b6fe5f522e824db5fde009150847e85dc2418ce1"
request["Accept"] = "application/json"
form_data = [['comment_id', '174842'],['comment', 'Comment update content'],['team_id', '36552'],['issue_key', '78457']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue comment updated successfully",
"comment_id": 174092,
"last_modified": "2022-06-21 02:45:21",
"created_date": "2022-06-21 02:32:01",
"comment": "<p>This issue is not reproducible. Please provide step to reproduce this issue or add an video attachment file.</p>"
}
This API endpoint will allow the comment authors to update the comment.
HTTP Request
POST https://api.bugasura.io/issues/comments/update
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team in which the comment needs to be updated. | |
comment_id* | Integer | The ID of the comment which needs to be updated. | |
comment* | String | Updated comment. |
comments/delete
curl -H 'Authorization: Basic <Your API_KEY goes here>' \
-H 'Accept: application/json' \
-F 'team_id=30321' \
-F 'comment_id=174092' \
-X POST 'https://api.bugasura.io/issues/comments/delete'
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.bugasura.io/issues/comments/delete');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization' => 'Basic <Your API_KEY goes here>',
'Accept' => 'application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'team_id' => '30321',
'comment_id' => '174092',
]);
$response = curl_exec($ch);
curl_close($ch); ?>
import requests
headers = {
'Authorization': 'Basic <Your API_KEY goes here>',
'Accept': 'application/json',
}
files = {
'team_id': (None, '30321'),
'comment_id': (None, '174092'),
}
response = requests.post('https://api.bugasura.io/issues/comments/delete', headers=headers, files=files)
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://api.bugasura.io/issues/comments/delete");
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Authorization", "Basic <Your API_KEY goes here>");
httpConn.setRequestProperty("Accept", "application/json");
InputStream responseStream = httpConn.getResponseCode() / 100 == 2
? httpConn.getInputStream()
: httpConn.getErrorStream();
Scanner s = new Scanner(responseStream).useDelimiter("\\A");
String response = s.hasNext() ? s.next() : "";
System.out.println(response);
}
}
require "uri"
require "net/http"
url = URI("http://localhost/api.appachhi.com/comments/delete")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Basic b6fe5f522e824db5fde009150847e85dc2418ce1"
request["Accept"] = "application/json"
form_data = [['comment_id', '174858'],['team_id', '36552'],['issue_key', '78457']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
The above command returns JSON structured like this:
{
"status": "OK",
"message": "Issue comment got deleted successfully"
}
This API endpoint allows a comment author or team admins to delete the comment from an issue.
HTTP Request
POST https://api.bugasura.io/issues/comments/delete
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
team_id* | Integer | The ID of the team from which the comment needs to be deleted. | |
comment_id* | Integer | The ID of the comment which needs to be deleted. |
Handling errors
Our Client libraries raise exceptions for many reasons, such as an invalid input, invalid no parameters, authentication errors, and network unavailability. We recommend writing code that gracefully handles all possible API exceptions.
Operations that result in an error due to a problem on the client's part (e.g. Invalid input) will standard 4xx codes. These 4xx standard HTTP error is sufficiently descriptive (more details in the last section).
In other cases, we will use the generic response code for client error, and the Bugasura API response will include an error entity that gives further details about the error, including an application error code and a human readable error description. An example format of this error entity is shown here.
For Eg: If a user is not the member of a given team, then we will get the below response:
{
"message": "You do not have permission to perform this operation",
"status": "UNAUTHORIZED"
}
The Bugasura API uses the following list of error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
404 | Not Found -- The specified API endpoint could not be found. |
500 | Internal Server Error -- We had a problem with our server. Try again later. |