Skip to content

API வழிகாட்டி

East Agile Tracker API மனிதர்களுக்கு எவ்வளவோ அவ்வளவு ஏஜெண்ட்களுக்காகவும் வடிவமைக்கப்பட்டுள்ளது. UI-இல் நீங்கள் செய்யக்கூடிய அனைத்தையும், API மீது செய்ய முடியும் — மேலும் UI வெளிப்படுத்தாத சில விஷயங்களும் அங்கே உள்ளன.

இந்த வழிகாட்டி உங்களை பத்து நிமிடங்களுக்குள் பூஜ்ஜியத்திலிருந்து “உங்கள் backlog-ஐ ஸ்கிரிப்ட் செய்தல்” வரை கொண்டுசெல்கிறது. முழு endpoint குறிப்புக்கு, API விவரக்குறிப்பைப் பார்க்கவும்.

மூன்று வகையான சான்றுகள்

Section titled “மூன்று வகையான சான்றுகள்”

நீங்கள் X-TrackerToken header-இல் ஒரு விசையுடன் அங்கீகரிக்கிறீர்கள். நீங்களே உருவாக்கும் இரண்டு வகை விசைகள் உள்ளன, மேலும் ஒரு MCP client உங்களுக்காகப் பெறும் மூன்றாவது ஒன்றும் உள்ளது:

  • User keys (ea_user_…) — உங்களாக செயல்படுகின்றன. Account Settings → API Keys இல் அவற்றை உருவாக்கவும். தனிப்பட்ட ஸ்கிரிப்ட்கள், CLI கருவிகள், ஒருங்கிணைப்புகளுக்கு இவற்றைப் பயன்படுத்தவும்.
  • Agent keys (ea_agent_…) — ஒரு திட்டத்தில் பெயரிடப்பட்ட ஒரு ஏஜெண்டாக செயல்படுகின்றன. Project Settings → Agents இல் அவற்றை உருவாக்கவும். பெயரிடப்பட்ட அணி உறுப்பினர்களாக திட்டத்தில் பங்கேற்க வேண்டிய AI ஏஜெண்ட்களுக்கு — Claude Code, Codex, உங்களுடையது — இவற்றைப் பயன்படுத்தவும்.
  • MCP tokens (ea_mcp_…) — ஒப்புதல் பக்கத்தில் நீங்கள் அனுமதித்த பிறகு ஒரு MCP client-க்கு (Claude, ஒரு IDE) வழங்கப்படும் OAuth 2.1 access tokens. அவை உங்களாகச் செயல்படுகின்றன, மேலும் Account Settings → Connected apps இன் கீழ் அவற்றை ரத்து செய்யலாம்.

கணக்கு அமைப்புகளில் தனிப்பட்ட API விசை உருவாக்கியதும் ஒருமுறை காட்டப்படும் உரையாடல், இந்தப் படத்தில் விசை மறைக்கப்பட்டுள்ளது

அமைப்பு வழிமுறைகளுக்குக் கீழே Agent தாவலின் விசை உருவாக்கப் படிவம், பெயரும் member பங்கும் தேர்ந்தெடுக்கப்பட்டு

நீங்கள் உருவாக்கும் இரண்டிற்கும் இடையிலான வேறுபாடுகள்:

User keyAgent key
நோக்கம்உங்கள் அனைத்துத் திட்டங்களும்ஒரு குறிப்பிட்ட திட்டம்
தணிக்கைப் பதிவில் அடையாளம்உங்கள் பெயர்ஏஜெண்டின் பெயர்
பாத்திரம்ஒவ்வொரு திட்டத்திலும் உங்கள் பாத்திரம்விசை உருவாக்கத்தில் அமைக்கப்படுகிறது (viewer, member, அல்லது manager — உருவாக்கும் உறுப்பினரின் சொந்தப் பாத்திரத்திற்கு மேல் ஒருபோதும் இல்லை)
ரத்துசெய்தல்ஒரு விசையை ரத்து செய்யுங்கள்; மற்ற விசைகள்/அமர்வுகள் வழியாக அணுகலை வைத்திருக்கிறீர்கள்ஒரு விசையை ரத்து செய்யுங்கள் அல்லது சுழற்றுங்கள்; ஏஜெண்ட் உடனடியாக அணுகலை இழக்கிறது
சிறந்ததுதனிப்பட்ட தானியங்கி, ஸ்கிரிப்ட்கள்வரலாற்றில் உங்களிடமிருந்து வேறுபடுத்தக்கூடிய AI ஏஜெண்ட்கள்

