Common tasks¶
The everyday operations, each shown three ways. Pick a tab once and every example on the site follows it.
- CLI: the command to type.
- MCP: the tool call an agent makes when you ask it in words.
- SDK: the call on a client,
tracker = TrackerClient(oauth_token="…", organization_id="…")(andwiki,formslikewise).
Every example here is generated from the test that runs it on all three surfaces.
Find issues¶
ycli tracker issues list --queue DE --status open --assignee alice
{
"name": "tracker_issues_list",
"arguments": {
"queue": "DE",
"status": "open",
"assignee": "alice"
}
}
tracker.issues.search({"filter": {"queue": "DE", "status": "open", "assignee": "alice"}}, limit=500)
The CLI and the tool take the common filters as options; for anything else pass a query in Tracker's own language: ycli tracker issues search 'Queue: DE AND Status: open'.
Read an issue¶
ycli tracker issues get DE-7
{
"name": "tracker_issues_get",
"arguments": {
"key": "DE-7"
}
}
tracker.issues.get("DE-7")
Create an issue¶
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({"queue": "DE", "summary": "New", "type": {"key": "bug"}, "tags": ["ui"]})
Change an issue¶
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", {"summary": "Renamed", "priority": {"key": "critical"}})
Comment on an issue¶
ycli tracker comments add DE-14 --text 'Готово ✅'
{
"name": "tracker_comments_add",
"arguments": {
"key": "DE-14",
"body": {
"text": "Готово ✅"
}
}
}
tracker.comments.add("DE-14", {"text": "Готово ✅"})
Move an issue along its workflow¶
An issue moves by a transition, and each status offers its own. List them first:
ycli tracker transitions list DE-51
{
"name": "tracker_transitions_list",
"arguments": {
"key": "DE-51"
}
}
tracker.transitions.list("DE-51")
Then run one by its id:
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", {"comment": "done", "resolution": "fixed", "storyPoints": 3})
Log time¶
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", {"duration": "PT2H", "start": "2021-03-04T10:00:00.000+0300", "comment": "pairing"})
Create a Wiki page¶
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({"slug": "eng/new", "title": "New page", "content": "# New"})
Read a form¶
ycli forms surveys get 686d0a1b2c3d4e5f00000001
{
"name": "forms_surveys_get",
"arguments": {
"survey_id": "686d0a1b2c3d4e5f00000001"
}
}
forms.surveys.get("686d0a1b2c3d4e5f00000001")
Every other operation is in the reference: CLI, MCP tools, SDK.