Перейти к содержанию

Частые задачи

Повседневные операции, каждая — тремя способами. Выберите вкладку один раз, и все примеры на сайте переключатся на неё.

  • CLI — команда, которую вводите вы.
  • MCP — вызов инструмента, который делает агент, когда вы просите его словами.
  • SDK — вызов на клиенте tracker = TrackerClient(oauth_token="…", organization_id="…") (для wiki и forms так же).

Каждый пример здесь сгенерирован из теста, который выполняет его всеми тремя способами.

Найти задачи

ycli tracker issues list --queue DE --status open --assignee alice
{
  "name": "tracker_issues_list",
  "arguments": {
    "queue": "DE",
    "status": "open",
    "assignee": "alice"
  }
}
tracker.issues.search(IssueSearch(filter={"queue": "DE", "status": "open", "assignee": "alice"}), limit=500)

CLI и инструмент принимают частые фильтры как опции; для остального передайте запрос на языке запросов Трекера: ycli tracker issues search 'Queue: DE AND Status: open'.

Прочитать задачу

ycli tracker issues get DE-7
{
  "name": "tracker_issues_get",
  "arguments": {
    "key": "DE-7"
  }
}
tracker.issues.get("DE-7")

Создать задачу

ycli tracker issues create --queue DE --summary New --type bug --tag ui
{
  "name": "tracker_issues_create",
  "arguments": {
    "body": {
      "queue": "DE",
      "summary": "New",
      "type": {
        "key": "bug"
      },
      "tags": [
        "ui"
      ]
    }
  }
}
tracker.issues.create(IssueCreate(queue="DE", summary="New", type={"key": "bug"}, tags=["ui"]))

Изменить задачу

ycli tracker issues update DE-7 --summary Renamed --priority critical
{
  "name": "tracker_issues_update",
  "arguments": {
    "key": "DE-7",
    "body": {
      "summary": "Renamed",
      "priority": {
        "key": "critical"
      }
    }
  }
}
tracker.issues.update("DE-7", IssueUpdate(summary="Renamed", priority={"key": "critical"}))

Оставить комментарий

ycli tracker comments add DE-14 --text 'Готово ✅'
{
  "name": "tracker_comments_add",
  "arguments": {
    "key": "DE-14",
    "body": {
      "text": "Готово ✅"
    }
  }
}
tracker.comments.add("DE-14", CommentCreate(text="Готово ✅"))

Перевести задачу по воркфлоу

Задача переходит в другой статус через переход, и у каждого статуса переходы свои. Сначала посмотрите доступные:

ycli tracker transitions list DE-51
{
  "name": "tracker_transitions_list",
  "arguments": {
    "key": "DE-51"
  }
}
tracker.transitions.list("DE-51")

Затем выполните нужный по его идентификатору:

ycli tracker transitions execute DE-52 close --field comment=done --field resolution=fixed -F storyPoints=3
{
  "name": "tracker_transitions_execute",
  "arguments": {
    "key": "DE-52",
    "transition_id": "close",
    "body": {
      "comment": "done",
      "resolution": "fixed",
      "storyPoints": 3
    }
  }
}
tracker.transitions.execute("DE-52", "close", TransitionExecute(comment="done", resolution="fixed", storyPoints=3))

Записать время

ycli tracker worklog create DE-66 --duration PT2H --start 2021-03-04T10:00:00.000+0300 --comment pairing
{
  "name": "tracker_worklog_create",
  "arguments": {
    "key": "DE-66",
    "body": {
      "duration": "PT2H",
      "start": "2021-03-04T10:00:00.000+0300",
      "comment": "pairing"
    }
  }
}
tracker.worklog.create("DE-66", WorklogCreate(duration="PT2H", start="2021-03-04T10:00:00.000+0300", comment="pairing"))

Создать страницу в Вики

ycli wiki pages create --slug eng/new --title 'New page' --content '# New'
{
  "name": "wiki_pages_create",
  "arguments": {
    "slug": "eng/new",
    "title": "New page",
    "content": "# New"
  }
}
wiki.pages.create(PageCreate(slug="eng/new", title="New page", content="# New"))

Прочитать форму

ycli forms surveys get 686d0a1b2c3d4e5f00000001
{
  "name": "forms_surveys_get",
  "arguments": {
    "survey_id": "686d0a1b2c3d4e5f00000001"
  }
}
forms.surveys.get("686d0a1b2c3d4e5f00000001")

Все остальные операции — в справочнике (на английском): CLI, MCP-инструменты, SDK.