நீங்கள் அந்த header பாணியை விரும்பினால் Authorization: Bearer … உம் வேலை செய்கிறது.

உங்கள் திட்டங்களைப் பெறுங்கள்:

Terminal window
curl https://eastagiletracker.com/api/v1/projects \
-H "X-TrackerToken: $TRACKER_TOKEN"

அல்லது ஒரு agent key-க்கு, அது வரம்பிடப்பட்ட திட்டத்தைப் பட்டியலிடவும்:

Terminal window
curl https://eastagiletracker.com/api/v1/projects \
-H "X-TrackerToken: ea_agent_xxxxx"

API என்பது JSON, REST-ஆன, /api/v1/ இல் பதிப்பிடப்பட்டது. மனிதர்களுக்கும் ஏஜெண்ட்களுக்கும் அதே வடிவங்கள்.

ஒரு திட்டத்தை உருவாக்கவும்

Section titled “ஒரு திட்டத்தை உருவாக்கவும்”
Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Onboarding redesign",
"description": "Q3 redesign of new-user onboarding",
"iteration_length_weeks": 1
}'

பதில் project_id மற்றும் சர்வர் பயன்படுத்திய எந்த இயல்புநிலைகளையும் (மதிப்பீட்டு அளவீடு, done state, முதலியன) உள்ளடக்கியது.

ஒரு ஸ்டோரியை உருவாக்கவும்

Section titled “ஒரு ஸ்டோரியை உருவாக்கவும்”
Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/stories \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Add OAuth login for Google",
"description": "## Acceptance\n- Google button on /login\n- Redirect back to original URL",
"story_type": "feature",
"estimate": "3",
"labels": ["auth"]
}'

estimate என்பது அளவீட்டு மதிப்பின் லேபிள் ஒரு string-ஆக — "3", அல்லது Fibonacci அளவீட்டில் "13" — ஏனெனில் அது திட்டத்தின் அளவீட்டில் உள்ள ஒரு புள்ளியுடன் பொருந்த வேண்டும். ஒரு JSON எண் நிராகரிக்கப்படுகிறது.

வாழ்க்கைச் சுழற்சியின் வழியாக ஒரு ஸ்டோரியை நகர்த்தவும்

Section titled “வாழ்க்கைச் சுழற்சியின் வழியாக ஒரு ஸ்டோரியை நகர்த்தவும்”

Transition endpoint கோரப்பட்ட நகர்வைச் சரிபார்த்து, பிழையில் அனுமதிக்கப்பட்ட அடுத்த நிலைகளைத் திருப்பித் தருகிறது:

Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/stories/$STORY_ID/transitions \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "to": "started" }'

புலம் to (to_state அல்ல). நகர்வு சட்டவிரோதமாக இருந்தால் — சொல்லுங்கள், நீங்கள் unstarted-இலிருந்து நேராக accepted-க்குத் தாவ முயற்சித்தீர்கள் — பதில் கட்டமைக்கப்பட்ட பிழை விவரங்களுடன் 422 invalid_transition:

{
"code": "invalid_transition",
"error": "Cannot move story from `unstarted` to `accepted`",
"details": { "from": "unstarted", "to": "accepted", "allowed": ["started"] }
}

API-ஐ ஏஜெண்ட்-நட்பாக ஆக்கும் சிறிய விஷயங்களில் இது ஒன்று: ஒரு ஏஜெண்ட் details.allowed-ஐப் படித்து, உரையை அரித்தெடுக்காமல் சரியான அடுத்த நகர்வைத் தேர்ந்தெடுக்க முடியும்.

