{
  "url": "https://api.github.com/repos/keymanapp/keyman/pulls/14013",
  "id": 2533896821,
  "node_id": "PR_kwDOAY2xT86XCDJ1",
  "html_url": "https://github.com/keymanapp/keyman/pull/14013",
  "diff_url": "https://github.com/keymanapp/keyman/pull/14013.diff",
  "patch_url": "https://github.com/keymanapp/keyman/pull/14013.patch",
  "issue_url": "https://api.github.com/repos/keymanapp/keyman/issues/14013",
  "number": 14013,
  "state": "open",
  "locked": false,
  "title": "feat(developer): kmc-convert validate keylayout file 😎",
  "user": {
    "login": "SabineSIL",
    "id": 86713187,
    "node_id": "MDQ6VXNlcjg2NzEzMTg3",
    "avatar_url": "https://avatars.githubusercontent.com/u/86713187?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/SabineSIL",
    "html_url": "https://github.com/SabineSIL",
    "followers_url": "https://api.github.com/users/SabineSIL/followers",
    "following_url": "https://api.github.com/users/SabineSIL/following{/other_user}",
    "gists_url": "https://api.github.com/users/SabineSIL/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/SabineSIL/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/SabineSIL/subscriptions",
    "organizations_url": "https://api.github.com/users/SabineSIL/orgs",
    "repos_url": "https://api.github.com/users/SabineSIL/repos",
    "events_url": "https://api.github.com/users/SabineSIL/events{/privacy}",
    "received_events_url": "https://api.github.com/users/SabineSIL/received_events",
    "type": "User",
    "user_view_type": "public",
    "site_admin": false
  },
  "body": "\r\n\r\n**The setup:** \r\n- The xsd-file  :  `resources\\standards-data\\keylayout\\dtd\\keylayout.xsd`\r\n- The  `resources\\standards-data\\keylayout\\create_keylayout_schema.sh`  exists and creates `resources\\standards-data\\keylayout\\keylayout.schema.json`\r\n-  The `common/web/types/build.sh configure` creates a `common\\web\\types\\src\\schemas\\keylayout.schema.validator.mjs` file  \r\n- The .mjs is then used in validate() function of  `keylayout-file-reader.ts`   (`...SchemaValidators.default.keylayout(source)`) \r\n\r\n**The problem:** \r\nAll the above works but while using the `validate20()` function of `keylayout.schema.validator.mjs` ,  **key0 will be \"?xml\"** which then produces the error.\r\n \r\n> \r\n> for (const **key0** in data) {\r\n>               if (!(key0 === \"keyboard\")) {\r\n>                 validate20.errors = [{ instancePath, schemaPath: \"#/additionalProperties\", keyword: \"additionalProperties\", params: { additionalProperty: key0 }, message: \"must NOT have additional properties\" }];\r\n>                 return false;\r\n>                 break;\r\n>               }\r\n>             }\r\n\r\n**The error:** \r\n![image](https://github.com/user-attachments/assets/efa4a0ba-a53a-419f-9d39-15c61ce26fe5)\r\n\r\n**So the question is: Why is `?xml `treated as an element tag and how can we prevent this**\r\n\r\n@keymanapp-test-bot skip\r\n\r\nBuild-bot: skip",
  "created_at": "2025-05-21T10:02:29Z",
  "updated_at": "2025-05-26T01:30:35Z",
  "closed_at": null,
  "merged_at": null,
  "merge_commit_sha": null,
  "assignee": {
    "login": "SabineSIL",
    "id": 86713187,
    "node_id": "MDQ6VXNlcjg2NzEzMTg3",
    "avatar_url": "https://avatars.githubusercontent.com/u/86713187?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/SabineSIL",
    "html_url": "https://github.com/SabineSIL",
    "followers_url": "https://api.github.com/users/SabineSIL/followers",
    "following_url": "https://api.github.com/users/SabineSIL/following{/other_user}",
    "gists_url": "https://api.github.com/users/SabineSIL/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/SabineSIL/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/SabineSIL/subscriptions",
    "organizations_url": "https://api.github.com/users/SabineSIL/orgs",
    "repos_url": "https://api.github.com/users/SabineSIL/repos",
    "events_url": "https://api.github.com/users/SabineSIL/events{/privacy}",
    "received_events_url": "https://api.github.com/users/SabineSIL/received_events",
    "type": "User",
    "user_view_type": "public",
    "site_admin": false
  },
  "assignees": [
    {
      "login": "SabineSIL",
      "id": 86713187,
      "node_id": "MDQ6VXNlcjg2NzEzMTg3",
      "avatar_url": "https://avatars.githubusercontent.com/u/86713187?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/SabineSIL",
      "html_url": "https://github.com/SabineSIL",
      "followers_url": "https://api.github.com/users/SabineSIL/followers",
      "following_url": "https://api.github.com/users/SabineSIL/following{/other_user}",
      "gists_url": "https://api.github.com/users/SabineSIL/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/SabineSIL/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/SabineSIL/subscriptions",
      "organizations_url": "https://api.github.com/users/SabineSIL/orgs",
      "repos_url": "https://api.github.com/users/SabineSIL/repos",
      "events_url": "https://api.github.com/users/SabineSIL/events{/privacy}",
      "received_events_url": "https://api.github.com/users/SabineSIL/received_events",
      "type": "User",
      "user_view_type": "public",
      "site_admin": false
    }
  ],
  "requested_reviewers": [

  ],
  "requested_teams": [

  ],
  "labels": [
    {
      "id": 648605999,
      "node_id": "MDU6TGFiZWw2NDg2MDU5OTk=",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/developer/",
      "name": "developer/",
      "color": "f9d0c4",
      "default": false,
      "description": ""
    },
    {
      "id": 1095223705,
      "node_id": "MDU6TGFiZWwxMDk1MjIzNzA1",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/common/",
      "name": "common/",
      "color": "006b75",
      "default": false,
      "description": ""
    },
    {
      "id": 1298035273,
      "node_id": "MDU6TGFiZWwxMjk4MDM1Mjcz",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/developer/compilers/",
      "name": "developer/compilers/",
      "color": "f9d0c4",
      "default": false,
      "description": ""
    },
    {
      "id": 1608627704,
      "node_id": "MDU6TGFiZWwxNjA4NjI3NzA0",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/common/resources/",
      "name": "common/resources/",
      "color": "006b75",
      "default": false,
      "description": "Build infrastructure"
    },
    {
      "id": 2058996244,
      "node_id": "MDU6TGFiZWwyMDU4OTk2MjQ0",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/feat",
      "name": "feat",
      "color": "84b6eb",
      "default": false,
      "description": ""
    },
    {
      "id": 2073602939,
      "node_id": "MDU6TGFiZWwyMDczNjAyOTM5",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/common/web/",
      "name": "common/web/",
      "color": "006b75",
      "default": false,
      "description": ""
    },
    {
      "id": 7333596907,
      "node_id": "LA_kwDOAY2xT88AAAABtR3O6w",
      "url": "https://api.github.com/repos/keymanapp/keyman/labels/epic-kmc-convert",
      "name": "epic-kmc-convert",
      "color": "F9C2EE",
      "default": false,
      "description": ""
    }
  ],
  "milestone": {
    "url": "https://api.github.com/repos/keymanapp/keyman/milestones/229",
    "html_url": "https://github.com/keymanapp/keyman/milestone/229",
    "labels_url": "https://api.github.com/repos/keymanapp/keyman/milestones/229/labels",
    "id": 12655812,
    "node_id": "MI_kwDOAY2xT84AwRzE",
    "number": 229,
    "title": "A19S4",
    "description": null,
    "creator": {
      "login": "keyman-server",
      "id": 7018967,
      "node_id": "MDQ6VXNlcjcwMTg5Njc=",
      "avatar_url": "https://avatars.githubusercontent.com/u/7018967?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/keyman-server",
      "html_url": "https://github.com/keyman-server",
      "followers_url": "https://api.github.com/users/keyman-server/followers",
      "following_url": "https://api.github.com/users/keyman-server/following{/other_user}",
      "gists_url": "https://api.github.com/users/keyman-server/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/keyman-server/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/keyman-server/subscriptions",
      "organizations_url": "https://api.github.com/users/keyman-server/orgs",
      "repos_url": "https://api.github.com/users/keyman-server/repos",
      "events_url": "https://api.github.com/users/keyman-server/events{/privacy}",
      "received_events_url": "https://api.github.com/users/keyman-server/received_events",
      "type": "User",
      "user_view_type": "public",
      "site_admin": false
    },
    "open_issues": 108,
    "closed_issues": 34,
    "state": "open",
    "created_at": "2025-04-02T03:26:05Z",
    "updated_at": "2025-05-31T00:48:44Z",
    "due_on": "2025-06-06T07:00:00Z",
    "closed_at": null
  },
  "draft": true,
  "commits_url": "https://api.github.com/repos/keymanapp/keyman/pulls/14013/commits",
  "review_comments_url": "https://api.github.com/repos/keymanapp/keyman/pulls/14013/comments",
  "review_comment_url": "https://api.github.com/repos/keymanapp/keyman/pulls/comments{/number}",
  "comments_url": "https://api.github.com/repos/keymanapp/keyman/issues/14013/comments",
  "statuses_url": "https://api.github.com/repos/keymanapp/keyman/statuses/00158fdeeefc98e7d2b507729e91fab845415f6f",
  "head": {
    "label": "keymanapp:feat/developer/kmc-convert-validateKeylayout",
    "ref": "feat/developer/kmc-convert-validateKeylayout",
    "sha": "00158fdeeefc98e7d2b507729e91fab845415f6f",
    "user": {
      "login": "keymanapp",
      "id": 12402926,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2",
      "avatar_url": "https://avatars.githubusercontent.com/u/12402926?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/keymanapp",
      "html_url": "https://github.com/keymanapp",
      "followers_url": "https://api.github.com/users/keymanapp/followers",
      "following_url": "https://api.github.com/users/keymanapp/following{/other_user}",
      "gists_url": "https://api.github.com/users/keymanapp/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/keymanapp/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/keymanapp/subscriptions",
      "organizations_url": "https://api.github.com/users/keymanapp/orgs",
      "repos_url": "https://api.github.com/users/keymanapp/repos",
      "events_url": "https://api.github.com/users/keymanapp/events{/privacy}",
      "received_events_url": "https://api.github.com/users/keymanapp/received_events",
      "type": "Organization",
      "user_view_type": "public",
      "site_admin": false
    },
    "repo": {
      "id": 26063183,
      "node_id": "MDEwOlJlcG9zaXRvcnkyNjA2MzE4Mw==",
      "name": "keyman",
      "full_name": "keymanapp/keyman",
      "private": false,
      "owner": {
        "login": "keymanapp",
        "id": 12402926,
        "node_id": "MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2",
        "avatar_url": "https://avatars.githubusercontent.com/u/12402926?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/keymanapp",
        "html_url": "https://github.com/keymanapp",
        "followers_url": "https://api.github.com/users/keymanapp/followers",
        "following_url": "https://api.github.com/users/keymanapp/following{/other_user}",
        "gists_url": "https://api.github.com/users/keymanapp/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/keymanapp/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/keymanapp/subscriptions",
        "organizations_url": "https://api.github.com/users/keymanapp/orgs",
        "repos_url": "https://api.github.com/users/keymanapp/repos",
        "events_url": "https://api.github.com/users/keymanapp/events{/privacy}",
        "received_events_url": "https://api.github.com/users/keymanapp/received_events",
        "type": "Organization",
        "user_view_type": "public",
        "site_admin": false
      },
      "html_url": "https://github.com/keymanapp/keyman",
      "description": "Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web",
      "fork": false,
      "url": "https://api.github.com/repos/keymanapp/keyman",
      "forks_url": "https://api.github.com/repos/keymanapp/keyman/forks",
      "keys_url": "https://api.github.com/repos/keymanapp/keyman/keys{/key_id}",
      "collaborators_url": "https://api.github.com/repos/keymanapp/keyman/collaborators{/collaborator}",
      "teams_url": "https://api.github.com/repos/keymanapp/keyman/teams",
      "hooks_url": "https://api.github.com/repos/keymanapp/keyman/hooks",
      "issue_events_url": "https://api.github.com/repos/keymanapp/keyman/issues/events{/number}",
      "events_url": "https://api.github.com/repos/keymanapp/keyman/events",
      "assignees_url": "https://api.github.com/repos/keymanapp/keyman/assignees{/user}",
      "branches_url": "https://api.github.com/repos/keymanapp/keyman/branches{/branch}",
      "tags_url": "https://api.github.com/repos/keymanapp/keyman/tags",
      "blobs_url": "https://api.github.com/repos/keymanapp/keyman/git/blobs{/sha}",
      "git_tags_url": "https://api.github.com/repos/keymanapp/keyman/git/tags{/sha}",
      "git_refs_url": "https://api.github.com/repos/keymanapp/keyman/git/refs{/sha}",
      "trees_url": "https://api.github.com/repos/keymanapp/keyman/git/trees{/sha}",
      "statuses_url": "https://api.github.com/repos/keymanapp/keyman/statuses/{sha}",
      "languages_url": "https://api.github.com/repos/keymanapp/keyman/languages",
      "stargazers_url": "https://api.github.com/repos/keymanapp/keyman/stargazers",
      "contributors_url": "https://api.github.com/repos/keymanapp/keyman/contributors",
      "subscribers_url": "https://api.github.com/repos/keymanapp/keyman/subscribers",
      "subscription_url": "https://api.github.com/repos/keymanapp/keyman/subscription",
      "commits_url": "https://api.github.com/repos/keymanapp/keyman/commits{/sha}",
      "git_commits_url": "https://api.github.com/repos/keymanapp/keyman/git/commits{/sha}",
      "comments_url": "https://api.github.com/repos/keymanapp/keyman/comments{/number}",
      "issue_comment_url": "https://api.github.com/repos/keymanapp/keyman/issues/comments{/number}",
      "contents_url": "https://api.github.com/repos/keymanapp/keyman/contents/{+path}",
      "compare_url": "https://api.github.com/repos/keymanapp/keyman/compare/{base}...{head}",
      "merges_url": "https://api.github.com/repos/keymanapp/keyman/merges",
      "archive_url": "https://api.github.com/repos/keymanapp/keyman/{archive_format}{/ref}",
      "downloads_url": "https://api.github.com/repos/keymanapp/keyman/downloads",
      "issues_url": "https://api.github.com/repos/keymanapp/keyman/issues{/number}",
      "pulls_url": "https://api.github.com/repos/keymanapp/keyman/pulls{/number}",
      "milestones_url": "https://api.github.com/repos/keymanapp/keyman/milestones{/number}",
      "notifications_url": "https://api.github.com/repos/keymanapp/keyman/notifications{?since,all,participating}",
      "labels_url": "https://api.github.com/repos/keymanapp/keyman/labels{/name}",
      "releases_url": "https://api.github.com/repos/keymanapp/keyman/releases{/id}",
      "deployments_url": "https://api.github.com/repos/keymanapp/keyman/deployments",
      "created_at": "2014-11-01T21:01:44Z",
      "updated_at": "2025-05-31T18:02:06Z",
      "pushed_at": "2025-05-31T18:02:03Z",
      "git_url": "git://github.com/keymanapp/keyman.git",
      "ssh_url": "git@github.com:keymanapp/keyman.git",
      "clone_url": "https://github.com/keymanapp/keyman.git",
      "svn_url": "https://github.com/keymanapp/keyman",
      "homepage": "https://keyman.com/",
      "size": 489713,
      "stargazers_count": 456,
      "watchers_count": 456,
      "language": "Pascal",
      "has_issues": true,
      "has_projects": true,
      "has_downloads": true,
      "has_wiki": true,
      "has_pages": false,
      "has_discussions": false,
      "forks_count": 120,
      "mirror_url": null,
      "archived": false,
      "disabled": false,
      "open_issues_count": 1043,
      "license": {
        "key": "other",
        "name": "Other",
        "spdx_id": "NOASSERTION",
        "url": null,
        "node_id": "MDc6TGljZW5zZTA="
      },
      "allow_forking": true,
      "is_template": false,
      "web_commit_signoff_required": false,
      "topics": [
        "android",
        "css",
        "hacktoberfest",
        "ios",
        "javascript",
        "keyboard",
        "keyboard-layouts",
        "keyman",
        "linux",
        "macos",
        "unicode",
        "web",
        "windows"
      ],
      "visibility": "public",
      "forks": 120,
      "open_issues": 1043,
      "watchers": 456,
      "default_branch": "master"
    }
  },
  "base": {
    "label": "keymanapp:feat/developer/kmc-convert",
    "ref": "feat/developer/kmc-convert",
    "sha": "c7f6d15105920d8df18d8973b4f24846fa14ea27",
    "user": {
      "login": "keymanapp",
      "id": 12402926,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2",
      "avatar_url": "https://avatars.githubusercontent.com/u/12402926?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/keymanapp",
      "html_url": "https://github.com/keymanapp",
      "followers_url": "https://api.github.com/users/keymanapp/followers",
      "following_url": "https://api.github.com/users/keymanapp/following{/other_user}",
      "gists_url": "https://api.github.com/users/keymanapp/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/keymanapp/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/keymanapp/subscriptions",
      "organizations_url": "https://api.github.com/users/keymanapp/orgs",
      "repos_url": "https://api.github.com/users/keymanapp/repos",
      "events_url": "https://api.github.com/users/keymanapp/events{/privacy}",
      "received_events_url": "https://api.github.com/users/keymanapp/received_events",
      "type": "Organization",
      "user_view_type": "public",
      "site_admin": false
    },
    "repo": {
      "id": 26063183,
      "node_id": "MDEwOlJlcG9zaXRvcnkyNjA2MzE4Mw==",
      "name": "keyman",
      "full_name": "keymanapp/keyman",
      "private": false,
      "owner": {
        "login": "keymanapp",
        "id": 12402926,
        "node_id": "MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2",
        "avatar_url": "https://avatars.githubusercontent.com/u/12402926?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/keymanapp",
        "html_url": "https://github.com/keymanapp",
        "followers_url": "https://api.github.com/users/keymanapp/followers",
        "following_url": "https://api.github.com/users/keymanapp/following{/other_user}",
        "gists_url": "https://api.github.com/users/keymanapp/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/keymanapp/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/keymanapp/subscriptions",
        "organizations_url": "https://api.github.com/users/keymanapp/orgs",
        "repos_url": "https://api.github.com/users/keymanapp/repos",
        "events_url": "https://api.github.com/users/keymanapp/events{/privacy}",
        "received_events_url": "https://api.github.com/users/keymanapp/received_events",
        "type": "Organization",
        "user_view_type": "public",
        "site_admin": false
      },
      "html_url": "https://github.com/keymanapp/keyman",
      "description": "Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web",
      "fork": false,
      "url": "https://api.github.com/repos/keymanapp/keyman",
      "forks_url": "https://api.github.com/repos/keymanapp/keyman/forks",
      "keys_url": "https://api.github.com/repos/keymanapp/keyman/keys{/key_id}",
      "collaborators_url": "https://api.github.com/repos/keymanapp/keyman/collaborators{/collaborator}",
      "teams_url": "https://api.github.com/repos/keymanapp/keyman/teams",
      "hooks_url": "https://api.github.com/repos/keymanapp/keyman/hooks",
      "issue_events_url": "https://api.github.com/repos/keymanapp/keyman/issues/events{/number}",
      "events_url": "https://api.github.com/repos/keymanapp/keyman/events",
      "assignees_url": "https://api.github.com/repos/keymanapp/keyman/assignees{/user}",
      "branches_url": "https://api.github.com/repos/keymanapp/keyman/branches{/branch}",
      "tags_url": "https://api.github.com/repos/keymanapp/keyman/tags",
      "blobs_url": "https://api.github.com/repos/keymanapp/keyman/git/blobs{/sha}",
      "git_tags_url": "https://api.github.com/repos/keymanapp/keyman/git/tags{/sha}",
      "git_refs_url": "https://api.github.com/repos/keymanapp/keyman/git/refs{/sha}",
      "trees_url": "https://api.github.com/repos/keymanapp/keyman/git/trees{/sha}",
      "statuses_url": "https://api.github.com/repos/keymanapp/keyman/statuses/{sha}",
      "languages_url": "https://api.github.com/repos/keymanapp/keyman/languages",
      "stargazers_url": "https://api.github.com/repos/keymanapp/keyman/stargazers",
      "contributors_url": "https://api.github.com/repos/keymanapp/keyman/contributors",
      "subscribers_url": "https://api.github.com/repos/keymanapp/keyman/subscribers",
      "subscription_url": "https://api.github.com/repos/keymanapp/keyman/subscription",
      "commits_url": "https://api.github.com/repos/keymanapp/keyman/commits{/sha}",
      "git_commits_url": "https://api.github.com/repos/keymanapp/keyman/git/commits{/sha}",
      "comments_url": "https://api.github.com/repos/keymanapp/keyman/comments{/number}",
      "issue_comment_url": "https://api.github.com/repos/keymanapp/keyman/issues/comments{/number}",
      "contents_url": "https://api.github.com/repos/keymanapp/keyman/contents/{+path}",
      "compare_url": "https://api.github.com/repos/keymanapp/keyman/compare/{base}...{head}",
      "merges_url": "https://api.github.com/repos/keymanapp/keyman/merges",
      "archive_url": "https://api.github.com/repos/keymanapp/keyman/{archive_format}{/ref}",
      "downloads_url": "https://api.github.com/repos/keymanapp/keyman/downloads",
      "issues_url": "https://api.github.com/repos/keymanapp/keyman/issues{/number}",
      "pulls_url": "https://api.github.com/repos/keymanapp/keyman/pulls{/number}",
      "milestones_url": "https://api.github.com/repos/keymanapp/keyman/milestones{/number}",
      "notifications_url": "https://api.github.com/repos/keymanapp/keyman/notifications{?since,all,participating}",
      "labels_url": "https://api.github.com/repos/keymanapp/keyman/labels{/name}",
      "releases_url": "https://api.github.com/repos/keymanapp/keyman/releases{/id}",
      "deployments_url": "https://api.github.com/repos/keymanapp/keyman/deployments",
      "created_at": "2014-11-01T21:01:44Z",
      "updated_at": "2025-05-31T18:02:06Z",
      "pushed_at": "2025-05-31T18:02:03Z",
      "git_url": "git://github.com/keymanapp/keyman.git",
      "ssh_url": "git@github.com:keymanapp/keyman.git",
      "clone_url": "https://github.com/keymanapp/keyman.git",
      "svn_url": "https://github.com/keymanapp/keyman",
      "homepage": "https://keyman.com/",
      "size": 489713,
      "stargazers_count": 456,
      "watchers_count": 456,
      "language": "Pascal",
      "has_issues": true,
      "has_projects": true,
      "has_downloads": true,
      "has_wiki": true,
      "has_pages": false,
      "has_discussions": false,
      "forks_count": 120,
      "mirror_url": null,
      "archived": false,
      "disabled": false,
      "open_issues_count": 1043,
      "license": {
        "key": "other",
        "name": "Other",
        "spdx_id": "NOASSERTION",
        "url": null,
        "node_id": "MDc6TGljZW5zZTA="
      },
      "allow_forking": true,
      "is_template": false,
      "web_commit_signoff_required": false,
      "topics": [
        "android",
        "css",
        "hacktoberfest",
        "ios",
        "javascript",
        "keyboard",
        "keyboard-layouts",
        "keyman",
        "linux",
        "macos",
        "unicode",
        "web",
        "windows"
      ],
      "visibility": "public",
      "forks": 120,
      "open_issues": 1043,
      "watchers": 456,
      "default_branch": "master"
    }
  },
  "_links": {
    "self": {
      "href": "https://api.github.com/repos/keymanapp/keyman/pulls/14013"
    },
    "html": {
      "href": "https://github.com/keymanapp/keyman/pull/14013"
    },
    "issue": {
      "href": "https://api.github.com/repos/keymanapp/keyman/issues/14013"
    },
    "comments": {
      "href": "https://api.github.com/repos/keymanapp/keyman/issues/14013/comments"
    },
    "review_comments": {
      "href": "https://api.github.com/repos/keymanapp/keyman/pulls/14013/comments"
    },
    "review_comment": {
      "href": "https://api.github.com/repos/keymanapp/keyman/pulls/comments{/number}"
    },
    "commits": {
      "href": "https://api.github.com/repos/keymanapp/keyman/pulls/14013/commits"
    },
    "statuses": {
      "href": "https://api.github.com/repos/keymanapp/keyman/statuses/00158fdeeefc98e7d2b507729e91fab845415f6f"
    }
  },
  "author_association": "CONTRIBUTOR",
  "auto_merge": null,
  "active_lock_reason": null,
  "merged": false,
  "mergeable": false,
  "rebaseable": false,
  "mergeable_state": "dirty",
  "merged_by": null,
  "comments": 1,
  "review_comments": 0,
  "maintainer_can_modify": false,
  "commits": 5,
  "additions": 639,
  "deletions": 12,
  "changed_files": 13
}