Back to Gitlabhq

API REST des liens de tickets

doc-locale/fr-fr/api/issue_links.md

19.3.011.2 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

{{< history >}}

  • La relation simple « se rapporte à » a été déplacée vers GitLab Free dans la version 13.4.

{{< /history >}}

Utilisez cette API REST pour gérer les tickets liés.

Répertorie tous les tickets liés pour un ticket spécifié, triés par date et heure de création de la relation (ordre croissant). Les tickets sont filtrés en fonction des autorisations de l'utilisateur.

plaintext
GET /projects/:id/issues/:issue_iid/links

Paramètres :

AttributTypeObligatoireDescription
identier ou chaîne de caractèresouiL'ID ou le chemin encodé en URL du projet
issue_iidintegerouiL'ID interne du ticket d'un projet
json
[
  {
    "id" : 84,
    "iid" : 14,
    "issue_link_id": 1,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/14",
    "confidential": false,
    "weight": null,
    "link_type": "relates_to",
    "link_created_at": "2016-01-07T12:44:33.959Z",
    "link_updated_at": "2016-01-07T12:44:33.959Z"
  }
]

{{< history >}}

  • Introduit dans GitLab 15.1.
  • L'attribut de réponse id a été introduit dans GitLab 18.9.

{{< /history >}}

Récupère les détails d'un lien de ticket spécifié.

plaintext
GET /projects/:id/issues/:issue_iid/links/:issue_link_id

Attributs pris en charge :

AttributTypeObligatoireDescription
identier ou chaîne de caractèresOuiL'ID ou le chemin encodé en URL du projet.
issue_iidintegerOuiID interne du ticket d'un projet.
issue_link_identier ou chaîne de caractèresOuiID d'une relation entre tickets.

Attributs du corps de la réponse :

AttributTypeDescription
idintegerID du lien de ticket.
source_issueobjetDétails du ticket source de la relation.
target_issueobjetDétails du ticket cible de la relation.
link_typestringType de la relation. Les valeurs possibles sont relates_to, blocks et is_blocked_by.

Exemple de requête :

shell
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/84/issues/14/links/1"

Exemple de réponse :

json
{
  "id": 1,
  "source_issue" : {
    "id" : 83,
    "iid" : 11,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "subscribed" : true,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/11",
    "confidential": false,
    "weight": null
  },
  "target_issue" : {
    "id" : 84,
    "iid" : 14,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "subscribed" : true,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/14",
    "confidential": false,
    "weight": null
  },
  "link_type": "relates_to"
}

{{< history >}}

  • L'attribut de réponse id a été introduit dans GitLab 18.9.

{{< /history >}}

Crée une relation bidirectionnelle entre deux tickets. L'utilisateur doit être autorisé à mettre à jour les deux tickets pour que l'opération réussisse.

plaintext
POST /projects/:id/issues/:issue_iid/links
AttributTypeObligatoireDescription
identier ou chaîne de caractèresouiL'ID ou le chemin encodé en URL du projet
issue_iidintegerouiL'ID interne du ticket d'un projet
target_project_identier ou chaîne de caractèresouiL'ID ou le chemin encodé en URL du projet d'un projet cible
target_issue_iidentier ou chaîne de caractèresouiL'ID interne du ticket d'un projet cible
link_typestringnonLe type de la relation (relates_to, blocks, is_blocked_by), par défaut relates_to).
shell
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/4/issues/1/links?target_project_id=5&target_issue_iid=1"

Exemple de réponse :

json
{
  "id": 1,
  "source_issue" : {
    "id" : 83,
    "iid" : 11,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "subscribed" : true,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/11",
    "confidential": false,
    "weight": null
  },
  "target_issue" : {
    "id" : 84,
    "iid" : 14,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "subscribed" : true,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/14",
    "confidential": false,
    "weight": null
  },
  "link_type": "relates_to"
}

{{< history >}}

  • L'attribut de réponse id a été introduit dans GitLab 18.9.

{{< /history >}}

Supprime un lien de ticket spécifié, en retirant la relation bidirectionnelle.

plaintext
DELETE /projects/:id/issues/:issue_iid/links/:issue_link_id
AttributTypeObligatoireDescription
identier ou chaîne de caractèresouiL'ID ou le chemin encodé en URL du projet
issue_iidintegerouiL'ID interne du ticket d'un projet
issue_link_identier ou chaîne de caractèresouiL'ID d'une relation entre tickets
link_typestringnonLe type de la relation (relates_to, blocks, is_blocked_by), par défaut relates_to
json
{
  "id": 1,
  "source_issue" : {
    "id" : 83,
    "iid" : 11,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "subscribed" : true,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/11",
    "confidential": false,
    "weight": null
  },
  "target_issue" : {
    "id" : 84,
    "iid" : 14,
    "project_id" : 4,
    "created_at" : "2016-01-07T12:44:33.959Z",
    "title" : "Issues with auth",
    "state" : "opened",
    "assignees" : [],
    "assignee" : null,
    "labels" : [
      "bug"
    ],
    "author" : {
      "name" : "Alexandra Bashirian",
      "avatar_url" : null,
      "state" : "active",
      "web_url" : "https://gitlab.example.com/eileen.lowe",
      "id" : 18,
      "username" : "eileen.lowe"
    },
    "description" : null,
    "updated_at" : "2016-01-07T12:44:33.959Z",
    "milestone" : null,
    "subscribed" : true,
    "user_notes_count": 0,
    "due_date": null,
    "web_url": "http://example.com/example/example/issues/14",
    "confidential": false,
    "weight": null
  },
  "link_type": "relates_to"
}