package common /* * This file is part of Autogits. * * Copyright © 2024 SUSE LLC * * Autogits is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 2 of the License, or (at your option) any later * version. * * Autogits is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * Foobar. If not, see . */ import ( "os" "strings" "testing" ) func TestPrParsing(t *testing.T) { t.Run("Test parsing", func(t *testing.T) { var h RequestHandler h.StdLogger, h.ErrLogger = CreateStdoutLogger(os.Stdout, os.Stdout) pr, err := h.parsePullRequest(strings.NewReader(samplePR_JSON)) if err != nil { t.Fatalf("error parsing PR: %v\n", err) } if pr == nil { t.Fatal("parsing PR failed without error?") } _, err = h.parsePullRequest(strings.NewReader(samplePRsync_JSON)) if err != nil { t.Fatalf("parsing PR failed: %v", err) } }) } const samplePR_JSON = `{ "action": "opened", "number": 1, "pull_request": { "id": 469, "url": "https://src.opensuse.org/autogits/nodejs21/pulls/1", "number": 1, "user": { "id": 129, "login": "adamm", "login_name": "", "source_id": 0, "full_name": "Adam Majer", "email": "adamm@noreply@src.opensuse.org", "avatar_url": "https://src.opensuse.org/avatar/babb6ae054a709c238a4e9b0f2b53d53", "html_url": "https://src.opensuse.org/adamm", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-07-21T16:43:48+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "adamm" }, "title": "Update test", "body": "This is a test of PR workflow", "labels": [], "milestone": null, "assignee": null, "assignees": null, "requested_reviewers": null, "state": "open", "draft": false, "is_locked": false, "comments": 0, "review_comments": 0, "additions": 1, "deletions": 1, "changed_files": 1, "html_url": "https://src.opensuse.org/autogits/nodejs21/pulls/1", "diff_url": "https://src.opensuse.org/autogits/nodejs21/pulls/1.diff", "patch_url": "https://src.opensuse.org/autogits/nodejs21/pulls/1.patch", "mergeable": true, "merged": false, "merged_at": null, "merge_commit_sha": null, "merged_by": null, "allow_maintainer_edit": false, "base": { "label": "factory", "ref": "factory", "sha": "24ee6bee7459a386dadabf8a9f6ae4fa15c3f810bfa01cee5238138aa214d180", "repo_id": 90578, "repo": { "id": 90578, "owner": { "id": 983, "login": "autogits", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/80a61ef3a14c3c22f0b8b1885d1a75d4", "html_url": "https://src.opensuse.org/autogits", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-06-20T09:46:37+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits" }, "name": "nodejs21", "full_name": "autogits/nodejs21", "description": "", "empty": false, "private": false, "fork": true, "template": false, "parent": { "id": 71125, "owner": { "id": 64, "login": "pool", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/b10a8c0bede9eb4ea771b04db3149f28", "html_url": "https://src.opensuse.org/pool", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-03-01T14:41:17+01:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "pool" }, "name": "nodejs21", "full_name": "pool/nodejs21", "description": "", "empty": false, "private": false, "fork": false, "template": false, "parent": null, "mirror": false, "size": 1471, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/pool/nodejs21/languages", "html_url": "https://src.opensuse.org/pool/nodejs21", "url": "https://src.opensuse.org/api/v1/repos/pool/nodejs21", "link": "", "ssh_url": "gitea@src.opensuse.org:pool/nodejs21.git", "clone_url": "https://src.opensuse.org/pool/nodejs21.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 2, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 0, "release_counter": 0, "default_branch": "factory", "archived": false, "created_at": "2024-06-17T17:17:37+02:00", "updated_at": "2024-06-18T09:03:36+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": false, "push": false, "pull": true }, "has_issues": true, "internal_tracker": { "enable_time_tracker": false, "allow_only_contributors_to_track_time": true, "enable_issue_dependencies": true }, "has_wiki": true, "has_pull_requests": true, "has_projects": true, "projects_mode": "all", "has_releases": true, "has_packages": true, "has_actions": true, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null }, "mirror": false, "size": 1471, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/autogits/nodejs21/languages", "html_url": "https://src.opensuse.org/autogits/nodejs21", "url": "https://src.opensuse.org/api/v1/repos/autogits/nodejs21", "link": "", "ssh_url": "gitea@src.opensuse.org:autogits/nodejs21.git", "clone_url": "https://src.opensuse.org/autogits/nodejs21.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 1, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 0, "release_counter": 0, "default_branch": "factory", "archived": false, "created_at": "2024-07-09T23:40:35+02:00", "updated_at": "2024-07-09T23:40:35+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": false, "push": false, "pull": true }, "has_issues": false, "has_wiki": false, "has_pull_requests": true, "has_projects": false, "projects_mode": "all", "has_releases": false, "has_packages": false, "has_actions": false, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null } }, "head": { "label": "factory", "ref": "factory", "sha": "c678c57007d496a98bec668ae38f2c26a695f94af78012f15d044ccf066ccb41", "repo_id": 90579, "repo": { "id": 90579, "owner": { "id": 129, "login": "adamm", "login_name": "", "source_id": 0, "full_name": "Adam Majer", "email": "adamm@noreply@src.opensuse.org", "avatar_url": "https://src.opensuse.org/avatar/babb6ae054a709c238a4e9b0f2b53d53", "html_url": "https://src.opensuse.org/adamm", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-07-21T16:43:48+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "adamm" }, "name": "nodejs21", "full_name": "adamm/nodejs21", "description": "", "empty": false, "private": false, "fork": true, "template": false, "parent": { "id": 90578, "owner": { "id": 983, "login": "autogits", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/80a61ef3a14c3c22f0b8b1885d1a75d4", "html_url": "https://src.opensuse.org/autogits", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-06-20T09:46:37+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits" }, "name": "nodejs21", "full_name": "autogits/nodejs21", "description": "", "empty": false, "private": false, "fork": true, "template": false, "parent": null, "mirror": false, "size": 1471, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/autogits/nodejs21/languages", "html_url": "https://src.opensuse.org/autogits/nodejs21", "url": "https://src.opensuse.org/api/v1/repos/autogits/nodejs21", "link": "", "ssh_url": "gitea@src.opensuse.org:autogits/nodejs21.git", "clone_url": "https://src.opensuse.org/autogits/nodejs21.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 1, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 1, "release_counter": 0, "default_branch": "factory", "archived": false, "created_at": "2024-07-09T23:40:35+02:00", "updated_at": "2024-07-09T23:40:35+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": false, "push": false, "pull": true }, "has_issues": false, "has_wiki": false, "has_pull_requests": true, "has_projects": false, "projects_mode": "all", "has_releases": false, "has_packages": false, "has_actions": false, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null }, "mirror": false, "size": 1473, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/adamm/nodejs21/languages", "html_url": "https://src.opensuse.org/adamm/nodejs21", "url": "https://src.opensuse.org/api/v1/repos/adamm/nodejs21", "link": "", "ssh_url": "gitea@src.opensuse.org:adamm/nodejs21.git", "clone_url": "https://src.opensuse.org/adamm/nodejs21.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 0, "watchers_count": 1, "open_issues_count": 0, "open_pr_counter": 0, "release_counter": 0, "default_branch": "factory", "archived": false, "created_at": "2024-07-09T23:41:10+02:00", "updated_at": "2024-07-09T23:41:50+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": false, "push": false, "pull": true }, "has_issues": false, "has_wiki": false, "has_pull_requests": true, "has_projects": false, "projects_mode": "all", "has_releases": false, "has_packages": false, "has_actions": false, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null } }, "merge_base": "24ee6bee7459a386dadabf8a9f6ae4fa15c3f810bfa01cee5238138aa214d180", "due_date": null, "created_at": "2024-07-09T23:42:38+02:00", "updated_at": "2024-07-09T23:42:38+02:00", "closed_at": null, "pin_order": 0 }, "requested_reviewer": null, "repository": { "id": 90578, "owner": { "id": 983, "login": "autogits", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/80a61ef3a14c3c22f0b8b1885d1a75d4", "html_url": "https://src.opensuse.org/autogits", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-06-20T09:46:37+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits" }, "name": "nodejs21", "full_name": "autogits/nodejs21", "description": "", "empty": false, "private": false, "fork": true, "template": false, "parent": { "id": 71125, "owner": { "id": 64, "login": "pool", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/b10a8c0bede9eb4ea771b04db3149f28", "html_url": "https://src.opensuse.org/pool", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-03-01T14:41:17+01:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "pool" }, "name": "nodejs21", "full_name": "pool/nodejs21", "description": "", "empty": false, "private": false, "fork": false, "template": false, "parent": null, "mirror": false, "size": 1471, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/pool/nodejs21/languages", "html_url": "https://src.opensuse.org/pool/nodejs21", "url": "https://src.opensuse.org/api/v1/repos/pool/nodejs21", "link": "", "ssh_url": "gitea@src.opensuse.org:pool/nodejs21.git", "clone_url": "https://src.opensuse.org/pool/nodejs21.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 2, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 0, "release_counter": 0, "default_branch": "factory", "archived": false, "created_at": "2024-06-17T17:17:37+02:00", "updated_at": "2024-06-18T09:03:36+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": true, "push": true, "pull": true }, "has_issues": true, "internal_tracker": { "enable_time_tracker": false, "allow_only_contributors_to_track_time": true, "enable_issue_dependencies": true }, "has_wiki": true, "has_pull_requests": true, "has_projects": true, "projects_mode": "all", "has_releases": true, "has_packages": true, "has_actions": true, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null }, "mirror": false, "size": 1471, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/autogits/nodejs21/languages", "html_url": "https://src.opensuse.org/autogits/nodejs21", "url": "https://src.opensuse.org/api/v1/repos/autogits/nodejs21", "link": "", "ssh_url": "gitea@src.opensuse.org:autogits/nodejs21.git", "clone_url": "https://src.opensuse.org/autogits/nodejs21.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 1, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 0, "release_counter": 0, "default_branch": "factory", "archived": false, "created_at": "2024-07-09T23:40:35+02:00", "updated_at": "2024-07-09T23:40:35+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": true, "push": true, "pull": true }, "has_issues": false, "has_wiki": false, "has_pull_requests": true, "has_projects": false, "projects_mode": "all", "has_releases": false, "has_packages": false, "has_actions": false, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null }, "sender": { "id": 129, "login": "adamm", "login_name": "", "source_id": 0, "full_name": "Adam Majer", "email": "adamm@noreply@src.opensuse.org", "avatar_url": "https://src.opensuse.org/avatar/babb6ae054a709c238a4e9b0f2b53d53", "html_url": "https://src.opensuse.org/adamm", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-07-21T16:43:48+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "adamm" }, "commit_id": "", "review": null } ` const samplePRsync_JSON = `{ "action": "synchronized", "number": 1, "pull_request": { "id": 470, "url": "https://src.opensuse.org/autogits/_ObsPrj/pulls/1", "number": 1, "user": { "id": 129, "login": "adamm", "login_name": "", "source_id": 0, "full_name": "Adam Majer", "email": "adamm@noreply@src.opensuse.org", "avatar_url": "https://src.opensuse.org/avatar/babb6ae054a709c238a4e9b0f2b53d53", "html_url": "https://src.opensuse.org/adamm", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-07-21T16:43:48+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "adamm" }, "title": "Forwarded PR: nodejs21", "body": "This is a forwarded pull request by GiteaBot - AutoStaging\nreferencing the following pull request:\n\nPullRequest: nodejs21#1\n", "labels": [], "milestone": null, "assignee": null, "assignees": null, "requested_reviewers": [ { "id": 1008, "login": "autogits_obs_staging_bot", "login_name": "", "source_id": 0, "full_name": "Autogits StagingBot", "email": "autogits_obs_staging_bot@noreply@src.opensuse.org", "avatar_url": "https://src.opensuse.org/avatar/b8f40091fbd0a1f1b9e54f539dcdc783", "html_url": "https://src.opensuse.org/autogits_obs_staging_bot", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-07-06T14:31:34+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits_obs_staging_bot" } ], "state": "open", "draft": false, "is_locked": false, "comments": 0, "review_comments": 0, "additions": 1, "deletions": 1, "changed_files": 1, "html_url": "https://src.opensuse.org/autogits/_ObsPrj/pulls/1", "diff_url": "https://src.opensuse.org/autogits/_ObsPrj/pulls/1.diff", "patch_url": "https://src.opensuse.org/autogits/_ObsPrj/pulls/1.patch", "mergeable": false, "merged": false, "merged_at": null, "merge_commit_sha": null, "merged_by": null, "allow_maintainer_edit": false, "base": { "label": "main", "ref": "main", "sha": "b20e37e05f14ba33d39444e297c455d2803998721a4e287099ae7cfb03ea6320", "repo_id": 90487, "repo": { "id": 90487, "owner": { "id": 983, "login": "autogits", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/80a61ef3a14c3c22f0b8b1885d1a75d4", "html_url": "https://src.opensuse.org/autogits", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-06-20T09:46:37+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits" }, "name": "_ObsPrj", "full_name": "autogits/_ObsPrj", "description": "", "empty": false, "private": false, "fork": false, "template": false, "parent": null, "mirror": false, "size": 47, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/autogits/_ObsPrj/languages", "html_url": "https://src.opensuse.org/autogits/_ObsPrj", "url": "https://src.opensuse.org/api/v1/repos/autogits/_ObsPrj", "link": "", "ssh_url": "gitea@src.opensuse.org:autogits/_ObsPrj.git", "clone_url": "https://src.opensuse.org/autogits/_ObsPrj.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 0, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 1, "release_counter": 0, "default_branch": "main", "archived": false, "created_at": "2024-06-25T13:52:03+02:00", "updated_at": "2024-07-10T11:25:22+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": false, "push": false, "pull": true }, "has_issues": true, "internal_tracker": { "enable_time_tracker": false, "allow_only_contributors_to_track_time": true, "enable_issue_dependencies": true }, "has_wiki": true, "has_pull_requests": true, "has_projects": true, "projects_mode": "all", "has_releases": true, "has_packages": true, "has_actions": true, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null } }, "head": { "label": "PR_nodejs21#1", "ref": "PR_nodejs21#1", "sha": "3cd37fb6b93c0af07c50c8caa075bbdd1c1202991898ca61482e3cb019a97403", "repo_id": 90487, "repo": { "id": 90487, "owner": { "id": 983, "login": "autogits", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/80a61ef3a14c3c22f0b8b1885d1a75d4", "html_url": "https://src.opensuse.org/autogits", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-06-20T09:46:37+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits" }, "name": "_ObsPrj", "full_name": "autogits/_ObsPrj", "description": "", "empty": false, "private": false, "fork": false, "template": false, "parent": null, "mirror": false, "size": 47, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/autogits/_ObsPrj/languages", "html_url": "https://src.opensuse.org/autogits/_ObsPrj", "url": "https://src.opensuse.org/api/v1/repos/autogits/_ObsPrj", "link": "", "ssh_url": "gitea@src.opensuse.org:autogits/_ObsPrj.git", "clone_url": "https://src.opensuse.org/autogits/_ObsPrj.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 0, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 1, "release_counter": 0, "default_branch": "main", "archived": false, "created_at": "2024-06-25T13:52:03+02:00", "updated_at": "2024-07-10T11:25:22+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": false, "push": false, "pull": true }, "has_issues": true, "internal_tracker": { "enable_time_tracker": false, "allow_only_contributors_to_track_time": true, "enable_issue_dependencies": true }, "has_wiki": true, "has_pull_requests": true, "has_projects": true, "projects_mode": "all", "has_releases": true, "has_packages": true, "has_actions": true, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null } }, "merge_base": "b20e37e05f14ba33d39444e297c455d2803998721a4e287099ae7cfb03ea6320", "due_date": "0001-01-01T00:53:28+00:53", "created_at": "2024-07-10T11:42:27+02:00", "updated_at": "2024-07-10T11:42:28+02:00", "closed_at": null, "pin_order": 0 }, "requested_reviewer": null, "repository": { "id": 90487, "owner": { "id": 983, "login": "autogits", "login_name": "", "source_id": 0, "full_name": "", "email": "", "avatar_url": "https://src.opensuse.org/avatars/80a61ef3a14c3c22f0b8b1885d1a75d4", "html_url": "https://src.opensuse.org/autogits", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2024-06-20T09:46:37+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "autogits" }, "name": "_ObsPrj", "full_name": "autogits/_ObsPrj", "description": "", "empty": false, "private": false, "fork": false, "template": false, "parent": null, "mirror": false, "size": 47, "language": "", "languages_url": "https://src.opensuse.org/api/v1/repos/autogits/_ObsPrj/languages", "html_url": "https://src.opensuse.org/autogits/_ObsPrj", "url": "https://src.opensuse.org/api/v1/repos/autogits/_ObsPrj", "link": "", "ssh_url": "gitea@src.opensuse.org:autogits/_ObsPrj.git", "clone_url": "https://src.opensuse.org/autogits/_ObsPrj.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 0, "watchers_count": 2, "open_issues_count": 0, "open_pr_counter": 1, "release_counter": 0, "default_branch": "main", "archived": false, "created_at": "2024-06-25T13:52:03+02:00", "updated_at": "2024-07-10T11:42:28+02:00", "archived_at": "1970-01-01T01:00:00+01:00", "permissions": { "admin": true, "push": true, "pull": true }, "has_issues": true, "internal_tracker": { "enable_time_tracker": false, "allow_only_contributors_to_track_time": true, "enable_issue_dependencies": true }, "has_wiki": true, "has_pull_requests": true, "has_projects": true, "projects_mode": "all", "has_releases": true, "has_packages": true, "has_actions": true, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_rebase_update": true, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_allow_maintainer_edit": false, "avatar_url": "https://src.opensuse.org/", "internal": false, "mirror_interval": "", "object_format_name": "sha256", "mirror_updated": "0001-01-01T00:00:00Z", "repo_transfer": null }, "sender": { "id": 129, "login": "adamm", "login_name": "", "source_id": 0, "full_name": "Adam Majer", "email": "adamm@noreply@src.opensuse.org", "avatar_url": "https://src.opensuse.org/avatar/babb6ae054a709c238a4e9b0f2b53d53", "html_url": "https://src.opensuse.org/adamm", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2023-07-21T16:43:48+02:00", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "adamm" }, "commit_id": "", "review": null } `