PDC tracks every modification that was made through any of the API end-points. This provides an auditable trail of who changed what and when.

Each request to the API creates one Changeset, which contains one or more Changes.

Each ChangeSet carries metadata about author and date. Optionally, there can also be a comment, which is an arbitrary string. It is extracted from the PDC-Change-Comment HTTP header in the request.

A Change has information about which database model was changed, its primary key and old and new value (provided as a JSON). If both the values are provided, the Change represents an update in some of the fields. If only new value is provided, the Change represents creation of new entity. If only old value is non-null, an entity was deleted.

This page shows the usage of the Changeset API, please see the following for more details. The access to this data is read-only. It is possible to either request all changesets satisfying given criteria, or view detail of a particular changeset.

Documents & examples

Method: GET

URL: /rest_api/v1/changesets/

Query Params:

  • author (string)
  • changed_since (string)
  • changed_until (string)
  • comment (string, substring match)
  • resource (string)
  • ordering (string) Comma separated list of fields for ordering results.
    • To sort by a field in descending order, prefix its name with minus (e.g. -name).
    • Use double underscores for nested field names (e.g. parent__child for {"parent": {"child": ...}}).

Following filters can be used to show only specific fields. This can make response time faster. Format is list or single value (JSON: {"fields": ["a","b"]} or {"fields": "a"}, in URL: ?fields=a&fields=b).

  • fields (list | string) Fields to display (other fields will be hidden).
  • exclude_fields: (list | string) Fields NOT to display (overrules fields).

The dates for changed_since and changed_until should have one these formats:

Format               | Example
---------------------+---------------------------
%Y-%m-%d %H:%M:%S    | 2006-10-25 14:30:59
%Y-%m-%d %H:%M:%S.%f | 2006-10-25 14:30:59.000200
%Y-%m-%d %H:%M       | 2006-10-25 14:30
%Y-%m-%d             | 2006-10-25

Resource names for resource should be specified in all lower case.

Response: a paged list of following objects

{
    "author (read-only)": "string", 
    "changes (read-only)": [
        {
            "new_value": "string", 
            "old_value": "string", 
            "resource": "string", 
            "resource_id": "string"
        }
    ], 
    "comment (optional, default=null, nullable)": "string", 
    "committed_on (read-only)": "datetime", 
    "duration (read-only)": "data", 
    "id (read-only)": "int", 
    "requested_on": "datetime"
}

The unit for duration is second.

Example:

curl -H "Content-Type: application/json"  -X GET https://pdc.fedoraproject.org/rest_api/v1/changesets/
# output
{
    "count": 84,
    "next": "https://pdc.fedoraproject.org/rest_api/v1/changesets/?page=2",
    "previous": null,
    "results": [
        {
            {
                "author": "xxx",
                "requested_on": "2015-02-03T05:50:49.387Z",
                "committed_on": "2015-02-03T05:51:17.262Z",
                "duration": "27.875",
                "changes": [
                    {
                        "id": 1
                        "resource": "person",
                        "resource_id": "2",
                        "old_value": "old",
                        "new_value": "new"
                    }
                ],
                "comment": "xxx"
            }
        },
        ...
    ]
}

With query params:

curl -H "Content-Type: application/json"  -G https://pdc.fedoraproject.org/rest_api/v1/changesets/ --data-urlencode "resource=test"
# output
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
            {
                "id": 1
                "author": "xxx",
                "requested_on": "2015-02-03T05:50:49.387Z",
                "committed_on": "2015-02-03T05:51:17.262Z",
                "duration": "27.875",
                "changes": [
                    {
                        "resource": "person",
                        "resource_id": "2",
                        "old_value": "old",
                        "new_value": "new"
                    }
                ],
                "comment": "xxx"
            }
    ]
}

Method: GET

URL: /rest_api/v1/changesets/{instance_pk}/

Response:

{
    "author (read-only)": "string", 
    "changes (read-only)": [
        {
            "new_value": "string", 
            "old_value": "string", 
            "resource": "string", 
            "resource_id": "string"
        }
    ], 
    "comment (optional, default=null, nullable)": "string", 
    "committed_on (read-only)": "datetime", 
    "duration (read-only)": "data", 
    "id (read-only)": "int", 
    "requested_on": "datetime"
}

The unit for duration is second.

Example:

