gitlab-org--gitlab-foss/doc/api/issues.md
Sebastian Ziebell e96d77d3db API: issues documentation and API functions updated
The issues documentation is updated with infos to status codes and the deprecated `DELETE` function and
how to close an issue. A few more tests added to check status codes of API functions.
2013-02-27 14:36:20 +01:00

5.1 KiB

List issues

Get all issues created by authenticed user. This function takes pagination parameters page and per_page to get a list of issues.

GET /issues
[
  {
    "id": 43,
    "project_id": 8,
    "title": "4xx/5xx pages",
    "description": "",
    "labels": [ ],
    "milestone": null,
    "assignee": null,
    "author": {
      "id": 1,
      "username": "john_smith",
      "email": "john@example.com",
      "name": "John Smith",
      "blocked": false,
      "created_at": "2012-05-23T08:00:58Z"
    },
    "closed": true,
    "updated_at": "2012-07-02T17:53:12Z",
    "created_at": "2012-07-02T17:53:12Z"
  },
  {
    "id": 42,
    "project_id": 8,
    "title": "Add user settings",
    "description": "",
    "labels": [
      "feature"
    ],
    "milestone": {
      "id": 1,
      "title": "v1.0",
      "description": "",
      "due_date": "2012-07-20",
      "closed": false,
      "updated_at": "2012-07-04T13:42:48Z",
      "created_at": "2012-07-04T13:42:48Z"
    },
    "assignee": {
      "id": 2,
      "username": "jack_smith",
      "email": "jack@example.com",
      "name": "Jack Smith",
      "blocked": false,
      "created_at": "2012-05-23T08:01:01Z"
    },
    "author": {
      "id": 1,
      "username": "john_smith",
      "email": "john@example.com",
      "name": "John Smith",
      "blocked": false,
      "created_at": "2012-05-23T08:00:58Z"
    },
    "closed": false,
    "updated_at": "2012-07-12T13:43:19Z",
    "created_at": "2012-06-28T12:58:06Z"
  }
]

Return values:

  • 200 Ok on success and the list of issues
  • 401 Unauthorized if user is not authenticated
  • 404 Not Found if something fails

List project issues

Get a list of project issues. This function accepts pagination parameters page and per_page to return the list of project issues.

GET /projects/:id/issues

Parameters:

  • id (required) - The ID of a project

Return values:

  • 200 Ok on success and the list of project issues
  • 401 Unauthorized if user is not authenticated
  • 404 Not Found if project ID not found

Single issue

Gets a single project issue.

GET /projects/:id/issues/:issue_id

Parameters:

  • id (required) - The ID of a project
  • issue_id (required) - The ID of a project issue
{
  "id": 42,
  "project_id": 8,
  "title": "Add user settings",
  "description": "",
  "labels": [
    "feature"
  ],
  "milestone": {
    "id": 1,
    "title": "v1.0",
    "description": "",
    "due_date": "2012-07-20",
    "closed": false,
    "updated_at": "2012-07-04T13:42:48Z",
    "created_at": "2012-07-04T13:42:48Z"
  },
  "assignee": {
    "id": 2,
    "username": "jack_smith",
    "email": "jack@example.com",
    "name": "Jack Smith",
    "blocked": false,
    "created_at": "2012-05-23T08:01:01Z"
  },
  "author": {
    "id": 1,
    "username": "john_smith",
    "email": "john@example.com",
    "name": "John Smith",
    "blocked": false,
    "created_at": "2012-05-23T08:00:58Z"
  },
  "closed": false,
  "updated_at": "2012-07-12T13:43:19Z",
  "created_at": "2012-06-28T12:58:06Z"
}

Return values:

  • 200 Ok on success and the list of project issues
  • 401 Unauthorized if user is not authenticated
  • 404 Not Found if project ID or issue ID not found

New issue

Creates a new project issue.

POST /projects/:id/issues

Parameters:

  • id (required) - The ID of a project
  • title (required) - The title of an issue
  • description (optional) - The description of an issue
  • assignee_id (optional) - The ID of a user to assign issue
  • milestone_id (optional) - The ID of a milestone to assign issue
  • labels (optional) - Comma-separated label names for an issue

Return values:

  • 201 Created on success and the newly created project issue
  • 400 Bad Request if the required attribute title is not given
  • 401 Unauthorized if user is not authenticated
  • 404 Not Found if project ID not found

Edit issue

Updates an existing project issue. This function is also used to mark an issue as closed.

PUT /projects/:id/issues/:issue_id

Parameters:

  • id (required) - The ID of a project
  • issue_id (required) - The ID of a project's issue
  • title (optional) - The title of an issue
  • description (optional) - The description of an issue
  • assignee_id (optional) - The ID of a user to assign issue
  • milestone_id (optional) - The ID of a milestone to assign issue
  • labels (optional) - Comma-separated label names for an issue
  • closed (optional) - The state of an issue (0 = false, 1 = true)

Return values:

  • 200 Ok on success and the update project issue
  • 401 Unauthorized if user is not authenticated
  • 404 Not Found if project ID or issue ID not found

Delete existing issue (Deprecated)

The function is deprecated and returns a 405 Method Not Allowed error if called. An issue gets now closed and is done by calling PUT /projects/:id/issues/:issue_id with parameter closed set to 1.

DELETE /projects/:id/issues/:issue_id

Parameters:

  • id (required) - The project ID
  • issue_id (required) - The ID of the issue

Return values:

  • 405 Method Not Allowed is always returned, because the function is deprecated