| @PLUGIN@ - /changes/ REST API |
| ============================== |
| |
| This page describes the '/changes/' REST endpoints that are added by |
| the @PLUGIN@ plugin. |
| |
| Please also take note of the general information on the |
| [REST API](../../../Documentation/rest-api.html). |
| |
| <a id="plugin-endpoints"> @PLUGIN@ Endpoints |
| -------------------------------------------- |
| |
| ### <a id="get-verifications"> Get Verifications |
| |
| __GET__ /changes/{change-id}/revisions/{revision-id}/@PLUGIN@~verifications |
| |
| Gets the [verifications](#verification-info) for a change. Please refer to the |
| general [changes rest api](../../../Documentation/rest-api-changes.html#get-review) |
| for additional info on this request. |
| |
| #### Request |
| |
| ``` |
| GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/@PLUGIN@~verifications HTTP/1.0 |
| ``` |
| |
| #### Response |
| |
| ``` |
| HTTP/1.1 200 OK |
| Content-Disposition: attachment |
| Content-Type: application/json; charset=UTF-8 |
| |
| )]}' |
| { |
| "5081c5e5-e101-43eb-8e59-4e197f22a0d0"": { |
| "name": "gate-horizon-pep8", |
| "url": "https://ci.host.com/jobs/gate-horizon-pep8/2711", |
| "value": -1, |
| "reporter": "Jenkins Check", |
| "comment": "Failed", |
| "category": "cloud server", |
| "duration": "3m 10s" |
| "granted": "15 Mar 2016 08:10:41", |
| }, |
| "2a359a73-31e7-4f81-b295-ae0e20615da6": { |
| "name": "gate-horizon-python27", |
| "url": "https://ci.host.com/jobs/gate-horizon-python27/1711", |
| "value": 1, |
| "abstain": true, |
| "reporter": "Acme CI", |
| "comment": "Informational only", |
| "category": "third party", |
| "duration": "7m 40s" |
| "granted": "15 Mar 2016 08:30:16" |
| } |
| "807c8ece-0196-4ec4-b24f-ed035efa8e55": { |
| "name": "gate-horizon-python34", |
| "url": "https://ci.host.com/jobs/gate-horizon-python34/9111", |
| "value": 1, |
| "reporter": "Drone CI", |
| "comment": "RuntimeError: File was not found", |
| "granted": "15 Mar 2016 08:40:23", |
| "category": "third party", |
| "duration": "12m 20s" |
| "granted": "15 Mar 2016 08:40:23", |
| } |
| } |
| ``` |
| |
| ### <a id="verification-options"> Verification Options |
| Verifications Options |
| |
| Sort(s):: |
| Sort the results by a field. |
| |
| |Field Name |Description| |
| |:----------|:----------| |
| |NAME |Sort job name in ascending order| |
| |REPORTER |Sort reporter in ascending order| |
| |
| *__Note__: Fields are also sorted by the time the job was saved in descending |
| order. |
| |
| #### Request |
| |
| ``` |
| GET /changes/100/revisions/1/@PLUGIN@~verifications/?sort=REPORTER HTTP/1.0 |
| ``` |
| |
| |
| Filter(f):: |
| |
| |Field Name |Description| |
| |:----------|:----------| |
| |CURRENT |Limit the results to the most current list of reports| |
| |FAILED |Limit the results to only failed jobs| |
| |
| #### Example |
| |
| Assuming "Jenkins Check" and "ACME CI" published multiple reports to Gerrit. |
| Retrieve the most current report(s) by each reporter: |
| |
| #### Request |
| |
| ``` |
| GET /changes/100/revisions/1/@PLUGIN@~verifications/?sort=REPORTER&filter=CURRENT HTTP/1.0 |
| ``` |
| |
| #### Response |
| |
| ``` |
| HTTP/1.1 200 OK |
| Content-Disposition: attachment |
| Content-Type: application/json; charset=UTF-8 |
| |
| )]}' |
| { |
| "2a359a73-31e7-4f81-b295-ae0e20615da6": { |
| "name": "gate-horizon-python27", |
| "url": "https://ci.host.com/jobs/gate-horizon-python27/1711", |
| "value": 1, |
| "abstain": true, |
| "reporter": "Acme CI", |
| "comment": "Informational only", |
| "category": "third party", |
| "duration": "7m 40s" |
| "granted": "15 Mar 2016 08:30:16" |
| }, |
| "5081c5e5-e101-43eb-8e59-4e197f22a0d0"": { |
| "name": "gate-horizon-pep8", |
| "url": "https://ci.host.com/jobs/gate-horizon-pep8/2711", |
| "value": -1, |
| "reporter": "Jenkins Check", |
| "comment": "Failed", |
| "category": "cloud server", |
| "duration": "3m 10s" |
| "granted": "15 Mar 2016 08:10:41", |
| } |
| } |
| ``` |
| |
| ### <a id="post-verify"> Post Verify |
| |
| __POST__ /changes/{change-id}/revisions/{revision-id}/@PLUGIN@~verifications |
| |
| Posts a verification result to a patchset. Each verification result is save as |
| a unique entry in the database identified by a UUID. Results can be updated by |
| posting with the UUID. |
| |
| The verification must be provided in the request body as a |
| [VerifyInput](#verify-input) entity. |
| |
| #### Request |
| |
| ``` |
| POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/verify-status~verifications HTTP/1.0 |
| Content-Type: application/json;charset=UTF-8 |
| |
| ``` |
| |
| #### Example |
| |
| Post two verification results to patchset revision 14a95001c. |
| _Notice_ two levels of quoting are required, one for the local shell, and |
| another for the argument parser inside the Gerrit server. |
| |
| ``` |
| curl -X POST --digest --user joe:secret --data-binary |
| @verification_data.txt --header "Content-Type: application/json; charset=UTF-8" |
| http://localhost:8080/a/changes/1000/revisions/14a95001c/verify-status~verifications |
| |
| $ cat verification_data.txt |
| { |
| "verifications": { |
| "gate-horizon-python27": { |
| "url": "https://ci.host.com/jobs/gate-horizon-python27/1711", |
| "value": 1, |
| "abstain": true, |
| "reporter": "Jenkins Check", |
| "comment": "Informational only", |
| "category": "third party", |
| "duration": "2m 40s" |
| }, |
| "gate-horizon-python34": { |
| "url": "https://ci.host.com/jobs/gate-horizon-python34/1711", |
| "value": -1, |
| "abstain": false, |
| "reporter": "Jenkins Check", |
| "comment": "RuntimeError: File was not found", |
| "category": "third party", |
| "duration": "12m 20s" |
| } |
| } |
| } |
| |
| ``` |
| |
| <a id="json-entities">JSON Entities |
| ----------------------------------- |
| |
| ### <a id="verify-input"></a>VerifyInput |
| |
| The `VerifyInput` entity contains information for adding a verification |
| to a revision. |
| |
| |
| |Field Name | |Description| |
| |:-----------|:----|:----------| |
| |name |required|The name of this job| |
| |value |required|The pass/fail result for this job| |
| |abstain |optional|Whether the value counts as a vote (defaults to false)| |
| |rerun |optional|Whether this result is from a re-test on the same patchset| |
| |comment |optional|A short comment about this job| |
| |url |optional|The url link to more info about this job| |
| |reporter |optional|The user that verified this job| |
| |category |optional|A category for this job| |
| |duration |optional|The time it took to run this job| |
| |
| |
| ### <a id="revision-info"></a>RevisionInfo |
| |
| The `RevisionInfo` entity contains information about a patch set. |
| Not all fields are returned by default. Additional fields can |
| be obtained by adding `o` parameters as described in |
| [Query Changes](../../../Documentation/rest-api-changes.html#list-changes) |
| |
| |Field Name | |Description | |
| |:-------------|:---|:-----------| |
| |verifications |optional|The verifications on the patchset as a list of `VerificationInfo` entities| |
| |
| |
| ### <a id="verification-info"></a>VerificationInfo |
| |
| The `VerificationInfo` entity describes a verification on a patch set. |
| |
| |Field Name |Description| |
| |:----------|:----------| |
| |name |The name of this job| |
| |value |The pass/fail result for this job| |
| |abstain |Whether the value counts as a vote| |
| |rerun |Whether this result is from a re-test on the same patchset| |
| |comment |A short comment about this job| |
| |url |The url link to more info about this job| |
| |reporter |The user that verified this job| |
| |category |A category for this job| |
| |duration |The time it took to run this job| |
| |granted |The date this verification was recorded| |
| |
| |
| ACCESS |
| ------ |
| Caller must be a member of a group that is granted the |
| 'Save Verification Report' capability (provided by this plugin) in order to |
| POST reports. |
| |
| SEE ALSO |
| -------- |
| |
| * [Change related REST endpoints](../../../Documentation/rest-api-changes.html) |
| * [Plugin Development](../../../Documentation/dev-plugins.html) |
| * [REST API Development](../../../Documentation/dev-rest-api.html) |
| |
| GERRIT |
| ------ |
| Part of [Gerrit Code Review](../../../Documentation/index.html) |