transition endpoint-க்கு rejected ஒரு இறுதி நிலை. நிராகரிக்கப்பட்ட ஸ்டோரியை மீண்டும் வேலைக்குக் கொண்டுவர, POST …/stories/{sid}/restart; delivered ஆன ஒன்றை நிராகரிப்பதற்கான வினைச்சொல் வடிவம் POST …/stories/{sid}/reject.

ஒரு ஸ்டோரியில் கருத்துத் தெரிவியுங்கள்

Section titled “ஒரு ஸ்டோரியில் கருத்துத் தெரிவியுங்கள்”
Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/stories/$STORY_ID/comments \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "text": "Investigation done. Picking this up." }'

API விசையை யார் சொந்தமாக்குகிறார்களோ அவருக்குக் கருத்து காரணப்படுத்தப்படுகிறது — அது ஒரு agent key எனில், கருத்தின் ஆசிரியர் ஏஜெண்ட்.

ஒவ்வொரு எழுதும் endpoint-ம் ஒரு Idempotency-Key header-ஐ ஏற்றுக்கொள்கிறது. அதே விசையை அதே body-உடன் மீண்டும் முயற்சியுங்கள், அதே பதிலைப் பெறுங்கள். அதே விசையை வேறு body-உடன் மீண்டும் முயற்சியுங்கள், ஒரு 409 idempotency_conflict பெறுங்கள்:

Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/stories \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "name": "Refactor auth middleware", "story_type": "chore" }'

மீண்டும் முயற்சி loops-இல் உள்ள ஏஜெண்ட்களுக்கு இது முக்கியமானது — எழுதும் நடுவில் crash, அதே விசையுடன் மீண்டும் முயற்சி, நகல் ஸ்டோரிகள் இல்லை.

மொத்த மாற்றங்கள்

Section titled “மொத்த மாற்றங்கள்”

ஒரே நேரத்தில் பல ஸ்டோரிகளை நகர்த்தவும். ஒவ்வொரு ஸ்டோரியும் சுயாதீனமாக மதிப்பிடப்படுகிறது; ஒரு சட்டவிரோத நகர்வு மற்றவற்றைத் தோல்வியடையச் செய்யாது.

Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/stories/bulk_transition \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"story_ids": [101, 102, 103],
"to": "delivered"
}'

நிகழ்வு ஓடையைப் பின்தொடரவும்

Section titled “நிகழ்வு ஓடையைப் பின்தொடரவும்”

மனிதர்கள் என்ன செய்கிறார்கள் என்பதற்குப் பதிலளிக்க விரும்பும் ஏஜெண்ட்களுக்கு, events endpoint-ஐ poll செய்யவும்:

Terminal window
curl "https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/events?since=$LAST_CURSOR&types=story.created,story.transitioned,comment.added" \
-H "X-TrackerToken: $TRACKER_TOKEN"

பதில் என்பது செயல்படுத்துபவர், ஆதாரம், மற்றும் மாற்றத்துடன் நிகழ்வுகளின் ஒரு cursor-paginated ஓடை. ஒவ்வொரு நிகழ்வுக்கும் ஒரு ID உள்ளது; நீங்கள் கடைசியாகப் பார்த்த ID-ஐ since-ஆக அனுப்பி நீங்கள் விட்ட இடத்தில் தொடரவும். Webhooks இல்லை, அரித்தெடுத்தல் இல்லை, தவறவிட்ட நிகழ்வுகள் இல்லை. ஓடைக்கு member பாத்திரம் தேவை — ஒரு viewer 403 பெறுகிறார்.

GET /projects/{id}/search?q=<query> திட்டத்தின் ஸ்டோரிகள் மீது ஒரு சக்திவாய்ந்த முழு-உரை + கட்டமைக்கப்பட்ட தேடலை இயக்குகிறது. வினவல் மொழி GitHub-இன் issue-தேடல் qualifiers-ஐ மாதிரியாகக் கொண்டது — எனவே GitHub-இலிருந்து நீங்கள் (அல்லது ஒரு AI ஏஜெண்ட்) ஏற்கனவே அறிந்த தொடரியல் பெரும்பாலும் அப்படியே பொருந்துகிறது.

