Rest API¶
Gerrit API¶
-
spectrometer.api.gerrit.
branches
()[source]¶ Returns a list of branches in a given repository by querying Gerrit.
GET /gerrit/branches?param=<value>
Parameters: project (str) – Project to query branches from. (required) JSON:
{ "branches": [ { "ref": "refs/heads/stable/beryllium", "revision": "8f72284f3808328604bdff7f91a6999094f7c6d7" }, ... ] }
-
spectrometer.api.gerrit.
merged_changes
()[source]¶ Returns a list of merged changes in a given repository by querying Gerrit.
GET /gerrit/changes?param=<value>
Parameters: - project (str) – Project to query changes from. (required)
- branch (str) – Branch to pull changes from. (default: master)
JSON:
{ "changes": [ { "_number": 37706, "branch": "master", "change_id": "I4168e023b77bfddbb6f72057e849925ba2dffa17", "created": "2016-04-18 02:42:33.000000000", "deletions": 0, "hashtags": [], "id": "spectrometer~master~I4168e023b77bfddbb6f72057e849925ba2dffa17", "insertions": 119, "owner": { "_account_id": 2759 }, "project": "spectrometer", "status": "MERGED", "subject": "Add API to return commits since ref", "submittable": false, "topic": "git-api", "updated": "2016-04-19 09:03:03.000000000" }, ... ] }
-
spectrometer.api.gerrit.
projects
()[source]¶ Returns a list of projects by querying Gerrit.
GET /gerrit/projects
JSON:
{ "projects": [ "groupbasedpolicy", "spectrometer", "releng/autorelease", "snmp4sdn", "ovsdb", "nemo", ... ] }
Returns a list of tags in a given repository by querying Gerrit.
GET /gerrit/tags?param=<value>
Parameters: project (str) – Project to query tags from. (required) JSON:
{ "tags": [ { "message": "OpenDaylight Beryllium-SR1 release", "object": "f76cc0a12dc8f06dae3cedc31d06add72df8de5d", "ref": "refs/tags/release/beryllium-sr1", "revision": "8b92d614ee48b4fc5ba11c3f38c92dfa14d43655", "tagger": { "date": "2016-03-23 13:34:09.000000000", "email": "thanh.ha@linuxfoundation.org", "name": "Thanh Ha", "tz": -240 } }, ... ] }
Git API¶
-
spectrometer.api.git.
branches
()[source]¶ Returns a list of branches in a given repository.
GET /git/branches?param=<value>
Parameters: project (str) – Project to query commits from. (required) JSON:
{ "branches": [ "master", "stable/beryllium", "stable/helium", "stable/lithium", ... ] }
-
spectrometer.api.git.
commits
()[source]¶ Returns a list of commit messages in a repository.
GET /git/commits?param=<value>
Parameters: - project (str) – Project to query commits from. (required)
- branch (str) – Branch to pull commits from. (default: master)
JSON:
{ "commits": [ { "author": "Thanh Ha", "author_email": "thanh.ha@linuxfoundation.org", "author_tz_offset": 14400, "authored_date": 1460316386, "committed_date": 1460392605, "committer": "Thanh Ha", "committer_email": "thanh.ha@linuxfoundation.org", "committer_tz_offset": 14400, "hash": "1e409af62fd99413c5be86c5b43ad602a8cebc1e", "lines": { "deletions": 55, "files": 7, "insertions": 103, "lines": 158 }, "message": "Refactor Gerrit API into a Flask Blueprint..." }, ... ] }
Note
date: The date represented in seconds since epoch tz_offset: The seconds offset west of UTC.
-
spectrometer.api.git.
commits_since_ref
()[source]¶ Returns a list of commits in branch until common parent of ref.
Searches Git for a common_parent between ref1 and ref2 and returns a the commit log of all the commits until the common parent excluding the common_parent commit itself.
GET /git/commits_since_ref?param=<value>
Parameters: - project (str) – Project to query commits from. (required)
- ref1 (str) – Reference to get commit information from. (required)
- ref2 (str) – Reference to start at until ref1. (required)
JSON:
{ "commits": [ { "author": "Thanh Ha", "author_email": "thanh.ha@linuxfoundation.org", "author_tz_offset": 14400, "authored_date": 1460316386, "committed_date": 1460392605, "committer": "Thanh Ha", "committer_email": "thanh.ha@linuxfoundation.org", "committer_tz_offset": 14400, "hash": "1e409af62fd99413c5be86c5b43ad602a8cebc1e", "lines": { "deletions": 55, "files": 7, "insertions": 103, "lines": 158 }, "message": "Refactor Gerrit API into a Flask Blueprint..." }, ... ] }
-
spectrometer.api.git.
project_info
()[source]¶ Provides meta information on project.
Refer to the specfile located here: https://opendaylight-spectrometer.readthedocs.io/en/latest/project-info-spec.html