<< Back to GForge REST API

Entity: Trackeritem

GET

getAssociations

Get an array with basic objects of associated items to the provided item organized by object type

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters See description for details about expected properties.

Return: array

No return type is defined

Example 1

Retrieve Tracker Item relations array of items for ID :
  GET http://api.mygforge.tld/trackeritem/22883/associations

 {
     "paging": {
         "page_size":20,
         "page_num":1,
         "sort_field":"id",
         "sort_dir":"asc"
      },
     "items":{
         "forummessage": [ ForumMessageBasic objects],
         "scmcommit": [ ScmCommitBasic objects ],
         "docmanfile": [ DocmanFileBasic objects ],
         "wikipage": [ WikiPageBasic objects ],
         "frsrelease": [ FrsReleaseBasic objects ]
      }
}

getAttachment

Get binary object corresponding to an attachment for a given tracker item and attachment id

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters See description for details about expected properties. *

Return: (none)

No return type is defined

Example 1

Retrieve binary object for a specified tracker item ID and attachment ID:
  GET http://api.mygforge.tld/trackeritem/2/attachment/5/some-picture.png

getBranches

Get the branch(es) associated with this TI. These branch(es) will be the first place that associated commits we added to the repository. You can use these branches to merge work for this TI to another branch in your promotion model.

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters

Return: \array(of

string) The list of zero or more branch name(s) that contain original commits for this TI.

getDetails

Get detailed data for a specific Tracker item, by specifying the DB Id for the requested object NOTE: These rels are not yet available: commits, time, duplicates, dependencies, associations

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters See description for details about expected properties.

Related Entities (6)

Return: \api\TrackerItemBasic

A TrackerItemBasic structure if the tracker item exists. Otherwise, a NotFoundException (404 response).

Example 1

Retrieve Tracker item details for ID :
  GET http://api.mygforge.tld/trackeritem/2/details