Terminal window
curl -G "https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/search" \
-H "X-TrackerToken: $TRACKER_TOKEN" \
--data-urlencode 'q=payment crash type:bug,chore owner:@me created:>2026-05-01'

பதில் ஒரு JSON உறை, ஸ்டோரிகள் பொருத்தத்தின்படி தரவரிசைப்படுத்தப்பட்டவை:

{ "results": [ /* canonical story objects */ ], "total": 42, "limit": 50, "offset": 0 }

total என்பது முழு பொருத்த எண்ணிக்கை, பக்க அளவு அல்ல. limit (இயல்புநிலை 50, அதிகபட்சம் 1000) மற்றும் offset மூலம் பக்கமிடவும்; sort=relevance (இயல்புநிலை), created, created_asc, updated, அல்லது state மூலம் வரிசைப்படுத்தவும்.

  • இலவச உரை ஒரு ஸ்டோரியின் தலைப்பு, reference, மற்றும் விளக்கத்துடன் பொருந்துகிறது (முழு-உரை, stemmed மற்றும் தரவரிசைப்படுத்தப்பட்டது). ஒரு சரியான சொற்றொடரை "quotes"-இல் இடவும்.
  • Qualifiers என்பவை field:value. மாற்றுகளைக் காற்புள்ளியால் பிரிக்கவும் (ஒரு புலத்திற்குள் OR): type:bug,chore. qualifiers-ஐ இடைவெளியால் பிரிக்கவும் (அவற்றுக்கு இடையே AND).
  • எந்தச் சொல்லையும் அல்லது qualifier-ஐயும் முன்னால் ஒரு - இட்டு மறுக்கவும்: -label:wontfix.
  • தேதிகள் மற்றும் புள்ளிகளுக்கான வரம்புகள்: உள்ளடக்கிய a..b, அல்லது ஒரு பக்கம் திறந்த >x / <x.
வடிகட்டிஎடுத்துக்காட்டுபொருந்துவது
type:type:bug,choreஸ்டோரி வகை(கள்)
state:state:started,finishedworkflow நிலை(கள்)
label:label:"my label"ஒரு லேபிள்
epic:epic:"Checkout"ஒரு epic-இல் உள்ள ஸ்டோரிகள்
priority:priority:p1முன்னுரிமை
points:points:3 · points:1..5 · points:>3மதிப்பீட்டு மதிப்பு அல்லது வரம்பு
iteration:iteration:42மறுசுழற்சி id
created: updated: started: completed: release:created:2026-05-01..2026-06-01 · updated:>2026-06-01ஒரு தேதி அல்லது வரம்பு (நாள் அளவில்); release: என்பது ஸ்டோரியின் release தேதி
owner: requester: follower: reviewer: commenter: mention:owner:claire · owner:@meபெயர் அல்லது மின்னஞ்சல் மூலம் ஒரு நபர் — உறுப்பினர்கள் மற்றும் ஏஜெண்ட்கள், mention: உட்பட; @me என்பது நீங்கள்
has:blockerhas:blockerஒரு திறந்த blocker உள்ளது
is:is:unestimated · is:icebox · is:backlog · is:blockedஒரு கொடி

mywork: என்பது owner:-இன் மாற்றுப்பெயர் — mywork:me என்பது owner:@me. பழைய scheduled: qualifier ஓய்வுபெற்றது, அமைதியாகப் புறக்கணிக்கப்படுகிறது; release:-ஐப் பயன்படுத்தவும்.

காற்புள்ளி-OR (type:bug,chore) facet qualifiers-க்குப் பொருந்துகிறது; நபர் qualifiers (owner: requester: follower: reviewer: commenter: mention:) ஒரே ஒரு மதிப்பை எடுக்கின்றன.

எடுத்துக்காட்டுகள்

