Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
None
Description
=================================== ------- COIN API ENDPOINTS ------- =================================== GET /tasks PARAMS { max: int # OPTIONAL, max count of responses to return. Default=100 (Maximum=1000) repo: str/list[str] # OPTIONAL branch: str/list[str] # OPTIONAL type: str/list[str] # possible types [Integration, StatusCheck, EarlyWarning, CreateDebugVm, HealthCheck] before: ISO 8601 datetime # OPTIONAL, Exclusive. Default=[current datetime] after: ISO 8601 datetime # OPTIONAL, Inclusive. Default=[current datetime - 10days] state: str/list[str] # OPTIONAL [Running, Passed, Failed, Cancelled, Insignificant] { RESPONSE more: bool # True if more results than the requested max count exist next: str # OPTIONAL, URL-encoded query string to GET /tasks which auto-populates 'before' with the last returned task 'started_on' datetime. This effectively allows iterative calling of the /tasks endpoint until one or less results are returned. tasks: datetime-sorted list [ { id: str # Unique Integration ID repo: str # Repository targeted for this integration branch: str # The branch that the task is operating on type: str # possible types [Integration, StatusCheck, EarlyWarning, CreateDebugVm, HealthCheck] started_on: ISO 8601 datetime datetime # Datetime the integration request was made state: str # possible statuses [Running, Passed, Failed, Cancelled, Insignificant] top_sha: str # OPTIONAL, present if type==integration. Sha COIN will place on top of git history when integration merges tested_shas: # list of tested shas (### Move to taskDetail only?) self_url: str # The web UI url of this task, on the public testresults.qt.io/coin server if possible. Otherwise "coin/" intranet URL is_public: bool # False if the change requires a user to be in TQTC Intranet to view. } ] ======================= GET /taskDetail PARAMS { id: str # ID of the integration/status check to retrieve } RESPONSE Details about a single integration { id: str # Unique Integration ID (self) state: str # possible statuses [Running, Passed, Failed, Cancelled, Insignificant] verbose_status: str # OPTIONAL, present if COIN has additional detail about a non-pass status. top_sha: str # OPTIONAL, present if type==integration. Sha COIN will place on top of git history when integration merges tested_changes: # list[str/changeNumbers] started_on: ISO 8601 datetime # Datetime the integration request was made completed_on: ISO 8601 datetime # Datetime the integration finished/passed/failed/cancelled type: str # possible types [Integration, StatusCheck, EarlyWarning, CreateDebugVm, HealthCheck] work_items: list[str/WorkitemPath] # List of builds performed } ======================= GET /taskWorkItems PARAMS { id: str # ID of the integration/status check to retrieve type: str/list[str] # OPTIONAL, [Integration, StatusCheck, EarlyWarning, CreateDebugVm, HealthCheck] } RESPONSE { work_items: list[WorkItemDetails] # List of work item objects. } ======================= GET /workItemDetails PARAMS { build_key: str # Unique build key of the work item } RESPONSE WorkItemDetails object. See #WorkItemDetails ======================= GET /taskTestedChanges PARAMS { id: str # ID of the integration/status check to retrieve } RESPONSE [ Change, ... # List[Change] objects which were built/tested in the specified task. ] =================================== ------------- TYPES --------------- =================================== Change # Provides information about a tested change in a task SCHEMA { sha: str # The sha of the change repo: str # The repo in which the change exists ref: str # The gerrit ref of the change, including patchset subject: str # The Subject line of the commit message of the change change_number: str # The numerical change number of the change change_id: str # The fully-qualified change ID of the change links: list[ChangeLinks] # A list of links relating to the change } =============== ChangeLinks # Provides useful links relating to a change in codereview # Accessing some of these links may require authentication SCHEMA { web_url: str # The url of the change in the gerrit web UI rest_url: str # The GET url of the change in the gerrit REST api. see: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-change } =============== WorkItemDetails # Provides detailed information about a specific build or test run SCHEMA { task_action: str # possible types [build_only, build_and_test, dry_test_run] build_key: str # longform unique identifier for this build state: str # Possible states [waiting for hardware, running, done, error] target_os: str # OS the build is targeting target_os_version: str # Version of the target os coin_features: list[str] # list of coin features for this build. configure_arguments: list[str] # list of arguments passed to configure for this build environment: list[str] # list of special environment variables for this build. Format "key=value" started_on: datetime # Datetime this build was assigned an agent and began building completed_on: datetime # Datetime this build was completed storage_paths: BuildTestLinks # List of links to relevant files for this build duration: int_s # duration this build ran for. Derivative, calculated from started_on and completed_on } =============== BuildTestLinks # Path links to relevant build or test data SCHEMA { log_web: str # Path of log view on COIN/Testresults log_raw: str # Path of the raw plaintext log in gzipped format artifacts: str # OPTIONAL Path of the storage location for build logs and testreslts }
Attachments
Issue Links
- is required for
-
COIN-821 Implement Get workitems API
- Closed
- relates to
-
QTQAINFRA-4566 Implement test result parser & db importer
- Closed
Gerrit Reviews
For Gerrit Dashboard: COIN-819 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
462609,5 | Resolve real sha1 for gerrit changes | master | qtqa/tqtc-coin-ci | Status: NEW | 0 | 0 |
419839,10 | Add workItems API | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
435234,7 | Include changeID when handling GerritChange | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
437552,4 | Fix parseTime not returning error value | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
437841,2 | Fix content-type in API json responses | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
437843,4 | Make project name usage consistent in API | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
437847,3 | Change project from list to string in workItemDetails | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
437908,3 | Use null in API instead of empty string for empty values | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
438090,3 | Set endTime to tasks when cleaning stale integrations | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
440364,5 | Add workitem_id to WorkItemDetails to match work_items value in TaskDetails | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
440620,2 | Update documentation for taskWorkItems API | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
441687,4 | Rename work_items parameter in API to workitem_ids to improve consistency | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
442444,2 | Include missing data to taskDetail response | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
444683,2 | Return valid JSON instead of 204 if taskWorkItems if not items are found | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
444861,3 | Add branch info to API change info | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
449341,4 | Include ref and patchset in API change info | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
450101,9 | Include build host and target info in parseWorkItems | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
451460,2 | Fix API start time incorrectly set at 1970-01-01 | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
451678,6 | Empty values in API are nil and not empty strings | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
452038,7 | Change "status" parameters in API to "state" | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
453064,2 | API: Fix nil value check for completed_on and final_sha1 | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
461978,2 | API: Change storage_path from list to object | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
462069,9 | API: Add ID and dependencies to taskWorkItems output | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
462340,3 | API: Search workItems using ID directly | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
463004,2 | API: Increase result limit in workItems reply to 10000 | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
467779,16 | Accept multiple task ID's in queries and return list of results | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |
472060,6 | Add initializing task status | master | qtqa/tqtc-coin-ci | Status: MERGED | +2 | 0 |