{
"id": 2,
"fieldsData": {
"bug_extra_field_": {
"id": 0,
"alias": "bug_extra_field_",
"fieldName": "Bug Extra Field 2",
"values": [
{
"id": 113,
"alias": null,
"value": "Element 2"
}
],
"fieldOrder": 0,
"isIntrinsic": false
        },
        "testmembersfield": {
            "id": 0,
            "alias": "testmembersfield",
            "fieldName": "test_members:field",
            "values": null,
            "fieldOrder": 1,
            "isIntrinsic": false
        },
        "testnumeric": {
            "id": 0,
            "alias": "testnumeric",
            "fieldName": "test_numeric",
            "values": "",
            "fieldOrder": 2,
            "isIntrinsic": false
        },
        "testdate": {
            "id": 0,
            "alias": "testdate",
            "fieldName": "test_date",
            "values": "Jan 04 2010",
            "fieldOrder": 3,
            "isIntrinsic": false
        },
        "testserial": {
            "id": 0,
            "alias": "testserial",
            "fieldName": "test_serial",
            "values": "1",
            "fieldOrder": 4,
            "isIntrinsic": false
        },
        "status_test": {
            "id": 0,
            "alias": "status_test",
            "fieldName": "Status Test",
            "values": [
                {
                    "id": 430,
                    "alias": null,
                    "value": "Open"
                }
            ],
            "fieldOrder": 5,
            "isIntrinsic": false
        },
        "fixedinrelease": {
            "id": 0,
            "alias": "fixedinrelease",
            "fieldName": "Fixed In Release",
            "values": [
                {
                    "id": 17,
                    "alias": "",
                    "value": "test-release3"
                }
            ],
            "fieldOrder": 6,
            "isIntrinsic": false
        },
        "foundinrelease": {
           "id": 0,
            "alias": "foundinrelease",
            "fieldName": "Found In Release",
            "values": null,
            "fieldOrder": 7,
            "isIntrinsic": false
        },
        "test_multiselect_box": {
            "id": 0,
            "alias": "test_multiselect_box",
            "fieldName": "Test MultiSelect Box",
            "values": [
                {
                    "id": 121,
                    "alias": null,
                    "value": "Multiselect Element2"
                }
            ],
            "fieldOrder": 8,
            "isIntrinsic": false
        },
        "test_checkbox_field": {
            "id": 0,
            "alias": "test_checkbox_field",
            "fieldName": "Test CheckBox Field",
            "values": [
                {
                    "id": 125,
                    "alias": null,
                    "value": "Element 2"
                },
                {
                    "id": 123,
                    "alias": null,
                    "value": "Checkbox Element2"
                },
                {
                    "id": 124,
                    "alias": null,
                    "value": "Element 1"
                }
            ],
            "fieldOrder": 9,
            "isIntrinsic": false
        },
        "test_text_field": {
            "id": 0,
            "alias": "test_text_field",
            "fieldName": "Test Text Field",
            "values": "&amp;amp;amp;amp;lt;data  sample&amp;amp;amp;a",
            "fieldOrder": 10,
            "isIntrinsic": false
        },
        "test_text_area": {
            "id": 0,
            "alias": "test_text_area",
            "fieldName": "Test Text Area",
            "values": "test test test\r\ntest test test\r\nfoo bar baz",
            "fieldOrder": 11,
            "isIntrinsic": false
        },
        "test_radio": {
            "id": 0,
            "alias": "test_radio",
            "fieldName": "Test Radio",
            "values": [
                {
                    "id": 128,
                    "alias": null,
                    "value": "Test Radio Button 1"
                }
            ],
            "fieldOrder": 12,
            "isIntrinsic": false
        },
        "resolution": {
            "id": 0,
            "alias": "resolution",
            "fieldName": "Resolution",
            "values": [
                {
                    "id": 399,
                    "alias": null,
                    "value": "Out of Date"
                }
            ],
            "fieldOrder": 13,
            "isIntrinsic": false
        },
        "group": {
            "id": 0,
            "alias": "group",
            "fieldName": "Group",
            "values": [
                {
                    "id": 393,
                    "alias": null,
                    "value": "v1.0 (example)"
                }
            ],
            "fieldOrder": 14,
            "isIntrinsic": false
        },
        "category": {
            "id": 0,
            "alias": "category",
            "fieldName": "Category",
            "values": [
                {
                    "id": 429,
                    "alias": null,
                    "value": "Test Category 4"
                }
            ],
            "fieldOrder": 15,
            "isIntrinsic": false
        },
        "test_select_box": {
            "id": 0,
            "alias": "test_select_box",
            "fieldName": "Test Select Box",
            "values": null,
            "fieldOrder": 16,
            "isIntrinsic": false
        }
    },
    "assignees": [
        {
            "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   ",
            "img_url": "/images/stock_avatars/default.png",
            "html_url": "/gf/user/mpapayannis/",
            "details_url": "/api/user/mpapayannis/details",
            "api_url": "/api/user/mpapayannis"
        }
    ],
    "messages": [
        {
            "id": 1,
            "adddate": {
                "date": "2002-11-29 01:06:52",
                "timezone_type": 1,
                "timezone": "-03:00"
            },
            "body": "Logged In: NO 
\n
\nergreg", "user": { "id": 100, "unixName": "None", "password": null, "firstname": "Nobody", "lastname": " ", "email": "noreply@gforge.org", "timezone": "GMT", "status": 1, "externalId": null, "isGroup": "N", "ccode": "US", "language": "en ", "img_url": "/images/stock_avatars/default.png", "html_url": "/gf/user/None/", "details_url": "/api/user/None/details", "api_url": "/api/user/None" } }, { "id": 870, "adddate": { "date": "2003-07-08 20:00:02", "timezone_type": 1, "timezone": "-03:00" }, "body": "Logged In: YES
\nuser_id=1402
\n
\nhttp://www.test.com", "user": { "id": 1402, "unixName": "jlperla", "password": null, "firstname": "JP", "lastname": " ", "email": "noreply@gforge.org", "timezone": "GMT", "status": 1, "externalId": null, "isGroup": "N", "ccode": "US", "language": "en ", "img_url": "/images/stock_avatars/default.png", "html_url": "/gf/user/jlperla/", "details_url": "/api/user/jlperla/details", "api_url": "/api/user/jlperla" } }, ], "scmCommits": null, "times": [ { "id": 5, "dateEntry": { "date": "2006-10-10 00:00:00", "timezone_type": 3, "timezone": "America/Buenos_Aires" }, "hours": 4, "trackerTimeCode": 1, "user": 1 }, { "id": 6, "dateEntry": { "date": "2006-10-10 00:00:00", "timezone_type": 3, "timezone": "America/Buenos_Aires" }, "hours": 4, "trackerTimeCode": 2, "user": 1 }, { "id": 7, "dateEntry": { "date": "2006-09-29 00:00:00", "timezone_type": 3, "timezone": "America/Buenos_Aires" }, "hours": 4, "trackerTimeCode": 2, "user": 1 }, { "id": 8, "dateEntry": { "date": "2006-09-29 00:00:00", "timezone_type": 3, "timezone": "America/Buenos_Aires" }, "hours": 4, "trackerTimeCode": 1, "user": 1 }, { "id": 299, "dateEntry": { "date": "2008-08-21 00:00:00", "timezone_type": 3, "timezone": "America/Buenos_Aires" }, "hours": 12, "trackerTimeCode": 9, "user": 8388 } ], "duplicateBy": [ { "id": 3, "tracker": 101, "statusId": 0, "submittedBy": 1, "summary": "Test Bug 2", "lastModifiedDate": { "date": "2010-12-02 15:13:03", "timezone_type": 1, "timezone": "-03:00" }, "lastModifiedBy": 1, "sortOrder": 0, "parent": null, "hasSubitems": false, "subitemsCount": 0, "fieldsData": [] }, { "id": 4, "tracker": 101, "statusId": 1, "submittedBy": 1, "summary": "Test Bug 3", "lastModifiedDate": { "date": "2006-09-21 12:42:43", "timezone_type": 1, "timezone": "-03:00" }, "lastModifiedBy": 1, "sortOrder": 0, "parent": null, "hasSubitems": false, "subitemsCount": 0, "fieldsData": [] } ], "duplicateOf": [], "dependentUponBy": [ { "id": 3, "tracker": 101, "statusId": 0, "submittedBy": 1, "summary": "Test Bug 2", "lastModifiedDate": { "date": "2010-12-02 15:13:03", "timezone_type": 1, "timezone": "-03:00" }, "lastModifiedBy": 1, "sortOrder": 0, "parent": null, "hasSubitems": false, "subitemsCount": 0, "fieldsData": [] } ], "dependentOn": [], "tracker": { "id": 101, "project": 5, "trackerName": "Bugs", "description": "Bug Tracking System", "submitInstructions": "", "browseInstructions": "", "numItems": 133, "numItemsOpen": 121, "trackerType": 1, "details_url": "/api/tracker/101/detail", "api_url": "/api/tracker/101" }, "statusId": 1, "submittedBy": { "id": 1, "unixName": "bigdisk", "password": null, "firstname": "Timothy", "lastname": "Perdue", "email": "tim.perdue@gmail.com", "timezone": "America/Chicago", "status": 2, "externalId": null, "isGroup": "N", "ccode": "US", "language": "en ", "img_url": "/images/stock_avatars/default.png", "html_url": "/gf/user/bigdisk/", "details_url": "/api/user/bigdisk/details", "api_url": "/api/user/bigdisk" }, "summary": "Test Bug 1", "lastModifiedDate": { "date": "2010-02-08 15:35:19", "timezone_type": 1, "timezone": "-03:00" }, "lastModifiedBy": 4550, "sortOrder": 0, "parent": null, "hasSubitems": false, "subitemsCount": 0 }

getHistory

Get History items for a given Tracker item object, by specifying the DB Id for the requested object

Parameters (1)

Name Type Description
request \RequestParameters See description for details about expected properties.

Return: \gforge\plugins\tracker\models\api\TrackerItemHistory[]

An array of TrackerItemHistory structures if the tracker item exists. Otherwise, a NotFoundException (404 response).

Example 1

Retrieve Tracker Item history items for ID :
  GET http://api.mygforge.tld/trackeritem/232/history

    {
    "paging": {
    "page_size": 20,
    "page_num": 1,
    "sort_field": "id",
    "sort_dir": "asc"
    },
    "items": [
         {
         "activityOrigin": "audit_trail",
         "activityDate": {
         "date": "2012-11-30 11:20:35",
         "timezone_type": 1,
         "timezone": "-03:00"
         },
         "user": {
             "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": "/api/user/mtutty/avatar",
             "html_url": "/#/user/mtutty/",
             "details_url": "/api/user/mtutty/details",
             "isSiteAdmin": true,
             "api_url": "/api/user/mtutty"
         },
         "detail": "Field: status_id: 1 -> 0",
         "activityType": ""
         },
         {
         "activityOrigin": "audit_trail",
         "activityDate": {
             "date": "2012-11-29 18:22:13",
             "timezone_type": 1,
             "timezone": "-03:00"
         },
         "user": {
             "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": "/api/user/mtutty/avatar",
             "html_url": "/#/user/mtutty/",
             "details_url": "/api/user/mtutty/details",
             "isSiteAdmin": true,
             "api_url": "/api/user/mtutty"
         },
         "detail": "Field: _created_:  -> 20120614 -> 20121129 update script does not set up Git template project properly",
         "activityType": ""
         }
     ]
 }

getTrackeritem

Searches for tracker items matching criteria, or retrieves a specific tracker item by ID

Returns 0 or more TrackerItemBasic models in an array, if a search is being made. If a specific Tracker item is requested by passing the db ID, it will return either null or the Tracker item object. Parameters the service accepts for performing a search:


Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters
Sortable
Use the sort_field and sort_dir parameters to control the order in which records are returned.
Pageable
Use the page_size and page_num parameters to control the set of records returned.

Related Entities (6)

Return: \api\TrackerItemBasic[]

Zero or more TrackerItemBasic records for a search. Zero or one TrackerItemBasic record for an id retrieval.

Example 1

Find tracker items order by trackers desc:
http://api.mygforge.tld/trackeritem/?sort_field=tracker&sort_dir=desc

{
  "id": 15641,
  "tracker": {
      "id": 10661,
      "project": 138,
      "trackerName": "Business Development",
      "description": "Business Development Tracker",
      "submitInstructions": "",
      "browseInstructions": "Grab 25 Records and "Mass Update" the assignee field to Olivia Bradley",
      "numItems": 3589,
      "numItemsOpen": 3523,
      "trackerType": 1,
      "details_url": "\/api\/tracker\/10661\/detail",
      "api_url": "\/api\/tracker\/10661",
      "fields": {
          "priority": "Priority",
          "open_date": "Open Date",
          "close_date": "Close Date",
          "details": "Details",
          "waiting_for": "Waiting For",
          "status": "Status",
          "usefortraining": "Use for Training",
          "website": "Website",
          "city": "City",
          "state": "State",
          "industriesserved83": "Industries Served",
          "companybio23": "Company Bio",
          "keystakeholder": "Key Stakeholder",
          "stakeholderstitle": "Stakeholder's Title",
          "stakeholdersemail": "Stakeholder's Email",
          "primaryphone": "Primary Phone #",
          "secondaryphone": "Secondary Phone #",
          "businessproblems50": "Business Problems",
          "provocationquestio76": "Provocation Questions",
          "nextcontact": "Next Contact",
          "emailcontent": "Email Content",
          "linkedincontent": "LinkedIn Content"
      }
  },
  "statusId": 0,
  "submittedBy": {
      "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"
  },
  "summary": "Zywave, Inc.",
  "lastModifiedDate": {
      "date": "2014-02-27 14:51:50",
      "timezone_type": 1,
      "timezone": "+00:00"
  },
  "lastModifiedBy": 33151,
  "sortOrder": 0,
  "parent": null,
  "hasSubitems": false,
  "subitemsCount": 0,
  "fieldsData": {
      "status": {
          "id": 257651,
          "elementName": "Non-Believer"
      },
      "priority": 3,
      "waiting_for": 0,
      "usefortraining": {
          "id": 258789,
          "alias": "no",
          "elementName": "No"
      },
      "details": null,
      "open_date": {
          "date": "2014-01-09 21:57:28",
          "timezone_type": 1,
          "timezone": "+00:00"
      },
      "close_date": {
          "date": "2014-02-06 16:52:47",
          "timezone_type": 1,
          "timezone": "+00:00"
      },
      "website": "zywave.com",
      "city": "Milwaukee",
      "state": {
          "id": 257716,
          "alias": "wi",
          "elementName": "Wisconsin"
      },
      "industriesserved83": {
          "id": 257664,
          "elementName": "Software Consulting"
      },
      "companybio23": "<p>\r\n&lt;p&gt; Zywave draws on industry expertise and technology ingenuity to create software-enabled solutions that are the choice of more than 2,700 clients around the world.&amp;nbsp;&lt;br \/&gt; &lt;br \/&gt; With deep industry insight, Zywave provides clients innovative ways to differentiate and grow their business through marketing communications, agency automation, client portal and data analytics technology tools that set the industry standard.&lt;\/p&gt; &lt;p&gt; &lt;br \/&gt; Key Stakeholder: Joe Gibson&lt;br \/&gt; Title: Chief Financial Officer&lt;br \/&gt; Phone: (414) 454-6100&lt;br \/&gt; Secondary Phone: (414) 454-6100&lt;\/p&gt;<\/p>\r\n",
      "keystakeholder": "Andrew King",
      "stakeholderstitle": "CIO \/ Vice President of Information Systems",
      "stakeholdersemail": "andrew.king@zywave.com",
      "primaryphone": "(414) 918-2626",
      "secondaryphone": "(414) 918-2626",
      "businessproblems50": "<p>\r\n&lt;ol&gt; &lt;li&gt;Lack of Communication&lt;\/li&gt; &lt;li&gt;Different Project Sizes&lt;\/li&gt; &lt;li&gt;Missed Deadlines&lt;\/li&gt; &lt;\/ol&gt;<\/p>\r\n",
      "provocationquestio76": "<p>\r\n&lt;ol&gt; &lt;li&gt;What sort of collaboration tools are you using to help improve communication among team members within and across your projects?&lt;\/li&gt; &lt;li&gt;Do you feel your current processes and tools scale to your needs project to project?&lt;\/li&gt; &lt;li&gt;How often are your teams hitting their deadlines?&lt;\/li&gt; &lt;\/ol&gt;<\/p>\r\n",
      "nextcontact": "Feb 05 2014",
      "emailcontent": "<p>\r\n&lt;p&gt; Subject Line: Make your customers happier with better collaboration&lt;\/p&gt; &lt;p&gt; Hi Andrew,&lt;\/p&gt; &lt;p&gt; My name is Olivia Bradley and I am a Business Development Intern with The GForge Group and we provide a software collaboration suite that provides source code management, allows you to track bugs, issues and tasks, and provides your teams a document management system and integrated chat.&lt;\/p&gt; &lt;p&gt; I see that your company&amp;nbsp;creates software-enabled solutions, and I would like to get your feedback on the questions:&lt;\/p&gt; &lt;ol&gt; &lt;li&gt;What sort of collaboration tools are you using to help improve communication among team members within and across your projects?&lt;\/li&gt; &lt;li&gt;Do you feel your current processes and tools scale to your needs project to project?&lt;\/li&gt; &lt;li&gt;How often are your teams hitting their deadlines?&lt;\/li&gt; &lt;\/ol&gt; &lt;p&gt; Thank you for your time, and please a take a minute to browse our website at &lt;a href=&quot;https:\/\/gforgegroup.com\/&quot; style=&quot;text-decoration:none;&quot;&gt;&lt;u&gt;https:\/\/gforgegroup.com&lt;\/u&gt;&lt;\/a&gt; and email me back with any questions you may have!&lt;\/p&gt; &lt;p&gt; &lt;br \/&gt; &amp;nbsp;&lt;\/p&gt;<\/p>\r\n",
      "linkedincontent": "<p>\r\n&lt;p&gt; &amp;nbsp;&lt;\/p&gt; &lt;p&gt; &amp;nbsp;&lt;\/p&gt;<\/p>\r\n"
  },
  "assignees": [{
      "id": 100,
      "unixName": "None",
      "password": null,
      "firstname": "Nobody",
      "lastname": " ",
      "email": "noreply@gforge.org",
      "timezone": "GMT",
      "status": 1,
      "externalId": null,
      "isGroup": "N",
      "ccode": "US",
      "language": "en   ",
      "theme": 1,
      "img_url": "\/images\/stock_avatars\/default.png",
      "html_url": "\/gf\/user\/None\/",
      "details_url": "\/api\/user\/None\/details",
      "isSiteAdmin": false,
      "api_url": "\/api\/user\/None"
  }],
  "submittedByName": "Tony Bibbs",
  "lastModifiedByName": "Tony Bibbs",
  "lastModifiedByImgUrl": "\/images\/custom_avatars\/0.jpg"
},
{
  "id": 18573,
  "tracker": {
      "id": 10661,
      "project": 138,
      "trackerName": "Business Development",
      "description": "Business Development Tracker",
      "submitInstructions": "",
      "browseInstructions": "Grab 25 Records and "Mass Update" the assignee field to Olivia Bradley",
      "numItems": 3589,
      "numItemsOpen": 3523,
      "trackerType": 1,
      "details_url": "\/api\/tracker\/10661\/detail",
      "api_url": "\/api\/tracker\/10661",
      "fields": {
          "priority": "Priority",
          "open_date": "Open Date",
          "close_date": "Close Date",
          "details": "Details",
          "waiting_for": "Waiting For",
          "status": "Status",
          "usefortraining": "Use for Training",
          "website": "Website",
          "city": "City",
          "state": "State",
          "industriesserved83": "Industries Served",
          "companybio23": "Company Bio",
          "keystakeholder": "Key Stakeholder",
          "stakeholderstitle": "Stakeholder's Title",
          "stakeholdersemail": "Stakeholder's Email",
          "primaryphone": "Primary Phone #",
          "secondaryphone": "Secondary Phone #",
          "businessproblems50": "Business Problems",
          "provocationquestio76": "Provocation Questions",
          "nextcontact": "Next Contact",
          "emailcontent": "Email Content",
          "linkedincontent": "LinkedIn Content"
      }
  },
  "statusId": 1,
  "submittedBy": {
      "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"
  },
  "summary": "ZyEdge LLC",
  "lastModifiedDate": {
      "date": "2014-01-09 22:11:33",
      "timezone_type": 1,
      "timezone": "+00:00"
  },
  "lastModifiedBy": 0,
  "sortOrder": 0,
  "parent": null,
  "hasSubitems": false,
  "subitemsCount": 0,
  "fieldsData": {
      "priority": 3,
      "usefortraining": "",
      "waiting_for": 1,
      "status": {
          "id": 257718,
          "elementName": "Imported"
      },
      "open_date": {
          "date": "2014-01-09 22:11:33",
          "timezone_type": 1,
          "timezone": "+00:00"
      },
      "details": null,
      "close_date": null,
      "website": "zyedge.com",
      "city": "Reston",
      "state": {
          "id": 257713,
          "alias": "va",
          "elementName": "Virginia"
      },
      "industriesserved83": "",
      "keystakeholder": "Ryan West",
      "stakeholderstitle": "Chief Technology Officer",
      "primaryphone": "(703) 860-5087",
      "secondaryphone": "(703) 860-1111"
  },
  "assignees": [],
  "submittedByName": "Tony Bibbs",
  "lastModifiedByName": "Tony Bibbs",
  "lastModifiedByImgUrl": "\/images\/custom_avatars\/0.jpg"
},
{
  "id": 16993,
  "tracker": {
      "id": 10661,
      "project": 138,
      "trackerName": "Business Development",
      "description": "Business Development Tracker",
      "submitInstructions": "",
      "browseInstructions": "Grab 25 Records and "Mass Update" the assignee field to Olivia Bradley",
      "numItems": 3589,
      "numItemsOpen": 3523,
      "trackerType": 1,
      "details_url": "\/api\/tracker\/10661\/detail",
      "api_url": "\/api\/tracker\/10661",
      "fields": {
          "priority": "Priority",
          "open_date": "Open Date",
          "close_date": "Close Date",
          "details": "Details",
          "waiting_for": "Waiting For",
          "status": "Status",
          "usefortraining": "Use for Training",
          "website": "Website",
          "city": "City",
          "state": "State",
          "industriesserved83": "Industries Served",
          "companybio23": "Company Bio",
          "keystakeholder": "Key Stakeholder",
          "stakeholderstitle": "Stakeholder's Title",
          "stakeholdersemail": "Stakeholder's Email",
          "primaryphone": "Primary Phone #",
          "secondaryphone": "Secondary Phone #",
          "businessproblems50": "Business Problems",
          "provocationquestio76": "Provocation Questions",
          "nextcontact": "Next Contact",
          "emailcontent": "Email Content",
          "linkedincontent": "LinkedIn Content"
      }
  },
  "statusId": 1,
  "submittedBy": {
      "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"
  },
  "summary": "Z-Source Incorporated",
  "lastModifiedDate": {
      "date": "2014-01-09 22:03:46",
      "timezone_type": 1,
      "timezone": "+00:00"
  },
  "lastModifiedBy": 0,
  "sortOrder": 0,
  "parent": null,
  "hasSubitems": false,
  "subitemsCount": 0,
  "fieldsData": {
      "priority": 3,
      "usefortraining": "",
      "waiting_for": 1,
      "status": {
          "id": 257718,
          "elementName": "Imported"
      },
      "open_date": {
          "date": "2014-01-09 22:03:46",
          "timezone_type": 1,
          "timezone": "+00:00"
      },
      "details": null,
      "close_date": null,
      "website": "zsourceintl.com",
      "city": "Pleasanton",
      "state": {
          "id": 257672,
          "alias": "ca",
          "elementName": "California"
      },
      "industriesserved83": "",
      "keystakeholder": "Jason Long",
      "stakeholderstitle": "Owner",
      "primaryphone": "(925) 401-0090",
      "secondaryphone": "(925) 401-0090"
  },
  "assignees": [],
  "submittedByName": "Tony Bibbs",
  "lastModifiedByName": "Tony Bibbs",
  "lastModifiedByImgUrl": "\/images\/custom_avatars\/0.jpg"
}

Example 2

Find a tracker item by matching summary contents:
  GET http://api.mygforge.tld/trackeritem/?summary=This+is+a+test

 [
   {
    "id": 15328,
    "tracker": 10345,
    "statusId": 1,
    "submittedBy": 33251,
    "summary": "this is a test",
    "lastModifiedDate": {
       "date": "2013-12-18 15:07:41",
       "timezone_type": 1,
       "timezone": "-03:00"
    },
    "lastModifiedBy": 33035,
    "sortOrder": 0,
    "parent": null,
    "hasSubitems": false,
    "subitemsCount": 0,
    "fieldsData": {
      "supportgroup": {
         "id": 0,
         "alias": "supportgroup",
         "fieldName": "Support group",
         "values": null,
         "fieldOrder": 10,
         "isIntrinsic": false
       },
       "status": {
         "id": 0,
         "alias": "status",
         "fieldName": "Status",
         "values": [
           {
             "id": 251491,
             "alias": "",
             "value": "Open"
           }
         ],
         "fieldOrder": 20,
         "isIntrinsic": false
       }
     }
   },
   {
    "id": 11258,
    "tracker": 10345,
    "statusId": 1,
    "submittedBy": 31917,
    "summary": "This is a test",
    "lastModifiedDate": {
      "date": "2013-11-01 16:12:13",
      "timezone_type": 1,
      "timezone": "-03:00"
     },
     "lastModifiedBy": 14030,
     "sortOrder": 0,
     "parent": null,
     "hasSubitems": false,
     "subitemsCount": 0,
     "fieldsData": {
       "supportgroup": {
         "id": 0,
         "alias": "supportgroup",
         "fieldName": "Support group",
         "values": null,
         "fieldOrder": 10,
         "isIntrinsic": false
       },
       "status": {
         "id": 0,
         "alias": "status",
         "fieldName": "Status",
         "values": null,
         "fieldOrder": 20,
         "isIntrinsic": false
       }
     }
   },
   {
    "id": 919,
    "tracker": 101,
    "statusId": 0,
    "submittedBy": 3697,
    "summary": "This is a test.",
    "lastModifiedDate": {
    "date": "2005-01-30 19:24:45",
      "timezone_type": 1,
      "timezone": "-03:00"
    },
    "lastModifiedBy": 100,
    "sortOrder": 0,
    "parent": null,
    "hasSubitems": false,
    "subitemsCount": 0,
    "fieldsData": {
      "testmembersfield": {
        "id": 0,
        "alias": "testmembersfield",
        "fieldName": "test_members:field",
        "values": null,
        "fieldOrder": 1,
        "isIntrinsic": false
      },
      "testserial": {
        "id": 0,
        "alias": "testserial",
        "fieldName": "test_serial",
        "values": "98",
        "fieldOrder": 4,
        "isIntrinsic": false
      }
    }
  },
]

Example 3

List all trackers items in a tracker:
  GET http://api.mygforge.tld/tracker/?tracker=285

[
{
  "id": 3522,
  "tracker": 285,
  "statusId": 0,
  "submittedBy": 1,
  "summary": "Buttons are ugly gray boxes instead of just disabled",
  "lastModifiedDate": {
    "date": "2013-09-09 15:44:54",
    "timezone_type": 1,
    "timezone": "-03:00"
  },
  "lastModifiedBy": 25868,
  "sortOrder": 0,
  "parent": null,
  "hasSubitems": false,
  "subitemsCount": 0,
  "fieldsData": {
    "details": {
       "id": 0,
       "alias": "details",
       "fieldName": "Details",
       "values": "Buttons are ugly gray boxes instead of just disabled",
       "fieldOrder": 0,
       "isIntrinsic": true
    },
    "resolution80": {
       "id": 0,
       "alias": "resolution80",
       "fieldName": "Resolution",
       "values": null,
       "fieldOrder": 3,
       "isIntrinsic": false
  },
    "status": {
       "id": 0,
       "alias": "status",
       "fieldName": "Status",
       "values": [
         {
           "id": 2951,
           "alias": null,
           "value": "Closed"
         }
       ],
       "fieldOrder": 4,
       "isIntrinsic": false
    }
  }
},
{
  "id": 4087,
  "tracker": 285,
  "statusId": 0,
  "submittedBy": 1,
  "summary": "Changes tab should have links to the viewvc wrapper at the website",
  "lastModifiedDate": {
    "date": "2013-09-09 15:44:55",
    "timezone_type": 1,
    "timezone": "-03:00"
  },
  "lastModifiedBy": 25868,
  "sortOrder": 0,
  "parent": null,
  "hasSubitems": false,
  "subitemsCount": 0,
  "fieldsData": {
    "details": {
      "id": 0,
      "alias": "details",
      "fieldName": "Details",
      "values": "Changes tab should have links to the viewvc wrapper at the website",
      "fieldOrder": 0,
      "isIntrinsic": true
    },
    "resolution80": {
      "id": 0,
      "alias": "resolution80",
      "fieldName": "Resolution",
      "values": null,
      "fieldOrder": 3,
      "isIntrinsic": false
    },
    "status": {
      "id": 0,
      "alias": "status",
      "fieldName": "Status",
      "values": [
        {
          "id": 2951,
          "alias": null,
          "value": "Closed"
        }
      ],
      "fieldOrder": 4,
      "isIntrinsic": false
    }
 }
}
]

POST

postAttachment

Processes a tracker item attachment upload

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters Request object

Return: array

Array with API location to attachment

postFollowup

Creates or updates a tracker item follow-up. Expected parameters in the Request object are:

  • id: If defined we are updating a follow-up, otherwise adding a new one.
  • adddate: Date string
  • body: message string
  • user: user id
URL example: curl -u gforgeadmin:gforgeadmin \ -X POST \ --header "Content-Type: application/json" \ --header "X-Requested-With: XMLHttpRequest" \ --url http://n.gforge.vm/api/trackeritem/1/followup \ --data '{"body": "testing a follow-up 1"}'

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters Request object

Return: array

Array with API location to message.

postMulti

Update multiple tracker items at once. Each update can pass or fail on its own, and all updates will be attempted.

Parameters (2)

Name Type Description
ids string Comma-separated list of zero or more tracker item ids to be updated
any mixed All other valid field (and EF alias) names and values to be updated.

Return: \StdClass[]

A result object for each TI that was submitted.

postRelated

Creates a relation from one item to another. Expected parameters in the Request object are:

  • id: Tracker Item which we want to add a relation
  • relatedId: Tracker Item to be related (this item will be blocking previous one)
URL example: curl -u gforgeadmin:gforgeadmin \ -X POST \ --header "Content-Type: application/json" \ --header "X-Requested-With: XMLHttpRequest" \ --url http://n.gforge.vm/api/trackeritem/1/related?relatedId=2

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters Request object

Return: array

No return type is defined

postTrackerItem

Create a new or update an existing Tracker Item. The following fields can be set by this method:

  • statusID - This value is overridden if an extra field of type STATUS is also submitted.
  • priority
  • openDate
  • closeDate
  • summary
  • details
  • tracker - Can be the Tracker ID or an object with an id property. Ignored for updates.
  • waitingFor
  • trackerSprint - Can be the Sprint Number, or an object with either an id or sprintProgression property.
  • submittedBy - Can be the user's ID, unixName, or an object with either an id or unixName property.
  • sortOrder - This is a legacy field, has no effect on display of tracker items.
  • parentId
  • assignees - This must be an array. Each element can be a user id, a unixName, or an object with either an id or unixName property.
  • extraFields - This must be a map. Each property name must be the ID or alias for the extra field, and the value(s) must be the id, alias, or a structure with either an id or alias property. A single extra field may have an array of values if it is a multi-select type.
ALL OTHER related entities are either read-only, or can be updated via separate sub-entity endpoints. See the other methods in this entity for information.

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters

Return: string

location url for the created/updated tracker item object

Example 1

Update an existing Tracker Item with ID 12345

POST /api/trackeritem/12345
{
 "id": int,
 "tracker": int,
 "statusId": int,
 "summary": string,
 "lastModifiedBy": int,
 "sortOrder": int,
 "parent": int,
 "fieldsData": {
    "field_alias1": ["item1", "item2", ..., "item_n"],
"field_alias1": "item"
  }
}

PUT

DELETE

deleteAssociation

Deletes an association from one item to another. Expected parameters in the Request object are:

  • id: Tracker Item which we want to delete a relation
  • relatedId: Tracker Item to be deletes as related
URL example: curl -u gforgeadmin:gforgeadmin \ -X DELETE \ --header "Content-Type: application/json" \ --header "X-Requested-With: XMLHttpRequest" \ --url http://n.gforge.vm/api/trackeritem/1/association/2

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters Request object

Return: array

No return type is defined

deleteAttachment

Processes a tracker item attachment delete

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters Request object

Return: (none)

No return type is defined

deleteRelated

Deletes a relation from one item to another. Expected parameters in the Request object are:

  • id: Tracker Item which we want to delete a relation
  • relatedId: Tracker Item to be deletes as related
URL example: curl -u gforgeadmin:gforgeadmin \ -X DELETE \ --header "Content-Type: application/json" \ --header "X-Requested-With: XMLHttpRequest" \ --url http://n.gforge.vm/api/trackeritem/1/related?relatedId=2

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters Request object

Return: array

No return type is defined

deleteTrackeritem

Deletes one or multiple tracker items. Expects 'tracker_id[]' as a request parameter containing an array of ids.
This is a backgroundable method, if the number of items to delete is below the 'system.tiBgDeleteLimit' setting value the process is handled online. If the number is equal or higher to the limit the process is backgrounded and the jobId is returned.

Parameters (1)

Name Type Description
request \mvcnphp\RequestParameters See description for details about expected properties.
Backgroundable
If method handles above a predefined number of items, the request is sent to a background process and the job Id is returned.
If the items are lower than the limit the request is processed online and the result array is returned instead.
See the examples for more details.

Return: mixed

Result array | jobId array

Example 1

Delete online a single tracker item:
  curl -u gforgeadmin:gforgeadmin \
    -X POST \
    --header "Content-Type: application/json" \
    --header "X-Requested-With: XMLHttpRequest" \
    --url http://api.mygforge.tld/api/trackeritem \
    --data '{"tracker_id[]": [1]}'

  {
    "16": {
      "status": 12,
      "statusText": "Success"
    }
  }

Example 2

Delete in background process multiple tracker items:
  curl -u gforgeadmin:gforgeadmin \
    -X POST \
    --header "Content-Type: application/json" \
    --header "X-Requested-With: XMLHttpRequest" \
    --url http://api.mygforge.tld/api/trackeritem \
    --data '{"tracker_id[]": [17,18]}'

  {
    "jobId": 4
  }
Monitor the background job process with the Poll service, using the jobId provided:
  curl -u gforgeadmin:gforgeadmin \
    -X GET \
    --header "X-Requested-With: XMLHttpRequest" \
    --url http://api.mygforge.tld/api/poll?bgjob%5B%5D=backgroundjob-4-1&rel=bgjob
When the background job process is completed the Poll service will return:

{
  "items": [
    {
      "type": "bgjob",
      "section": "backgroundjob",
      "refId": "4",
      "lastValue": 2,
      "items": [
        {
          "id": 4,
          "jobType": "100",
          "status": 3,
          "result": 12,
          "parameters": "[\"17\",\"18\"]",
          "cancelFlag": false,
          "statusText": "Job completed.",
          "createDate": "2015-03-05 09:44:44 -0300",
          "startDate": "2015-03-05 09:44:45 -0300",
          "finishDate": "2015-03-05 09:44:47 -0300",
          "successCount": 2,
          "failCount": 0,
          "responseText": "{\"17\":{\"status\":12,\"statusText\":\"Success\"},\"18\":{\"status\":12,\"statusText\":\"Success\"}}",
          "user": {
            "id": 101,
            "unixName": "gforgeadmin",
            "password": null,
            "firstname": "GForge Admin",
            "lastname": "User",
            "email": "root@localhost.localdomain",
            "timezone": "GMT",
            "status": 1,
            "externalId": null,
            "isGroup": "N",
            "ccode": "US",
            "language": "en   ",
            "theme": 1,
            "img_url": "/api/user/gforgeadmin/avatar",
            "html_url": "/#/user/gforgeadmin",
            "details_url": "/api/user/gforgeadmin/details",
            "isSiteAdmin": true,
            "api_url": "/api/user/gforgeadmin"
          }
        }
      ]
    }
  ]
}