Section titled “எடுத்துக்காட்டுகள்”
payment crash full text "payment" AND "crash"
"exact phrase" a phrase
type:bug,chore state:started bugs or chores that are started
owner:@me -label:wontfix mine, excluding the wontfix label
points:3..8 created:2026-05-01..2026-06-01 estimated 3-8, created in May
follower:tomas has:blocker tomas follows it and it's blocked
is:backlog updated:>2026-06-01 backlog items touched since Jun 1

அதே வினவல் string போர்டின் தேடல் பெட்டியையும் (அது ஒரு நேரடி முடிவுகள் நெடுவரிசையைத் திறக்கிறது) இந்த API-ஐயும் இயக்குகிறது — மனிதர்களுக்கும் ஏஜெண்ட்களுக்கும் ஒரே இலக்கணம். கருத்துகள், பணிகள், மற்றும் blockers-இன் உள்ளடக்கத்தைத் தேடுவது திட்டவரைவில் உள்ளது; இன்று இலவச உரை ஸ்டோரியின் சொந்த தலைப்பு, reference, மற்றும் விளக்கத்தை உள்ளடக்குகிறது.

API-ஐக் கண்டறியவும்

Section titled “API-ஐக் கண்டறியவும்”

நேரடி OpenAPI 3 spec இங்கே உள்ளது:

https://api.eastagiletracker.com/api/v1/openapi.json

Swagger UI இங்கே உள்ளது:

https://api.eastagiletracker.com/api/v1/docs/

/openapi.json மற்றும் /docs அங்கீகரிக்கப்படாதவை — ஒரு ஏஜெண்ட் ஒரு விசையைப் பெறுவதற்கு முன் ஒப்பந்தத்தைப் படிக்க முடியும். அது ஒரு விசையை வைத்திருந்தவுடன், /api/v1/meta (இது ஒரு செல்லுபடியாகும் விசை தேவை) அதன் அடையாளத்தையும் ஒவ்வொரு-ஸ்டோரி-வகைக்கான transition graph-ஐயும் திருப்பித் தருகிறது; reference-data lookups (/story_types, /story_states, /effort_scales, /priority_scales) உம் அங்கீகரிக்கப்படாதவை. ஒன்றாக அவை ஏஜெண்ட்கள் சோதனை-மற்றும்-பிழை 403-கள் இல்லாமல் “இங்கே நான் என்ன செய்ய முடியும்?” என்பதற்குப் பதிலளிக்க அனுமதிக்கின்றன.

வழங்கப்படும் openapi.json எழுதும் endpoints-க்கான request-body schemas-ஐச் சுமக்கிறது, ஒவ்வொரு புலத்தின் maxLength உட்பட, எனவே ஒரு client அனுப்பும் முன் சரிபார்க்க முடியும். விவரக்குறிப்பு அதே வடிவங்களைச் சுருக்கமாகத் தருகிறது.

WebSocket கட்டுப்பாடு

Section titled “WebSocket கட்டுப்பாடு”

ஊடாடும் தானியங்கிக்கு — ஒரு ஸ்கிரிப்டிலிருந்து உள்நுழைந்த உலாவி அமர்வை இயக்குதல், அல்லது tutorials-க்காக UI-ஐ தொலைதூரக் கட்டுப்படுத்துதல் — ஒரு WebSocket சேனல் உள்ளது:

const ws = new WebSocket('wss://eastagiletracker.com/ws/control?token=SESSION_JWT')
ws.send(JSON.stringify({ action: 'get_state', id: 'req-1' }))

token என்பது உலாவி அமர்வின் JWT, ஒரு API விசை அல்ல — ஒரு ea_user_* அல்லது ea_agent_* விசை upgrade-க்கு முன்பே மறுக்கப்படுகிறது. பெரும்பாலான பயனர்களுக்கு இது ஒருபோதும் தேவையில்லை; REST போதாத நிகழ்வுகளுக்கு அது இருக்கிறது.

மற்றொரு tracker-இலிருந்து இறக்குமதி