curl -H "Content-Type: application/json" https://pdc.fedoraproject.org/rest_api/v1/changesets/1/
# output
{
    "id": 1,
    "author": "xxx",
    "requested_on": "2015-02-03T05:50:49.387Z",
    "committed_on": "2015-02-03T05:51:17.262Z",
    "duration": "27.875",
    "changes": [
       {
           "resource": "person",
           "resource_id": "2",
           "old_value": "old",
           "new_value": "new"
       }
    ],
    "comment": "xxx"
}

Browsable GET

GET /rest_api/v1/changesets/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 1524379,
    "next": "https://pdc.fedoraproject.org/rest_api/v1/changesets/?page=2",
    "previous": null,
    "results": [
        {
            "id": 1524380,
            "author": "_48db0945906e4ceda1da223bd8f2df82",
            "requested_on": "2019-04-18T18:16:54.238554Z",
            "committed_on": "2019-04-18T18:21:07.681598Z",
            "duration": "253.443044",
            "changes": [
                {
                    "resource": "notice",
                    "resource_id": "0",
                    "old_value": "null",
                    "new_value": "{\"num_linked_rpms\": 83306, \"compose\": \"Fedora-30-updates-testing-20190418.0\"}"
                }
            ],
            "comment": "2019-cc0faa8c-6dae-493d-8b56-224f54bb225d"
        },
        {
            "id": 1524379,
            "author": "_48db0945906e4ceda1da223bd8f2df82",
            "requested_on": "2019-04-18T18:16:51.816275Z",
            "committed_on": "2019-04-18T18:16:52.817331Z",
            "duration": "1.001056",
            "changes": [
                {
                    "resource": "notice",
                    "resource_id": "0",
                    "old_value": "null",
                    "new_value": "{\"num_linked_images\": 0, \"compose\": \"Fedora-30-updates-testing-20190418.0\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284444",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/i386/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284443",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/s390x/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284442",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/ppc64/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284441",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/aarch64/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284440",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/ppc64le/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284439",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/armhfp/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284438",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/x86_64/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284437",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/i386/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284436",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/s390x/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284435",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/ppc64/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284434",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/aarch64/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284433",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/ppc64le/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284432",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/armhfp/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284431",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/x86_64/debug/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284430",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/i386/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284429",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/s390x/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284428",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/ppc64/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284427",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/aarch64/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284426",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/ppc64le/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284425",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/armhfp/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284424",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/x86_64/debug/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284423",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284422",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284421",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284420",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284419",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284418",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284417",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284416",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284415",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284414",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284413",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284412",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284411",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284410",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/source/tree/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284409",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284408",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284407",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284406",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284405",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284404",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284403",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/source/tree\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284402",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/i386/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284401",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/s390x/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284400",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/ppc64/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284399",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/aarch64/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284398",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/ppc64le/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284397",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/armhfp/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284396",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/x86_64/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284395",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/i386/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284394",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/s390x/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284393",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/ppc64/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284392",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/aarch64/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284391",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/ppc64le/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284390",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/armhfp/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284389",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/x86_64/os/Packages\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"packages\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284388",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"i386\", \"path\": \"Everything/i386/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284387",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"s390x\", \"path\": \"Everything/s390x/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284386",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64\", \"path\": \"Everything/ppc64/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284385",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"Everything/aarch64/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284384",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"ppc64le\", \"path\": \"Everything/ppc64le/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284383",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"Everything/armhfp/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284382",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"Everything/x86_64/os\", \"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant\": \"Everything\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "variant",
                    "resource_id": "18405",
                    "old_value": "null",
                    "new_value": "{\"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant_name\": \"Everything\", \"variant_type\": \"variant\", \"arches\": [\"i386\", \"ppc64\", \"ppc64le\", \"s390x\", \"x86_64\", \"aarch64\", \"armhfp\"], \"variant_uid\": \"Everything\", \"variant_id\": \"Everything\"}"
                },
                {
                    "resource": "variant",
                    "resource_id": "18404",
                    "old_value": "null",
                    "new_value": "{\"compose\": \"Fedora-30-updates-testing-20190418.0\", \"variant_name\": \"AtomicHost\", \"variant_type\": \"variant\", \"arches\": [\"ppc64le\", \"x86_64\", \"aarch64\"], \"variant_uid\": \"AtomicHost\", \"variant_id\": \"AtomicHost\"}"
                },
                {
                    "resource": "compose",
                    "resource_id": "5394",
                    "old_value": "null",
                    "new_value": "{\"id\": 5394, \"compose_id\": \"Fedora-30-updates-testing-20190418.0\"}"
                }
            ],
            "comment": "2019-cc0faa8c-6dae-493d-8b56-224f54bb225d"
        },
        {
            "id": 1524378,
            "author": "_48db0945906e4ceda1da223bd8f2df82",
            "requested_on": "2019-04-18T18:14:05.966268Z",
            "committed_on": "2019-04-18T18:16:34.987704Z",
            "duration": "149.021436",
            "changes": [
                {
                    "resource": "notice",
                    "resource_id": "0",
                    "old_value": "null",
                    "new_value": "{\"num_linked_rpms\": 0, \"compose\": \"Fedora-IoT-30-20190418.0\"}"
                }
            ],
            "comment": "2019-1e5f7aaf-59a9-4ba9-a13c-d7c060655fa6"
        },
        {
            "id": 1524377,
            "author": "_48db0945906e4ceda1da223bd8f2df82",
            "requested_on": "2019-04-18T18:14:05.346740Z",
            "committed_on": "2019-04-18T18:14:05.787535Z",
            "duration": "0.440795",
            "changes": [
                {
                    "resource": "notice",
                    "resource_id": "0",
                    "old_value": "null",
                    "new_value": "{\"num_linked_images\": 5, \"compose\": \"Fedora-IoT-30-20190418.0\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284381",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/armhfp/debug/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284380",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/x86_64/debug/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284379",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/aarch64/debug/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"debug_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284378",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/armhfp/debug/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284377",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/x86_64/debug/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284376",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/aarch64/debug/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"debug_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284375",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/source/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284374",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/source/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284373",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/source/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"source_repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284372",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/source/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284371",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/source/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284370",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/source/tree\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"source_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284369",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/armhfp/iso\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"isos\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284368",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/x86_64/iso\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"isos\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284367",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/aarch64/iso\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"isos\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284366",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/armhfp/os\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284365",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/x86_64/os\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284364",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/aarch64/os\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"repository\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284363",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"armhfp\", \"path\": \"IoT/armhfp/os\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284362",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"x86_64\", \"path\": \"IoT/x86_64/os\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "composerelpath",
                    "resource_id": "284361",
                    "old_value": "null",
                    "new_value": "{\"arch\": \"aarch64\", \"path\": \"IoT/aarch64/os\", \"compose\": \"Fedora-IoT-30-20190418.0\", \"variant\": \"IoT\", \"type\": \"os_tree\"}"
                },
                {
                    "resource": "variant",
                    "resource_id": "18403",
                    "old_value": "null",
                    "new_value": "{\"compose\": \"Fedora-IoT-30-20190418.0\", \"variant_name\": \"IoT\", \"variant_type\": \"variant\", \"arches\": [\"x86_64\", \"aarch64\", \"armhfp\"], \"variant_uid\": \"IoT\", \"variant_id\": \"IoT\"}"
                },
                {
                    "resource": "compose",
                    "resource_id": "5393",
                    "old_value": "null",
                    "new_value": "{\"id\": 5393, \"compose_id\": \"Fedora-IoT-30-20190418.0\"}"
                }
            ],
            "comment": "2019-1e5f7aaf-59a9-4ba9-a13c-d7c060655fa6"
        },
        {
            "id": 1524376,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T17:16:14.934872Z",
            "committed_on": "2019-04-18T17:16:14.962755Z",
            "duration": "0.027883",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835131",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"security_fixes\", \"branch\": \"f29\", \"eol\": \"2019-12-08\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524375,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T17:16:14.361205Z",
            "committed_on": "2019-04-18T17:16:14.386654Z",
            "duration": "0.025449",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835130",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"bug_fixes\", \"branch\": \"f29\", \"eol\": \"2019-12-08\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524374,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T17:16:13.634888Z",
            "committed_on": "2019-04-18T17:16:13.655817Z",
            "duration": "0.020929",
            "changes": [
                {
                    "resource": "componentbranch",
                    "resource_id": "419500",
                    "old_value": "null",
                    "new_value": "{\"type_name\": \"rpm\", \"global_component_name\": \"python-elpy\", \"name\": \"f29\", \"critical_path\": false, \"slas\": []}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524373,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T17:15:54.079111Z",
            "committed_on": "2019-04-18T17:15:54.108440Z",
            "duration": "0.029329",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835129",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"security_fixes\", \"branch\": \"f30\", \"eol\": \"2020-05-26\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524372,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T17:15:53.318380Z",
            "committed_on": "2019-04-18T17:15:53.352100Z",
            "duration": "0.03372",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835128",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"bug_fixes\", \"branch\": \"f30\", \"eol\": \"2020-05-26\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524371,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T17:15:52.660040Z",
            "committed_on": "2019-04-18T17:15:52.696219Z",
            "duration": "0.036179",
            "changes": [
                {
                    "resource": "componentbranch",
                    "resource_id": "419499",
                    "old_value": "null",
                    "new_value": "{\"type_name\": \"rpm\", \"global_component_name\": \"python-elpy\", \"name\": \"f30\", \"critical_path\": false, \"slas\": []}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524370,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:38:03.698129Z",
            "committed_on": "2019-04-18T16:38:03.733038Z",
            "duration": "0.034909",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835127",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"security_fixes\", \"branch\": \"f29\", \"eol\": \"2019-12-08\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524369,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:38:03.039731Z",
            "committed_on": "2019-04-18T16:38:03.068838Z",
            "duration": "0.029107",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835126",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"bug_fixes\", \"branch\": \"f29\", \"eol\": \"2019-12-08\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524368,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:38:02.663931Z",
            "committed_on": "2019-04-18T16:38:02.690492Z",
            "duration": "0.026561",
            "changes": [
                {
                    "resource": "componentbranch",
                    "resource_id": "419498",
                    "old_value": "null",
                    "new_value": "{\"type_name\": \"rpm\", \"global_component_name\": \"mx5000tools\", \"name\": \"f29\", \"critical_path\": false, \"slas\": []}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524367,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:37:49.844584Z",
            "committed_on": "2019-04-18T16:37:49.900064Z",
            "duration": "0.05548",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835125",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"security_fixes\", \"branch\": \"f30\", \"eol\": \"2020-05-26\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524366,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:37:48.868476Z",
            "committed_on": "2019-04-18T16:37:48.898220Z",
            "duration": "0.029744",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835124",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"bug_fixes\", \"branch\": \"f30\", \"eol\": \"2020-05-26\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524365,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:37:48.163598Z",
            "committed_on": "2019-04-18T16:37:48.183507Z",
            "duration": "0.019909",
            "changes": [
                {
                    "resource": "componentbranch",
                    "resource_id": "419497",
                    "old_value": "null",
                    "new_value": "{\"type_name\": \"rpm\", \"global_component_name\": \"mx5000tools\", \"name\": \"f30\", \"critical_path\": false, \"slas\": []}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524364,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:32:18.539933Z",
            "committed_on": "2019-04-18T16:32:18.566741Z",
            "duration": "0.026808",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835123",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"rawhide\", \"branch\": \"master\", \"eol\": \"2222-01-01\"}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524363,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:32:17.374897Z",
            "committed_on": "2019-04-18T16:32:17.398307Z",
            "duration": "0.02341",
            "changes": [
                {
                    "resource": "componentbranch",
                    "resource_id": "419496",
                    "old_value": "null",
                    "new_value": "{\"type_name\": \"rpm\", \"global_component_name\": \"mx5000tools\", \"name\": \"master\", \"critical_path\": false, \"slas\": []}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524362,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:32:15.873511Z",
            "committed_on": "2019-04-18T16:32:15.892024Z",
            "duration": "0.018513",
            "changes": [
                {
                    "resource": "globalcomponent",
                    "resource_id": "90213",
                    "old_value": "null",
                    "new_value": "{\"labels\": [], \"dist_git_path\": null, \"name\": \"mx5000tools\", \"upstream\": null}"
                }
            ],
            "comment": null
        },
        {
            "id": 1524361,
            "author": "_cf1c4ad1abf645bba44381d0634763f4",
            "requested_on": "2019-04-18T16:30:30.778846Z",
            "committed_on": "2019-04-18T16:30:30.819376Z",
            "duration": "0.04053",
            "changes": [
                {
                    "resource": "slatocomponentbranch",
                    "resource_id": "835122",
                    "old_value": "null",
                    "new_value": "{\"sla\": \"rawhide\", \"branch\": \"master\", \"eol\": \"2222-01-01\"}"
                }
            ],
            "comment": null
        }
    ]
}