Bugzilla:BzAPI:Objects: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Add deprecation notice)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page lists the objects used on the [[Bugzilla:REST_API]], and the fields of each, along with their types, descriptions, and any names those fields may have in other contexts.
<div style="border: thin dotted #aaa; padding:5px;">
'''This specific REST API, generally referred to as "BzAPI", is DEPRECATED. For new projects, use the [[Bugzilla:REST_API|native REST API]] instead. The BMO team has implemented a [[Bugzilla:BzAPI:CompatLayer|compatibility layer]] to help existing apps transition off BzAPI onto the native REST API. Please migrate existing BzAPI-based apps to the new compatibility-layer endpoint as soon as possible, as BzAPI will be shut off at some point in the future. Direct any questions to the [[BMO]] team.
 
'''The native REST API is available in Bugzilla 5.0 and up, and on bugzilla.mozilla.org.  Although BzAPI is deprecated, it can be used with older Bugzilla installations (versions prior to 5.0) to provide a REST API.'''
</div><br>
 
This page lists the objects used on the [[Bugzilla:BzAPI]], and the fields of each, along with their types, descriptions, and any names those fields may have in other contexts.


====Notes====
====Notes====
Line 6: Line 12:
* Fields marked Read Only are set automatically by Bugzilla, based on other information or fields. They may be returned by GET calls, but will be ignored in POST or PUT. (So you don't have to remove them before sending an object back.)
* Fields marked Read Only are set automatically by Bugzilla, based on other information or fields. They may be returned by GET calls, but will be ignored in POST or PUT. (So you don't have to remove them before sending an object back.)
* Fields marked No Mod can be set when the object is created, but are Read Only thereafter.
* Fields marked No Mod can be set when the object is created, but are Read Only thereafter.
* Fields marked Optional may be missing entirely on returned objects. Other fields are guaranteed to be present but may be blank. XXX_make_it_so.
* For the objects other than [[#Bug|Bug]], some fields are marked Optional to show that they are not always present. For a [[#Bug|Bug]], all fields should be considered Optional apart from "id" and "ref".
* For fields of type Boolean, on submit, please use "1" and "0" for true and false. This may get relaxed later.
* For fields of type Boolean, on submit, please use "1" and "0" for true and false. This may get relaxed later.
* Fields of type Timestamp are in an ISO 8601 format - either YYYY-MM-DD HH:MM:SS or YYYYMMDDTHH:MM:SS (T being a literal "T"). Eventually, all will also have a +NNNN timezone marker, but currently most don't.
* Fields of type Timestamp should be sent and received in the UTC timezone in ISO 8601 format - YYYY-MM-DDTHH:MM:SSZ (T and Z being a literal "T" and "Z").


==Bug==
==Bug==


'''Bold''' means the field is or can be returned on the search interface.
'''Bold''' means the field is in the default set returned on the search interface.


{| border="1"
{| border="1"
Line 21: Line 27:
|alias||String||Bug's alias (text alternative to ID)||
|alias||String||Bug's alias (text alternative to ID)||
|- style="font-weight: bold"
|- style="font-weight: bold"
|assigned_to||User||User responsible for the bug||
|assigned_to||[[#User|User]]||User responsible for the bug||
|-
|-
|attachments||Array of Attachment||Related files stored by Bugzilla||attachment
|attachments||Array of [[#Attachment|Attachment]]||Related files stored by Bugzilla||attachment
|- style="font-weight: bold"
|blocks||Array of Integer||IDs of bugs which can only be fixed after this one (note: only returned by default in Bugzilla > 4.4 or BMO 4.2)||blocked
|-
|-
|blocks||Array of Integer||IDs of bugs which can only be fixed after this one||blocked
|cc||Array of [[#User|User]]||Users signed up to be notified of changes||
|-
|cc||Array of User||Users signed up to be notified of changes||
|- style="font-weight: bold"
|- style="font-weight: bold"
|classification||String||Name of classification (categorization above product)||
|classification||String||Name of classification (categorization above product)||
|-
|-
|comments||Array of Comment||Things people have said about the bug||long_desc
|comments||Array of [[#Comment|Comment]]||Things people have said about the bug||long_desc
|- style="font-weight: bold"
|- style="font-weight: bold"
|component||String||Bug's component (sub-product)||
|component||String||Bug's component (sub-product)||
|- style="font-weight: bold"
|- style="font-weight: bold"
|creation_time||Timestamp String, Read Only||When bug was filed||creation_ts, opendate
|creation_time||Timestamp String, Read Only||When bug was filed||creation_ts, opendate
|- style="font-weight: bold"
|creator||[[#User|User]], Read Only||User who submitted the bug||reporter
|- style="font-weight: bold"
|- style="font-weight: bold"
|deadline||Datestamp String||Date by which bug must be fixed||
|deadline||Datestamp String||Date by which bug must be fixed||
|- style="font-weight: bold"
|depends_on||Array of Integer||Bugs that must be fixed first  (note: only returned by default in Bugzilla > 4.4 or BMO 4.2)||dependson
|-
|-
|depends_on||Array of Integer||Bugs that must be fixed first||dependson
|dupe_of||Integer||Bug number of which this bug is a duplicate (only present if bug is RESOLVED DUPLICATE)||
|- style="font-weight: bold"
|- style="font-weight: bold"
|estimated_time||Decimal||Current estimated time for fix, in hours||
|estimated_time||Decimal||Current estimated time for fix, in hours||
|-
|-
|flags||Array of Flag||Flags set on this bug||
|flags||Array of [[#Flag|Flag]]||Flags set on this bug||
|-
|-
|groups||Array of String||Names of groups to which this bug belongs||
|groups||Array of [[#Group|Group]]||Groups to which this bug belongs||
|-
|-
|history||Array of ChangeSet||Changes made to bug fields in the past (requires 3.4)||
|history||Array of [[#ChangeSet|ChangeSet]], Read Only||Changes made to bug fields in the past (requires 3.4)||
|- style="font-weight: bold"
|- style="font-weight: bold"
|id||Integer, Read Only||Unique numeric identifier for bug||bug_id
|id||Integer, Read Only||Unique numeric identifier for bug||bug_id
Line 53: Line 63:
|is_cc_accessible||Boolean||Whether CC list can see bug, regardless of groups||cclist_accessible
|is_cc_accessible||Boolean||Whether CC list can see bug, regardless of groups||cclist_accessible
|-
|-
|is_everconfirmed||Boolean, Read Only||Whether bug has ever passed from UNCONFIRMED to CONFIRMED status||everconfirmed
|is_confirmed||Boolean, Read Only||Whether bug has ever passed from UNCONFIRMED to CONFIRMED status||everconfirmed, is_everconfirmed
|-
|-
|is_reporter_accessible||Boolean||Whether reporter can see bug, regardless of groups||reporter_accessible
|is_creator_accessible||Boolean||Whether creator (reporter) can see bug, regardless of groups||reporter_accessible, is_reporter_accessible
|- style="font-weight: bold"
|- style="font-weight: bold"
|keywords||Array of String||Tags (from a limited set) describing the bug||
|keywords||Array of String||Tags (from a limited set) describing the bug||
Line 69: Line 79:
|product||String||Name of product||
|product||String||Name of product||
|- style="font-weight: bold"
|- style="font-weight: bold"
|qa_contact||User||User responsible for checking bug is fixed||
|qa_contact||[[#User|User]]||User responsible for checking bug is fixed||
|- style="font-weight: bold"
|- style="font-weight: bold"
|ref||String, Read Only||URL of bug in API||
|ref||String, Read Only||URL of bug in API||
|- style="font-weight: bold"
|- style="font-weight: bold"
|remaining_time||Decimal, Read Only||Hours left before fix will be done||
|remaining_time||Decimal, Read Only||Hours left before fix will be done||
|- style="font-weight: bold"
|reporter||User, Read Only||User who submitted the bug||
|- style="font-weight: bold"
|- style="font-weight: bold"
|resolution||String||The resolution, if the bug is in a closed state, e.g. FIXED, DUPLICATE||
|resolution||String||The resolution, if the bug is in a closed state, e.g. FIXED, DUPLICATE||
Line 89: Line 97:
|target_milestone||String||When the bug is going to be fixed||
|target_milestone||String||When the bug is going to be fixed||
|-
|-
|token||String, Optional||Token you'll need to submit to change the bug; supplied only when logged in||
|update_token||String||Token you'll need to submit to change the bug; supplied only when logged in||token
|-
|- style="font-weight: bold"
|url||String||URL relating to the bug||bug_file_loc
|url||String||URL relating to the bug (in search defaults only on 4.0 and above)||bug_file_loc
|- style="font-weight: bold"
|- style="font-weight: bold"
|version||String||Version of software in which bug is seen||
|version||String||Version of software in which bug is seen||
Line 99: Line 107:
|work_time||Decimal (Submit Only)||Hours to be added to actual_time||
|work_time||Decimal (Submit Only)||Hours to be added to actual_time||
|}
|}
====Notes====


* Field values are configurable, so examples may not apply to your Bugzilla.
* Field values are configurable, so examples may not apply to your Bugzilla.
Line 109: Line 115:
!Name!!Type!!Description!!Other Names
!Name!!Type!!Description!!Other Names
|-
|-
|author||User, Read Only||User who wrote the comment||
|attachment_id||Integer, Read Only||ID of attachment added at the same time as this comment, if any; 3.6 or above and /comment call only||
|-
|attachment_ref||String, Read Only||Ref of attachment added at the same time as this comment, if any; 3.6 or above and /comment call only||
|-
|creator||[[#User|User]], Read Only||User who wrote the comment||
|-
|-
|creation_time||Timestamp String, Read Only||Time comment was added||
|creation_time||Timestamp String, Read Only||Time comment was added||
|-
|-
|id||Integer, Read Only, Optional (for the moment)||Unique numeric identifier for comment; 3.4 or above, and only on comment requests, not bug requests||
|id||Integer, Read Only||Unique numeric identifier for comment; 3.4 or above (set by Bugzilla; must not be set when adding comments)||
|-
|-
|is_private||Boolean||Whether comment is private||
|is_private||Boolean||Whether comment is private||
Line 119: Line 129:
|text||String, No Mod||Text of comment (plain text)||
|text||String, No Mod||Text of comment (plain text)||
|}
|}
==Group==
{| border="1"
!Name!!Type!!Description!!Other Names
|-
|id||Integer||Unique numeric identifier for group (required on submit for 3.6 and below)||
|-
|name||String||Unique string identifier for group (required on submit for 4.0 and above)||
|}
Between 3.6 and 4.0, Bugzilla changed which of these two fields was considered "primary". Note that you should never have Bugzilla version problems if you always supply both fields on submit, and the two fields refer to the same group (i.e. no mismatches).


==Flag==
==Flag==
Line 129: Line 151:
|name||String, Read Only||Descriptive non-unique name for flag type, e.g. 'review'||
|name||String, Read Only||Descriptive non-unique name for flag type, e.g. 'review'||
|-
|-
|requestee||String, Optional||User action is requested from, if flag is requestable; can only be set if setting status to '?'||
|requestee||[[#User|User]], Optional||User action is requested from, if flag is requestable; can only be set if setting status to '?'||
|-
|-
|setter||User, Read Only||User who set the flag||
|setter||[[#User|User]], Read Only||User who set the flag||
|-
|-
|status||String||Flag value - '?', '+', '-' or 'X'||
|status||String||Flag value - '?', '+', '-' or 'X'||
Line 137: Line 159:
|type_id||Integer||Unique numeric identifier for flag type||
|type_id||Integer||Unique numeric identifier for flag type||
|}
|}
====Notes====


* To remove a flag, pass it to an update function with a status of "X".
* To remove a flag, pass it to an update function with a status of "X".
Line 147: Line 167:
!Name!!Type!!Description!!Other Names
!Name!!Type!!Description!!Other Names
|-
|-
|changer||User||Who made the changes||
|changer||[[#User|User]]||Who made the changes||
|-
|-
|changes||Array of Change||The changes made in one change submission||
|changes||Array of [[#Change|Change]]||The changes made in one change submission||
|-
|-
|change_time||Timestamp String||When the changes were made||
|change_time||Timestamp String||When the changes were made||
Line 165: Line 185:
|removed||String||Values removed, if any (comma-separated if multiple)||
|removed||String||Values removed, if any (comma-separated if multiple)||
|}
|}
* The values of "added" and "removed" are flat strings, never objects. If multiple values are added or removed from a multi-valued field, the values are comma-separated. Users are represented by their login names.


==Attachment==
==Attachment==
Line 171: Line 193:
!Name!!Type!!Description!!Other Names
!Name!!Type!!Description!!Other Names
|-
|-
|attacher||User, Read Only||User who created attachment||
|attacher||[[#User|User]], Read Only||User who created attachment||
|-
|-
|bug_id||Integer, Read Only||ID if bug to which this is an attachment||
|bug_id||Integer, Read Only||ID if bug to which this is an attachment||
|-
|-
|bug_ref||String, Read Only||URL of associated bug in API||
|bug_ref||String, Read Only||URL of associated bug in API||
|-
|comments||Array of [[#Comment|Comment]], Optional, Submit Only||Bug comment associated with creation or change (only first element in array is looked at)||
|-
|-
|creation_time||Timestamp String, Read Only||When attachment was submitted||
|creation_time||Timestamp String, Read Only||When attachment was submitted||
Line 187: Line 211:
|file_name||String||Path-less filename of attachment||
|file_name||String||Path-less filename of attachment||
|-
|-
|flag||Array of Flag||Flags set on this attachment||
|flags||Array of [[#Flag|Flag]]||Flags set on this attachment||
|-
|-
|id||Integer, Read Only||Unique numeric identifier for attachment||attach_id
|id||Integer, Read Only||Unique numeric identifier for attachment||attach_id
|-
|-
|is_obsolete||Boolean||Whether file is marked obsolete||isobsolete
|is_obsolete||Boolean||Whether attachment is marked obsolete||isobsolete
|-
|-
|is_patch||Boolean||Whether bug is a patch||ispatch
|is_patch||Boolean||Whether attachment is a patch||ispatch
|-
|-
|is_private||Boolean||Whether bug is private||isprivate
|is_private||Boolean||Whether attachment is private||isprivate
|-
|-
|ref||String, Read Only||URL of attachment in API||
|ref||String, Read Only||URL of attachment in API||
Line 201: Line 225:
|size||Integer||Size of attachment, in bytes||
|size||Integer||Size of attachment, in bytes||
|-
|-
|token||String, Optional||Token to submit to change attachment metadata; supplied only when logged in||
|update_token||String, Optional||Token to submit to change attachment metadata; supplied only when logged in||token
|-
|-
|content_type||String||MIME type of attachment||
|content_type||String||MIME type of attachment||
|}
|}


====Notes====


* Due to limitations in Bugzilla, when updating attachments (including their flags), you must post back the entire object, otherwise Bugzilla will complain about missing fields. This limitation may be removed in future.
* Due to limitations in Bugzilla, when updating attachments (including their flags), you must post back the entire object, otherwise Bugzilla will complain about missing fields. This limitation may be removed in future.
Line 214: Line 237:
{| border="1"
{| border="1"
!Name!!Type!!Description!!Other Names
!Name!!Type!!Description!!Other Names
|-
|email||String||Email address of user (if you are logged in)||
|-
|-
|id||Integer, Optional (for the moment)||Unique numeric identifier for user (currently only supplied on /user API)||
|id||Integer, Optional (for the moment)||Unique numeric identifier for user (currently only supplied on /user API)||
Line 222: Line 247:
|-
|-
|ref||String, Read Only||URL of user in API||
|ref||String, Read Only||URL of user in API||
|}
==Suggested Reviewer==
{| border="1"
!Name!!Type!!Description!!Other Names
|-
|email||String||Email address of user (if you are logged in)||
|-
|id||Integer, Optional (for the moment)||Unique numeric identifier for user (currently only supplied on /user API)||
|-
|name||String||User's real name||
|-
|review_count||Integer||Number of reviews in this user's queue.||
|}
|}


Line 241: Line 280:
|xmlrpc_code||Integer, Read Only, Optional||If underlying implementation is XML-RPC||
|xmlrpc_code||Integer, Read Only, Optional||If underlying implementation is XML-RPC||
|}
|}
* Error objects are distinguished from other objects because they have an "error" member set to a true value. You should test every API return to see if it is an [[#Error|Error]].

Latest revision as of 02:06, 21 September 2016

This specific REST API, generally referred to as "BzAPI", is DEPRECATED. For new projects, use the native REST API instead. The BMO team has implemented a compatibility layer to help existing apps transition off BzAPI onto the native REST API. Please migrate existing BzAPI-based apps to the new compatibility-layer endpoint as soon as possible, as BzAPI will be shut off at some point in the future. Direct any questions to the BMO team.

The native REST API is available in Bugzilla 5.0 and up, and on bugzilla.mozilla.org. Although BzAPI is deprecated, it can be used with older Bugzilla installations (versions prior to 5.0) to provide a REST API.


This page lists the objects used on the Bugzilla:BzAPI, and the fields of each, along with their types, descriptions, and any names those fields may have in other contexts.

Notes

  • A general API principle is that if you don't submit a field or object to a change function, it's unchanged. This means you can send simple changes without having to send the entire bug. However, due to limitations of Bugzilla, this does not work with attachments - you need to send the whole object.
  • Fields marked Read Only are set automatically by Bugzilla, based on other information or fields. They may be returned by GET calls, but will be ignored in POST or PUT. (So you don't have to remove them before sending an object back.)
  • Fields marked No Mod can be set when the object is created, but are Read Only thereafter.
  • For the objects other than Bug, some fields are marked Optional to show that they are not always present. For a Bug, all fields should be considered Optional apart from "id" and "ref".
  • For fields of type Boolean, on submit, please use "1" and "0" for true and false. This may get relaxed later.
  • Fields of type Timestamp should be sent and received in the UTC timezone in ISO 8601 format - YYYY-MM-DDTHH:MM:SSZ (T and Z being a literal "T" and "Z").

Bug

Bold means the field is in the default set returned on the search interface.

Name Type Description Other Names
actual_time Decimal, Read Only Time it has taken to fix the bug so far
alias String Bug's alias (text alternative to ID)
assigned_to User User responsible for the bug
attachments Array of Attachment Related files stored by Bugzilla attachment
blocks Array of Integer IDs of bugs which can only be fixed after this one (note: only returned by default in Bugzilla > 4.4 or BMO 4.2) blocked
cc Array of User Users signed up to be notified of changes
classification String Name of classification (categorization above product)
comments Array of Comment Things people have said about the bug long_desc
component String Bug's component (sub-product)
creation_time Timestamp String, Read Only When bug was filed creation_ts, opendate
creator User, Read Only User who submitted the bug reporter
deadline Datestamp String Date by which bug must be fixed
depends_on Array of Integer Bugs that must be fixed first (note: only returned by default in Bugzilla > 4.4 or BMO 4.2) dependson
dupe_of Integer Bug number of which this bug is a duplicate (only present if bug is RESOLVED DUPLICATE)
estimated_time Decimal Current estimated time for fix, in hours
flags Array of Flag Flags set on this bug
groups Array of Group Groups to which this bug belongs
history Array of ChangeSet, Read Only Changes made to bug fields in the past (requires 3.4)
id Integer, Read Only Unique numeric identifier for bug bug_id
is_cc_accessible Boolean Whether CC list can see bug, regardless of groups cclist_accessible
is_confirmed Boolean, Read Only Whether bug has ever passed from UNCONFIRMED to CONFIRMED status everconfirmed, is_everconfirmed
is_creator_accessible Boolean Whether creator (reporter) can see bug, regardless of groups reporter_accessible, is_reporter_accessible
keywords Array of String Tags (from a limited set) describing the bug
last_change_time Timestamp String, Read Only Last change delta_ts, changeddate
op_sys String Operating system bug was seen on, e.g. Windows Vista, Linux
platform String Computing platform bug was seen on, e.g. PC, Mac rep_platform
priority String How important the bug is, e.g. P1, P5
product String Name of product
qa_contact User User responsible for checking bug is fixed
ref String, Read Only URL of bug in API
remaining_time Decimal, Read Only Hours left before fix will be done
resolution String The resolution, if the bug is in a closed state, e.g. FIXED, DUPLICATE
see_also Array of String URLs of related bugs
severity String How severe the bug is, e.g. enhancement, critical bug_severity
status String Current status, e.g. NEW, RESOLVED bug_status
summary String Short sentence describing the bug short_desc
target_milestone String When the bug is going to be fixed
update_token String Token you'll need to submit to change the bug; supplied only when logged in token
url String URL relating to the bug (in search defaults only on 4.0 and above) bug_file_loc
version String Version of software in which bug is seen
whiteboard String Notes on current status status_whiteboard
work_time Decimal (Submit Only) Hours to be added to actual_time
  • Field values are configurable, so examples may not apply to your Bugzilla.

Comment

Name Type Description Other Names
attachment_id Integer, Read Only ID of attachment added at the same time as this comment, if any; 3.6 or above and /comment call only
attachment_ref String, Read Only Ref of attachment added at the same time as this comment, if any; 3.6 or above and /comment call only
creator User, Read Only User who wrote the comment
creation_time Timestamp String, Read Only Time comment was added
id Integer, Read Only Unique numeric identifier for comment; 3.4 or above (set by Bugzilla; must not be set when adding comments)
is_private Boolean Whether comment is private
text String, No Mod Text of comment (plain text)

Group

Name Type Description Other Names
id Integer Unique numeric identifier for group (required on submit for 3.6 and below)
name String Unique string identifier for group (required on submit for 4.0 and above)

Between 3.6 and 4.0, Bugzilla changed which of these two fields was considered "primary". Note that you should never have Bugzilla version problems if you always supply both fields on submit, and the two fields refer to the same group (i.e. no mismatches).

Flag

Name Type Description Other Names
id Integer Unique numeric identifier for this particular flag (set by Bugzilla; do not set when creating flags)
name String, Read Only Descriptive non-unique name for flag type, e.g. 'review'
requestee User, Optional User action is requested from, if flag is requestable; can only be set if setting status to '?'
setter User, Read Only User who set the flag
status String Flag value - '?', '+', '-' or 'X'
type_id Integer Unique numeric identifier for flag type
  • To remove a flag, pass it to an update function with a status of "X".

ChangeSet

Name Type Description Other Names
changer User Who made the changes
changes Array of Change The changes made in one change submission
change_time Timestamp String When the changes were made

Change

Name Type Description Other Names
added String Values added, if any (comma-separated if multiple)
field_name String Name of field changed
removed String Values removed, if any (comma-separated if multiple)
  • The values of "added" and "removed" are flat strings, never objects. If multiple values are added or removed from a multi-valued field, the values are comma-separated. Users are represented by their login names.

Attachment

Name Type Description Other Names
attacher User, Read Only User who created attachment
bug_id Integer, Read Only ID if bug to which this is an attachment
bug_ref String, Read Only URL of associated bug in API
comments Array of Comment, Optional, Submit Only Bug comment associated with creation or change (only first element in array is looked at)
creation_time Timestamp String, Read Only When attachment was submitted
data String, Optional, No Mod Attachment data encoded using encoding 'encoding'; provided only when attachmentdata requested
description String Text describing the attachment
encoding String, Optional, No Mod Encoding of 'content'; 'base64' is the only supported value; provided only when attachmentdata requested
file_name String Path-less filename of attachment
flags Array of Flag Flags set on this attachment
id Integer, Read Only Unique numeric identifier for attachment attach_id
is_obsolete Boolean Whether attachment is marked obsolete isobsolete
is_patch Boolean Whether attachment is a patch ispatch
is_private Boolean Whether attachment is private isprivate
ref String, Read Only URL of attachment in API
size Integer Size of attachment, in bytes
update_token String, Optional Token to submit to change attachment metadata; supplied only when logged in token
content_type String MIME type of attachment


  • Due to limitations in Bugzilla, when updating attachments (including their flags), you must post back the entire object, otherwise Bugzilla will complain about missing fields. This limitation may be removed in future.

User

Name Type Description Other Names
email String Email address of user (if you are logged in)
id Integer, Optional (for the moment) Unique numeric identifier for user (currently only supplied on /user API)
name String Email address of user (if you are logged in) or first part otherwise (which is therefore non-unique) assignee, reporter, qa_contact (as flat fields)
real_name String, Read Only, Optional User's real name name, assignee_realname etc.
ref String, Read Only URL of user in API

Suggested Reviewer

Name Type Description Other Names
email String Email address of user (if you are logged in)
id Integer, Optional (for the moment) Unique numeric identifier for user (currently only supplied on /user API)
name String User's real name
review_count Integer Number of reviews in this user's queue.

Error

Name Type Description Other Names
code Integer, Read Only Unambiguous definition of error (XXXunimplemented)
error Boolean (True), Read Only Indicates the object is an error object
html_page String, Read Only, Optional If underlying implementation is screen-scraping and if error is not recognised; only present so you can read it manually!
http_code Integer, Read Only, Optional If Bugzilla returned a useful HTTP code
message String, Read Only Short English string describing error
xmlrpc_code Integer, Read Only, Optional If underlying implementation is XML-RPC
  • Error objects are distinguished from other objects because they have an "error" member set to a true value. You should test every API return to see if it is an Error.