Get a list of possible assignees for tracker items on the given tracker. Items are always sorted by first name and last name (ascending).
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier of the tracker. Provided in the route,
e.g. GET /api/tracker/:id/assignees. |
| q | string | Optional filter string; returns only assignees whose name contains this value. |
| page_num | int | Zero-based page number. Default is 0. |
| page_size | int | Number of entries per page. Default is 20. |
page_size and page_num parameters to control the set of records
returned.Zero or more UserBasic records.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the user |
| unixName | string | Short, unix-friendly identifier for the user. This is usually also the user's shell logon. |
| password | string | Shared secret for authenticating the user. This value is only set for requests, not for responses. |
| firstname | string | First name for the user |
| lastname | string | Last name for the user |
| string | Email address for the user | |
| timezone | string | Name of the user's time zone (from PHP std list) |
| status | int | Account status, 0 = Pending, 1 = Active, 2 = Deleted |
| externalId | string | Custom external identifier for use in sync to other systems |
| isGroup | string | Y if the specified record is a group, N if it is a single user |
| ccode | string | |
| language | string | |
| theme | mixed | |
| img_url | string | Relative path to the user's icon, if any |
| html_url | string | Relative path to the user's details page (display) |
| details_url | string | Relative path to the user's detail data (API) |
| isSiteAdmin | bool | |
| authMethod | string|null | |
| api_url | string | Relative path to the user's basic data (API) |
GET http://api.mygforge.tld/tracker/232/assignees
{
"paging": {
"page_size": 20,
"page_num": 1,
"sort_field": "id",
"sort_dir": "asc"
},
"items": [
{
"id": 33129,
"unixName": "hectorpizarro",
"password": null,
"firstname": "Hector",
"lastname": "Pizarro",
"email": "hpizarro@gforgegroup.com",
"timezone": "America/Buenos_Aires",
"status": 1,
"externalId": null,
"isGroup": "N",
"ccode": "AR",
"language": "en ",
"theme": 1,
"img_url": "/images/custom_avatars/33129.jpg",
"html_url": "/gf/user/hectorpizarro/",
"details_url": "/api/user/hectorpizarro/details",
"isSiteAdmin": true,
"api_url": "/api/user/hectorpizarro"
},
{
"id": 14030,
"unixName": "adriandelatabla",
"password": null,
"firstname": "Javier Adrián",
"lastname": "Ortiz de la Tabla",
"email": "atabla@gforgegroup.com",
"timezone": "America/Buenos_Aires",
"status": 1,
"externalId": null,
"isGroup": "N",
"ccode": "AR",
"language": "en ",
"theme": 1,
"img_url": "/images/custom_avatars/14030.jpg",
"html_url": "/gf/user/adriandelatabla/",
"details_url": "/api/user/adriandelatabla/details",
"isSiteAdmin": true,
"api_url": "/api/user/adriandelatabla"
},
{
"id": 8388,
"unixName": "mpapayannis",
"password": null,
"firstname": "Mario",
"lastname": "Papayannis",
"email": "mpapayannis@gforgegroup.com",
"timezone": "America/Buenos_Aires",
"status": 1,
"externalId": null,
"isGroup": "N",
"ccode": "AR",
"language": "en ",
"theme": 1,
"img_url": "/images/stock_avatars/default.png",
"html_url": "/gf/user/mpapayannis/",
"details_url": "/api/user/mpapayannis/details",
"isSiteAdmin": true,
"api_url": "/api/user/mpapayannis"
},
{
"id": 5945,
"unixName": "mtutty",
"password": null,
"firstname": "Michael",
"lastname": "Tutty",
"email": "MTUTTY@gforgegroup.com",
"timezone": "America/Chicago",
"status": 1,
"externalId": null,
"isGroup": "N",
"ccode": "US",
"language": "en ",
"theme": 1,
"img_url": "/images/custom_avatars/5945.jpg",
"html_url": "/gf/user/mtutty/",
"details_url": "/api/user/mtutty/details",
"isSiteAdmin": true,
"api_url": "/api/user/mtutty"
},
{
"id": 25868,
"unixName": "tbibbs",
"password": null,
"firstname": "Tony",
"lastname": "Bibbs",
"email": "tbibbs@gforgegroup.com",
"timezone": "US/Central",
"status": 1,
"externalId": null,
"isGroup": "N",
"ccode": "US",
"language": "en ",
"theme": 1,
"img_url": "/images/custom_avatars/25868.jpg",
"html_url": "/gf/user/tbibbs/",
"details_url": "/api/user/tbibbs/details",
"isSiteAdmin": true,
"api_url": "/api/user/tbibbs"
}
],
"links": []
}
Get detailed data for a specific Tracker, by specifying the DB Id for the requested object
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route,
e.g. GET /api/tracker/:id/detail. |
| rel | string | Comma-separated list of related data sections to include. Supported values:
fields (extra field definitions and sprints),
workflow (workflow transition data),
monitoring, assignees,
commit_actions, transition_scripts,
settings. |
A TrackerDetail structure if the tracker exists.
GET http://api.mygforge.tld/tracker/232/details
{
"isPublic": true,
"restrictBrowse": "N",
"emailAllUpdates": null,
"emailAddress": "",
"duePeriod": 2592000,
"fields": {
"priority": {
"alias": "priority",
"fieldName": "Priority",
"fieldType": "4",
"isRequired": false,
"fieldOrder": 0,
"useInQuickBrowse": false,
"showOnSubmit": false,
"defaultValue": "",
"fieldElements": null,
"isExtraField": false
},
"details": {
"alias": "details",
"fieldName": "Details",
"fieldType": "4",
"isRequired": false,
"fieldOrder": 0,
"useInQuickBrowse": true,
"showOnSubmit": true,
"defaultValue": "",
"fieldElements": null,
"isExtraField": false
},
"waiting_for": {
"alias": "waiting_for",
"fieldName": "Waiting For",
"fieldType": "4",
"isRequired": false,
"fieldOrder": 0,
"useInQuickBrowse": true,
"showOnSubmit": true,
"defaultValue": "",
"fieldElements": null,
"isExtraField": false
},
"open_date": {
"alias": "open_date",
"fieldName": "Open Date",
"fieldType": "9",
"isRequired": false,
"fieldOrder": 0,
"useInQuickBrowse": false,
"showOnSubmit": false,
"defaultValue": "",
"fieldElements": null,
"isExtraField": false
},
"close_date": {
"alias": "close_date",
"fieldName": "Close Date",
"fieldType": "9",
"isRequired": false,
"fieldOrder": 0,
"useInQuickBrowse": false,
"showOnSubmit": false,
"defaultValue": "",
"fieldElements": null,
"isExtraField": false
},
"foundinrelease": {
"alias": "foundinrelease",
"fieldName": "Found In Release",
"fieldType": 8,
"isRequired": true,
"fieldOrder": 1,
"useInQuickBrowse": false,
"showOnSubmit": true,
"defaultValue": null,
"fieldElements": null,
"isExtraField": true
},
"fixedinrelease": {
"alias": "fixedinrelease",
"fieldName": "Fixed In Release",
"fieldType": 8,
"isRequired": false,
"fieldOrder": 2,
"useInQuickBrowse": false,
"showOnSubmit": false,
"defaultValue": null,
"fieldElements": null,
"isExtraField": true
},
"resolution": {
"alias": "resolution",
"fieldName": "Resolution",
"fieldType": 1,
"isRequired": false,
"fieldOrder": 3,
"useInQuickBrowse": false,
"showOnSubmit": false,
"defaultValue": null,
"fieldElements": [
{
"id": 469,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Accepted",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
},
{
"id": 470,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Rejected",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
},
{
"id": 471,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Works For Me",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
},
{
"id": 472,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Postponed",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
},
{
"id": 473,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Out of date",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
}],
"isExtraField": true
},
"status": {
"alias": "status",
"fieldName": "Status",
"fieldType": 7,
"isRequired": true,
"fieldOrder": 4,
"useInQuickBrowse": true,
"showOnSubmit": true,
"defaultValue": null,
"fieldElements": [
{
"id": 3053,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Closed",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
},
{
"id": 3052,
"alias": null,
"trackerExtraFieldId": null,
"elementName": "Open",
"statusId": 1,
"defaultSelected": true,
"sortOrder": 0,
"autoAssignTo": 100,
"canCommit": false
}],
"isExtraField": true
}
},
"settings": {
"emailAllUpdates": "N",
"showAssociationsTab": "Y",
"showDependenciesTab": "Y",
"showDuplicatesTab": "Y",
"showTagsTab": "Y",
"showTimeTrackingTab": "Y",
"sendAbbreviatedEmail": "N"
},
"id": 232,
"project": {
"id": 134,
"name": null,
"unixName": "msproject",
"homepageUrl": "/gf/project/msproject/",
"createDate": "2005-07-11 15:37:01 -0300",
"isPublic": "N",
"status": 1,
"isTemplate": "N"
},
"trackerName": "Bugs",
"description": "Bug Tracking System",
"submitInstructions": "",
"browseInstructions": "",
"numItems": 20,
"numItemsOpen": 1,
"trackerType": 1,
"details_url": "/api/tracker/232/detail",
"api_url": "/api/tracker/232/detail",
"parent": null
}
Get list of users with access to the tracker
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route or query string. |
List of users that have at least read access to this tracker.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the user |
| unixName | string | Short, unix-friendly identifier for the user. This is usually also the user's shell logon. |
| password | string | Shared secret for authenticating the user. This value is only set for requests, not for responses. |
| firstname | string | First name for the user |
| lastname | string | Last name for the user |
| string | Email address for the user | |
| timezone | string | Name of the user's time zone (from PHP std list) |
| status | int | Account status, 0 = Pending, 1 = Active, 2 = Deleted |
| externalId | string | Custom external identifier for use in sync to other systems |
| isGroup | string | Y if the specified record is a group, N if it is a single user |
| ccode | string | |
| language | string | |
| theme | mixed | |
| img_url | string | Relative path to the user's icon, if any |
| html_url | string | Relative path to the user's details page (display) |
| details_url | string | Relative path to the user's detail data (API) |
| isSiteAdmin | bool | |
| authMethod | string|null | |
| api_url | string | Relative path to the user's basic data (API) |
Get list of saved queries for a specific Tracker, by specifying the DB Id for the tracker. Tracker node contains the Tracker object data.
| Name | Type | Description |
|---|---|---|
| id | int | Tracker database identifier (from route). When present, queries are scoped to this tracker. |
| projectId | string | Project unix name or numeric ID. Used when no tracker id is provided in the route. |
| queryName | string | Optional filter: return only queries whose name contains this value. |
| selectedTracker | string | Numeric tracker ID used to determine the default query preference. |
| user | int | Optional filter: return only queries owned by this user ID. |
| isShared | string | Optional filter: Y or N to filter by shared flag. |
| queryId | int | Return only the query with this specific ID. |
| admin | bool | When true and the caller is a project admin, all queries are returned
instead of just the caller's own queries. |
| page_num | int | Zero-based page number. Default is 0. |
| page_size | int | Number of entries per page. Default is 20. |
sort_field and sort_dir parameters to control the order in which
records are returned.page_size and page_num parameters to control the set of records
returned.Zero or more TrackerQuery records.
GET http://api.mygforge.tld/tracker/232/queries
{ "paging": { "page_size": 20, "page_num": 0, "sort_field": "id", "sort_dir": "asc" }, "items": [ { "id": 493, "tracker": {...}, "user": "tbibbs", "queryName": "Open Items", "isShared": true, "queryFields": {...} }, { "id": 10219, "tracker": {...}, "user": "tbibbs", "queryName": "6.2.1 Changelog", "isShared": true, "queryFields": {...} }, { "id": 10444, "tracker": {...}, "user": "tbibbs", "queryName": "6.3.0 Changelog", "isShared": true, "queryFields": {...} } ], "links": [] }
Get a single TrackerQuery (with all related objects) by its unique identifier.
| Name | Type | Description |
|---|---|---|
| subid | int | Unique identifier for the query. The id route segment is
reserved for the parent tracker ID and is ignored here. |
| query | int | Alternative to subid in the route; accepted as a query-string
parameter when the route subid is absent. |
Get summarized stats values for items within the specified Tracker.
| Name | Type | Description |
|---|---|---|
| id | int | The unique identifier for the Tracker being summarized. Submitted as part of the route, e.g., /api/tracker/:id/stats |
| type | string | The type of summarization to be done. Only "count" and "burndown" is supported. |
| group_by | string | The alias (short name) of the intrinsic field or extra field on which to group the calculation. Supported values are "assignee", "priority", "statusId", "submittedBy". |
| other | mixed | Other filter parameters can be submitted in the typical query string format name=value, e.g., &statusId=1. Only single-value filters can be submitted, and fields and values must have aliases or text values (i.e., no IDs) |
Zero or more StatsBasic records with the requested calculations.
Searches for trackers matching criteria, or retrieves a specific tracker by ID
Returns 0 or more TrackerBasic models in an array, if a search is being made. If a specific Tracker is requested by passing the db ID, it will return either null or the Tracker object.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier. If provided in the route or query string, the other filter parameters are ignored and a single TrackerBasic is returned. |
| trackerName | string | Full or partial tracker name to filter by. |
| description | string | Full or partial tracker description to filter by. |
| project | int | Project ID whose trackers should be returned. |
| sort_field | string | Field to sort list results by. Allowed values: id,
tracker_id, trackerName, type.
Default is trackerName. |
| sort_dir | string | Sort direction for list results. Allowed values: asc,
desc. Default is asc. |
| page_num | int | Zero-based page number for paged list results. Default is 0. |
| page_size | int | Number of entries per page. Default is 20. |
sort_field and sort_dir parameters to control the order in which
records are returned.page_size and page_num parameters to control the set of records
returned.Single TrackerBasic when an id is resolved; zero or more TrackerBasic records for a search.
GET http://api.mygforge.tld/tracker/?trackerName=gforge
[
{
"id": 10237,
"project": 138,
"trackerName": "GForge Support",
"description": "GForge Support Tracker",
"submitInstructions": "The GForge Group works hard to ensure we provide the best possible support to
customers. You can add new tickets using the form below or you can simply send an email to
support@gforgegroup.com. Please note that email with attachments
will be automatically attached to your support ticket. Also, be sure to check out our
Knowledge Base for
answers to the most common questions.
\n",
"browseInstructions": "",
"numItems": 3027,
"numItemsOpen": 51,
"trackerType": 3,
"details_url": "/api/tracker/10237/detail",
"api_url": "/api/tracker/10237"
}
]
GET http://api.mygforge.tld/tracker/355
{
"id": 355,
"project": 138,
"trackerName": "GForge",
"description": "All tasks for future versions of GForge",
"submitInstructions": "",
"browseInstructions": "",
"numItems": 4438,
"numItemsOpen": 571,
"trackerType": 2,
"details_url": "/api/tracker/355/detail",
"api_url": "/api/tracker/355"
}
GET http://api.mygforge.tld/tracker/?project=1
[
{"id":232,"project":134,"trackerName":"Bugs","description":"Bug Tracking System","submitInstructions":"",
"browseInstructions":"","numItems":20,"numItemsOpen":1,"trackerType":1,
"details_url":"\/api\/tracker\/232\/detail","api_url":"\/api\/tracker\/232"},
{"id":235,"project":134,"trackerName":"Feature Requests","description":"Feature Request Tracking System",
"submitInstructions":"","browseInstructions":"","numItems":0,"numItemsOpen":0,"trackerType":1,
"details_url":"\/api\/tracker\/235\/detail","api_url":"\/api\/tracker\/235"},
{"id":337,"project":134,"trackerName":"Next Release","description":"Items For Our Next Release",
"submitInstructions":"","browseInstructions":"","numItems":0,"numItemsOpen":0,"trackerType":2,
"details_url":"\/api\/tracker\/337\/detail","api_url":"\/api\/tracker\/337"},
{"id":234,"project":134,"trackerName":"Patches","description":"Patch Tracking System","submitInstructions":"",
"browseInstructions":"","numItems":0,"numItemsOpen":0,"trackerType":1,
"details_url":"\/api\/tracker\/234\/detail","api_url":"\/api\/tracker\/234"},
{"id":233,"project":134,"trackerName":"Support Requests","description":"Tech Support Tracking System",
"submitInstructions":"","browseInstructions":"","numItems":1,"numItemsOpen":1,"trackerType":1,
"details_url":"\/api\/tracker\/233\/detail","api_url":"\/api\/tracker\/233"},
{"id":336,"project":134,"trackerName":"To Do","description":"Things We Have To Do","submitInstructions":"",
"browseInstructions":"","numItems":3,"numItemsOpen":2,"trackerType":2,
"details_url":"\/api\/tracker\/336\/detail","api_url":"\/api\/tracker\/336"},
{"id":9237,"project":134,"trackerName":"unittest","description":"Test Create Subproject",
"submitInstructions":"","browseInstructions":"","numItems":0,"numItemsOpen":0,"trackerType":2,
"details_url":"\/api\/tracker\/9237\/detail","api_url":"\/api\/tracker\/9237"}
]
Returns an array with all the extra fields with enabled workflow transitions (useWorfklow=true) and a collection of the allowed elements for each tracker extra field state.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route,
e.g. GET /api/tracker/:id/workflow. |
TrackerExtraField objects with their associated TrackerExtraFieldElement transition sets.
GET http://api.mygforge.tld/api/tracker/355/workflow
{
"paging": {
"page_size": 20,
"page_num": 1,
"sort_field": "id",
"sort_dir": "asc"
},
"items": [
{
"alias": "status",
"fieldName": "Status",
"fieldType": 7,
"isRequired": true,
"fieldOrder": 0,
"useInQuickBrowse": true,
"showOnSubmit": true,
"defaultValue": null,
"fieldElements": [
{
"id": 3244,
"alias": "",
"label": "Awaiting Assignment",
"statusId": 1,
"defaultSelected": true,
"sortOrder": 0,
"toElements": [
{
"id": 238970,
"alias": "",
"label": "Accepted",
"statusId": 1,
"defaultSelected": false,
"sortOrder": 1
},
{
"id": 238967,
"alias": "",
"label": "Blocked\/Waiting For",
"statusId": 1,
"defaultSelected": false,
"sortOrder": 2
},
{
"id": 238969,
"alias": "",
"label": "Won't Fix",
"statusId": 0,
"defaultSelected": false,
"sortOrder": 7
}
}
...
"links": []
}
Import tracker items from an uploaded CSV file.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the target tracker. Provided in the route. |
Result summary with keys created (map of id → summary),
changes (map of id → summary), and errors
(map of id → error description).
Create or update a tracker and its settings.
| Name | Type | Description |
|---|---|---|
| id | int | Database ID of the tracker to update. Zero or absent means create. |
| project | int | Project ID for the new tracker (create only). |
| trackerName | string | Display name for the tracker. |
| description | string | Tracker description. |
| submitInstructions | string | HTML instructions shown on the submit form. |
| browseInstructions | string | HTML instructions shown on the browse page. |
| trackerType | int | Tracker type constant (e.g. standard, kanban). |
| isPublic | bool | Whether anonymous users can read items in this tracker. |
| emailAlias | string | Incoming e-mail alias for creating items via e-mail. Validated for uniqueness across the whole system before being saved. |
| settings | array | Map of tracker settings keyed by setting name (e.g.
nagAlerts, autoClose). |
| rel | array | Map of related-entity updates (e.g. commit_actions,
workflow.fields). |
| template_id | int | Source tracker ID when cloning. Triggers clone path when present and
id is zero. |
The saved tracker detail.
Saves/updates one or more tracker extra fields
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route. |
| fields | array | Array of field descriptor objects. Each element may contain:
id (int, optional — 0 or absent to create),
alias (string), fieldName (string),
fieldType (int), isRequired (bool),
showOnSubmit (bool), useInQuickBrowse (bool),
fieldOrder (int), defaultValue (string),
fieldElements (array of element descriptors, optional). |
Stores as a user preference the defined project saved query for this user.
| Name | Type | Description |
|---|---|---|
| projectId | string | Project unix name or numeric ID. |
| queryId | string | Numeric ID of the TrackerQuery to set as default for the authenticated user. |
The saved preference, containing its ID.
| Name | Type | Description |
|---|---|---|
| preferenceName | string | |
| setDate | string | |
| preferenceValue | string | Date when the account was created |
| user | \gforge\core\models\api\UserBasic |
Create or update a single TrackerQuery.
| Name | Type | Description |
|---|---|---|
| id | int | TrackerQuery database ID. When greater than zero the existing query is updated; when zero a new query is created. |
| tracker | int | Tracker ID to associate with a new query. Ignored for updates. |
| queryName | string | Display name for the query. |
| isShared | bool | Whether the query is visible to all project members. |
| queryFields | array | Array of query field descriptors (each with type,
id, and value keys). |
| queryDisplayColumns | array | Array of display-column descriptors (each with
fieldId and optional fieldOrder keys). |
The saved query, equivalent to the output of getQuery.
Takes workflow settings for a collection of fields and persists it.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route. |
| workflow | array | Workflow descriptor object with a fields key containing
an array of field workflow descriptors. Each field descriptor has an
alias (string) and a fieldElements array
where each element includes a toElements array of
permitted transition targets. |
GET http://api.mygforge.tld/api/tracker/355/workflow
"workflow": {
"fields: [
{
"alias": "status",
"fieldName": "Status",
"fieldType": 7,
"isRequired": true,
"fieldOrder": 0,
"useInQuickBrowse": true,
"showOnSubmit": true,
"defaultValue": null,
"fieldElements": [
{
"id": 3244,
"alias": "",
"label": "Awaiting Assignment",
"statusId": 1,
"defaultSelected": true,
"sortOrder": 0,
"toElements": [
{
"id": 238970,
"alias": "",
"label": "Accepted",
"statusId": 1,
"defaultSelected": false,
"sortOrder": 1
},
{
"id": 238967,
"alias": "",
"label": "Blocked\/Waiting For",
"statusId": 1,
"defaultSelected": false,
"sortOrder": 2
}]
}
]
}
Deletes one tracker extra field
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route. |
| tefId | string | Extra field database ID (numeric) or alias (string). Provided in the route. |
Deletes a tracker query
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the query to delete. Provided in the route. |
Deletes a tracker
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier of the tracker to delete. Provided in the route,
e.g. DELETE /api/tracker/:id. |
Deletes the associated workflow for a given field.
| Name | Type | Description |
|---|---|---|
| id | int | Unique database identifier for the tracker. Provided in the route. |
| field | string | Alias of the extra field whose workflow should be removed. |