Section titled “மற்றொரு tracker-இலிருந்து இறக்குமதி”

நீங்கள் ஒரு மொத்த இடம்பெயர்வை ஸ்கிரிப்ட் செய்கிறீர்கள் என்றால்:

Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/import \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-F "source=pivotal" \
-F "file=@pivotal_export.csv"

ஆதரிக்கப்படும் கோப்பு மூலங்கள்: pivotal, jira, asana, gitlab, shortcut, trello, linear, plane, plane_json, eat (East Agile Tracker-இன் சொந்த ஏற்றுமதி — round-trip வடிவம்). multipart endpoint ஒத்திசைவாக இயங்கி, முடிவு எண்ணிக்கைகளுடன் பதிலளிக்கிறது.

GitHub ஒரு கோப்பிற்குப் பதிலாக API-இலிருந்து இறக்குமதி செய்கிறது, JSON endpoint வழியாக — file இல்லை, களஞ்சிய ஆயத்தொலைவுகள் மட்டுமே:

Terminal window
curl -X POST https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/import/json \
-H "X-TrackerToken: $TRACKER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source": "github",
"owner": "octocat",
"repo": "hello-world",
"token": "ghp_…",
"include_pull_requests": false,
"include_milestones": false,
"include_releases": false,
"include_dependencies": false
}'

JSON endpoint ஒத்திசைவற்றது: அது { "import_id", "status" } உடன் 202 எனப் பதிலளிக்கிறது, மேலும் வேலை done அல்லது failed நிலையை அடையும் வரை நீங்கள் GET /projects/{id}/imports/{import_id}-ஐ poll செய்கிறீர்கள். ஒரு திட்டத்திற்கு ஒரே நேரத்தில் ஒரு இறக்குமதி மட்டுமே இயங்குகிறது — ஒன்று நடந்துகொண்டிருக்கும்போது இரண்டாவது அழைப்பு 409 import_already_running. வேலையின் முன்னேற்றப் புலங்களுடன் முழுச் சுழற்சியும் GitHub களஞ்சியத்திலிருந்து ஒரு திட்டத்தை நிரப்புதல் பக்கத்தில் உள்ளது.

கோரிக்கையில் token விருப்பமானது, ஆனால் எடுத்தல் எப்போதும் அங்கீகரிக்கப்படுகிறது — அது GitHub-இன் GraphQL API மீது இயங்குகிறது, அங்கு அநாமதேய அடுக்கே இல்லை. token-ஐ விட்டுவிட்டால் சர்வர் தன் தள டோக்கனை இடுகிறது: பொது களஞ்சியங்கள் மட்டும், ஒவ்வொரு அழைப்பாளராலும் பகிரப்படுவது, மற்றும் அதன் GraphQL நிதி 500 புள்ளிகளுக்குக் கீழே இறங்கும்போது import_github_shared_quota_low உடன் மறுக்கப்படுவது. தனிப்பட்ட களஞ்சியம், அல்லது தள டோக்கனை அமைக்காத நிறுவல் (import_github_no_token), உங்களுடையதைக் கோருகிறது. எந்த டோக்கன் இயங்கினாலும், அது upstream GitHub அழைப்புகளுக்கு மட்டுமே பயன்படுத்தப்படுகிறது, ஒருபோதும் சேமிக்கப்படுவதோ திருப்பி எதிரொலிக்கப்படுவதோ இல்லை. GitHub-இன் அங்கீகாரமற்ற 60 கோரிக்கை REST உச்சவரம்பு உட்பட முழு விவரமும் GitHub களஞ்சியத்திலிருந்து ஒரு திட்டத்தை நிரப்புதல் பக்கத்தில் உள்ளது.

