Bugzilla is a popular bug tracking system used by the Mozilla community and many other companies to manage software development projects. Bugzilla is open source, web interface software written in Perl and using a MySQL database. The system is available free of charge at Bugzilla.org.
Between Cradle and Bugzilla, two-way integration can be configured, such that a bug in Bugzilla can be associated with an element (requirement) in Cradle and Cradle can open Bugzilla to display this bug. It is also possible to access Cradle from Bugzilla by making the connection bidirectional.
This can be achieved by creating a new type of BUGZILLA frame (or any other name), after which you can add an attribute of this type to any type of element in Cradle and store the bug ID from Bugzilla in it. Similarly, in Bugzilla, you can add a link from the bug to the Cradle element and call it from Bugzilla, and the Cradle web interface will open.
')
How to set it up is described below.
Definition of frame type BUGZILLA
Launch WorkBench and log in to your Cradle project as a user with PROJECT privileges, which will give you the opportunity to modify the scheme. Choose Administration-> Project Settings-> Element Definitions-> Frame Types.
Frame types are possible attribute types (data types) in Cradle. You can store Bugzilla bug IDs inside any attribute of any type in Cradle, but now we want to customize the special behavior associated with this frame — launch Bugzilla. Therefore, we must define a new attribute type to define this new behavior.
Select New and enter a name for the new frame type, in this case BUGZILLA and click OK. This will add a new frame type to the list and initialize it by default, as a text type:

Select the created BUGZILLA type and click Edit:

Attribute values of this type must be links (URLs) to access Bugzilla, so we change the Base to the URL, which also sets the Store to “As link”

We must define the command to be used for viewing. To do this, use the
$ BROWSER and
$ IDENTITY directives. At runtime, the
$ BROWSER command will be replaced with the user's default browser path (for example, Firefox or Internet Explorer) and
$ IDENTITY will be replaced with the URL for the Bugzilla bug that will be stored in this attribute. To ensure that there are no problems even if spaces are found, we surround both of these expressions with double quotes (").
We can also add a description for future links. Double quotes for
$ BROWSER are needed only when the command runs on Windows (when the path to the browser has spaces), so we used the {win and} condition tag, whose content will be included in the command only on Windows, and on other platforms it will be ignored. There are similar tags for each UNIX / Linux platform and a common {unixand} tag that applies to all UNIX / Linux platforms.
Now click OK to close the dialog.
Alternative approach
The approach shown above assumes that the value of an attribute of type BUGZILLA will be the full URL to a bug in Bugzilla. But there is an alternative. The attribute value may simply contain the bug ID. In this case, we must define the View command as
"$BROWSER" bugzilla-computer/Bugzilla/show_bug.cgi?id=$IDENTITY
In this example, we save the location of the Bugzilla database and the command to access a specific bug within the frame type. So, for example, if some Cradle element is associated with a bug in Bugzilla with the number 1234, then you simply specify this number in the Cradle, in an attribute of the type BUGZILLA
When you want to access this item, the following command starts.
"C:\Program Files\Mozilla Firefox\firefox.exe" bugzilla-computer/Bugzilla/show_bug.cgi?id=1234
This approach allows you to duplicate the location of Bugzilla with each link to the bug, and also allows Cradle users to immediately see the bug number, which is much easier to understand and change.
Define an attribute of type BUGZILLA for a requirement
Now that we have a BUGZILLA type, we can define an attribute of this type. In the Project Settings, select the Item Types tab and select the type for which you want to add an attribute. In this example, we use the predefined type Requirement.

Select Frames to display a list of current frames of this type. To create a new frame, click New and enter a name, in this case BUGZILLA BUG, click OK:

The new frame does not contain a type by default, which means that Cradle interprets it simply as a text frame. Select a frame type from the Type drop-down list and set it to BUGZILLA:

Then click OK to close this window and OK again to close the project settings.
Thus, we expanded the project schema by adding to the elements of the Requirement type an attribute named BUGZILLA BUG, the previously created BUGZILLA type. The value of this attribute will be the URL that will refer to the Bugzilla bug, while at the same time browsing it will be Bugzilla and open the bug with the given identifier.
Associate Cradle Elements with Bugzilla Bugs
Using the settings described above, we made it so that elements of the Requirement type now have the BUGZILLA BUG attribute, which contains a link to a bug from Bugzilla. Thus, the value of the attribute BUGZILLA BUG will be the following:
hostname-or-IP/bugzilla/show_bug.cgi?id=bug-ID
eg,
10.0.0.235/bugzilla/show_bug.cgi?id=1
where 10.0.0.235 is the Bugzilla server IP address (of course, the server name can also be used) and 1 is the bug ID. We also described an alternative approach, in which we can not store the entire address, but store only the bug ID.
To refer to a bug from the Cradle element, we need to store the URL or bug ID in the BUGZILLA BUG attribute of this particular element.
For example, a query in the database may list the requirements:

If we change the view so that it reflects the new BUGZILLA BUG attribute, we will first see empty cells:

Select a line of a specific item, select the BUGZILLA BUG field and Edit link:

In the dialog that appears, enter the URL of the bug (or only the ID, depending on the settings)

And click OK.
Now the link to the bug will be saved

If we used the second approach (saving only ID), then here we would see only ID. Of course, this second approach will be more convenient for users.
Starting to view bugs from Cradle items
Since the link to the bug is now saved in the request field, we can open it by clicking on this field and clicking View

Cradle will open your default browser and open this bug, in this case with the number 1.

View Cradle Items from Bugzilla
In Bugzilla, you can create a URL that will refer to the Cradle element. If you click this link, Cradle will open its web interface and display the item associated with the bug.
There are several ways to address items in a cradle database using a URL.
The simplest method is to use the Project Database Unique ID (PDUID), which is automatically assigned to each element in the Cradle. PDUIDs contain 26 characters and can be displayed in forms and views.
For example, a PDUID might look like this: 16EC668D4ADEMO01000000000001
Accordingly, the URL will look like this:
10.0.0.235/cradle/access.cgi?projectcode=DEMO&itempduid=16EC668D4ADEMO010000000001
When you click on this link in Bugzilla, the Cradle web interface opens and displays the item associated with this bug.
------
Additionally:
Setting up the integration of Cradle with JIRA (similar method, description in English)