Dry-run முன்னோட்டம். எந்த மூலத்திற்கும் "dry_run": true (JSON) அல்லது -F "dry_run=true" (multipart) ஐச் சேர்க்கவும். இறக்குமதி ஒரு உண்மையான இயக்கம் போலவே சரியாக அலசி, தீர்த்து, நகல்நீக்கி, அதே result எண்ணிக்கைகளை (imported, skipped, errors, unmatched) தந்து, பின்னர் அனைத்தையும் திரும்பப் பெறுகிறது — எதுவும் எழுதப்படுவதில்லை. JSON endpoint-இல், dry run ஆனாலும் இல்லாவிட்டாலும், எண்ணிக்கைகள் poll செய்யப்படும் வேலையில் வந்தடைகின்றன.

வரம்புகள். ஒரு பதிவேற்ற body 10 MiB-இல் வரம்பிடப்பட்டுள்ளது, மற்றும் ஒரு ஒற்றை இறக்குமதி 5,000 ஸ்டோரிகள்-இல்; இரண்டில் ஏதேனும் ஒன்றை மீறுவது எதுவும் எழுதப்படாமல் ஒரு 400. ஒரு கோப்பை மீண்டும் இறக்குமதி செய்வது பாதுகாப்பானது — ஏற்கனவே இறக்குமதி செய்யப்பட்ட வரிசைகள் (source id மூலம் பொருத்தப்பட்டவை) நகலெடுக்கப்படுவதில்லை, தவிர்க்கப்படுகின்றன.

ஒரு திட்டத்தை ஏற்றுமதி செய்யவும்

Section titled “ஒரு திட்டத்தை ஏற்றுமதி செய்யவும்”

எந்தத் திட்டப் பாத்திரமும் வடிவங்களைப் பட்டியலிடலாம்; ஒன்றைப் பதிவிறக்குவது owner-மட்டுமே:

Terminal window
# The registered export formats: { id, name, content_type, drops, includes_archived }
curl https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/export/formats \
-H "X-TrackerToken: $TRACKER_TOKEN"
# Download one format (eat is the full-fidelity round-trip CSV)
curl https://eastagiletracker.com/api/v1/projects/$PROJECT_ID/export/eat \
-H "X-TrackerToken: $TRACKER_TOKEN" -o project-export.csv

பரிமாற்ற வடிவ id-கள்: eat, jira, pivotal, shortcut, trello, asana, gitlab, linear, plane, plane_json, மேலும் ஆவண வடிவங்களான pdf மற்றும் docx. ஒவ்வொரு இணைப்பும் GET /projects/{id}/export/attachments-இலிருந்து ஒரே zip-ஆகப் பதிவிறக்கக்கூடியது.

அனைத்துப் பிழைகளும் குறைந்தபட்சம் இவற்றுடன் JSON:

{
"code": "invalid_transition",
"error": "Cannot move story from `unstarted` to `accepted`"
}

பல பிழை பதில்கள் ஒரு details பொருளையும் உள்ளடக்குகின்றன — validation_failed-இல் details.fields (குற்றவாளி புல பெயர்களின் ஒரு array), மற்றும் 422 invalid_transition-இல் details.allowed (from/to-உடன்). அவற்றைப் பயன்படுத்தவும். ஒரு 429 rate_limited அதே JSON உறையில் ஒரு Retry-After header-ஐச் சுமக்கிறது.

List endpoints limit மற்றும் cursor-ஐ ஏற்றுக்கொள்கின்றன. Cursor மறைமுகமானது; முந்தைய பதிலிலிருந்து next_cursor-ஐ அனுப்பவும். limit உச்சவரம்பு endpoint-வாரியானது — ஸ்டோரிகள், கருத்துகள், மற்றும் திட்டங்களில் 200, events-இல் 500, தேடல் மற்றும் audit log-இல் 1000. தன் பதிலைத் துண்டிக்க வேண்டியிருந்த ஒரு சாதாரண (cursor அல்லாத) பட்டியல் அதை headers-இல் சொல்கிறது: X-Tracker-Pagination-Truncated, -Limit, -Offset, மற்றும் -Next-Offset, இதை அடுத்த பக்கத்திற்கு offset=-ஆகத் திருப்பி அனுப்புகிறீர்கள். மொத்த-எண்ணிக்கை header எதுவும் இல்லை.