Merge a4768a3001 into 088e2a3a90
This commit is contained in:
commit
f187bf3f6a
|
|
@ -217,7 +217,8 @@ func (autoscaler *HorizontalRunnerAutoscalerGitHubWebhook) Handle(w http.Respons
|
|||
// But canceled events have runner_id == 0 and GetRunnerID() returns 0 when RunnerID == nil,
|
||||
// so we need to be more specific in filtering out the check runs.
|
||||
// See example check run completion at https://gist.github.com/nathanklick/268fea6496a4d7b14cecb2999747ef84
|
||||
if e.GetWorkflowJob().GetConclusion() == "success" && e.GetWorkflowJob().RunnerID == nil {
|
||||
// Check runs appear to have no labels set, so use that in conjuction with the nil RunnerID to filter the event:
|
||||
if len(e.GetWorkflowJob().Labels) == 0 && e.GetWorkflowJob().RunnerID == nil {
|
||||
log.V(1).Info("Ignoring workflow_job event because it does not relate to a self-hosted runner")
|
||||
} else {
|
||||
// A negative amount is processed in the tryScale func as a scale-down request,
|
||||
|
|
|
|||
|
|
@ -361,6 +361,127 @@ func TestWebhookWorkflowJobWithSelfHostedLabel(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestWebhookWorkflowJobWithCompletedCheckRun(t *testing.T) {
|
||||
setupTestSucceeded := func() github.WorkflowJobEvent {
|
||||
f, err := os.Open("testdata/webhook_workflow_job_with_completed_success_check_run.json")
|
||||
if err != nil {
|
||||
t.Fatalf("could not open the fixture: %s", err)
|
||||
}
|
||||
defer f.Close()
|
||||
var e github.WorkflowJobEvent
|
||||
if err := json.NewDecoder(f).Decode(&e); err != nil {
|
||||
t.Fatalf("invalid json: %s", err)
|
||||
}
|
||||
|
||||
return e
|
||||
}
|
||||
setupTestFailure := func() github.WorkflowJobEvent {
|
||||
f, err := os.Open("testdata/webhook_workflow_job_with_completed_failure_check_run.json")
|
||||
if err != nil {
|
||||
t.Fatalf("could not open the fixture: %s", err)
|
||||
}
|
||||
defer f.Close()
|
||||
var e github.WorkflowJobEvent
|
||||
if err := json.NewDecoder(f).Decode(&e); err != nil {
|
||||
t.Fatalf("invalid json: %s", err)
|
||||
}
|
||||
|
||||
return e
|
||||
}
|
||||
t.Run("Success", func(t *testing.T) {
|
||||
e := setupTestSucceeded()
|
||||
hra := &actionsv1alpha1.HorizontalRunnerAutoscaler{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "test-name",
|
||||
},
|
||||
Spec: actionsv1alpha1.HorizontalRunnerAutoscalerSpec{
|
||||
ScaleTargetRef: actionsv1alpha1.ScaleTargetRef{
|
||||
Name: "test-name",
|
||||
},
|
||||
ScaleUpTriggers: []actionsv1alpha1.ScaleUpTrigger{
|
||||
{
|
||||
GitHubEvent: &actionsv1alpha1.GitHubEventScaleUpTriggerSpec{
|
||||
WorkflowJob: &actionsv1alpha1.WorkflowJobSpec{},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
rd := &actionsv1alpha1.RunnerDeployment{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "test-name",
|
||||
},
|
||||
Spec: actionsv1alpha1.RunnerDeploymentSpec{
|
||||
Template: actionsv1alpha1.RunnerTemplate{
|
||||
Spec: actionsv1alpha1.RunnerSpec{
|
||||
RunnerConfig: actionsv1alpha1.RunnerConfig{
|
||||
Organization: "MYORG",
|
||||
Labels: []string{"label1"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
initObjs := []runtime.Object{hra, rd}
|
||||
|
||||
testServerWithInitObjs(t,
|
||||
"workflow_job",
|
||||
&e,
|
||||
200,
|
||||
"",
|
||||
initObjs,
|
||||
)
|
||||
})
|
||||
t.Run("Failure", func(t *testing.T) {
|
||||
e := setupTestFailure()
|
||||
hra := &actionsv1alpha1.HorizontalRunnerAutoscaler{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "test-name",
|
||||
},
|
||||
Spec: actionsv1alpha1.HorizontalRunnerAutoscalerSpec{
|
||||
ScaleTargetRef: actionsv1alpha1.ScaleTargetRef{
|
||||
Name: "test-name",
|
||||
},
|
||||
ScaleUpTriggers: []actionsv1alpha1.ScaleUpTrigger{
|
||||
{
|
||||
GitHubEvent: &actionsv1alpha1.GitHubEventScaleUpTriggerSpec{
|
||||
WorkflowJob: &actionsv1alpha1.WorkflowJobSpec{},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
rd := &actionsv1alpha1.RunnerDeployment{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "test-name",
|
||||
},
|
||||
Spec: actionsv1alpha1.RunnerDeploymentSpec{
|
||||
Template: actionsv1alpha1.RunnerTemplate{
|
||||
Spec: actionsv1alpha1.RunnerSpec{
|
||||
RunnerConfig: actionsv1alpha1.RunnerConfig{
|
||||
Organization: "MYORG",
|
||||
Labels: []string{"label1"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
initObjs := []runtime.Object{hra, rd}
|
||||
|
||||
testServerWithInitObjs(t,
|
||||
"workflow_job",
|
||||
&e,
|
||||
200,
|
||||
"",
|
||||
initObjs,
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
func TestGetRequest(t *testing.T) {
|
||||
hra := HorizontalRunnerAutoscalerGitHubWebhook{}
|
||||
request, _ := http.NewRequest(http.MethodGet, "/", nil)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,167 @@
|
|||
{
|
||||
"action": "completed",
|
||||
"workflow_job": {
|
||||
"id": 10472913772,
|
||||
"run_id": 3850387510,
|
||||
"workflow_name": "Build Platform",
|
||||
"head_branch": "develop",
|
||||
"run_url": "https://api.github.com/repos/MYORG/MYREPO/actions/runs/3850387510",
|
||||
"run_attempt": 1,
|
||||
"node_id": "CR_kwDOA9pFCc8AAAACcDv7bA",
|
||||
"head_sha": "c72f1c0a1b847a39a0414d408bd8aeb3f5e4945c",
|
||||
"url": "https://api.github.com/repos/MYORG/MYREPO/actions/jobs/10472913772",
|
||||
"html_url": "https://github.com/MYORG/MYREPO/runs/10472913772",
|
||||
"status": "completed",
|
||||
"conclusion": "failure",
|
||||
"started_at": "2023-01-06T00:46:59Z",
|
||||
"completed_at": "2023-01-06T00:46:59Z",
|
||||
"name": "JUnit Test Report",
|
||||
"steps": [],
|
||||
"check_run_url": "https://api.github.com/repos/MYORG/MYREPO/check-runs/10472913772",
|
||||
"labels": [],
|
||||
"runner_id": null,
|
||||
"runner_name": null,
|
||||
"runner_group_id": null,
|
||||
"runner_group_name": null
|
||||
},
|
||||
"repository": {
|
||||
"id": 64636169,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnk2NDYzNjE2OQ==",
|
||||
"name": "MYREPO",
|
||||
"full_name": "MYORG/MYREPO",
|
||||
"private": true,
|
||||
"owner": {
|
||||
"login": "MYORG",
|
||||
"id": 29604235,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NjA0MjM1",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/29604235?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/MYORG",
|
||||
"html_url": "https://github.com/MYORG",
|
||||
"followers_url": "https://api.github.com/users/MYORG/followers",
|
||||
"following_url": "https://api.github.com/users/MYORG/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/MYORG/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/MYORG/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/MYORG/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/MYORG/orgs",
|
||||
"repos_url": "https://api.github.com/users/MYORG/repos",
|
||||
"events_url": "https://api.github.com/users/MYORG/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/MYORG/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/MYORG/MYREPO",
|
||||
"description": "Proprietary source code for the MYORG Platform. Please do not redistribute.",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/MYORG/MYREPO",
|
||||
"forks_url": "https://api.github.com/repos/MYORG/MYREPO/forks",
|
||||
"keys_url": "https://api.github.com/repos/MYORG/MYREPO/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/MYORG/MYREPO/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/MYORG/MYREPO/teams",
|
||||
"hooks_url": "https://api.github.com/repos/MYORG/MYREPO/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/MYORG/MYREPO/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/MYORG/MYREPO/events",
|
||||
"assignees_url": "https://api.github.com/repos/MYORG/MYREPO/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/MYORG/MYREPO/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/MYORG/MYREPO/tags",
|
||||
"blobs_url": "https://api.github.com/repos/MYORG/MYREPO/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/MYORG/MYREPO/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/MYORG/MYREPO/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/MYORG/MYREPO/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/MYORG/MYREPO/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/MYORG/MYREPO/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/MYORG/MYREPO/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/MYORG/MYREPO/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/MYORG/MYREPO/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/MYORG/MYREPO/subscription",
|
||||
"commits_url": "https://api.github.com/repos/MYORG/MYREPO/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/MYORG/MYREPO/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/MYORG/MYREPO/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/MYORG/MYREPO/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/MYORG/MYREPO/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/MYORG/MYREPO/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/MYORG/MYREPO/merges",
|
||||
"archive_url": "https://api.github.com/repos/MYORG/MYREPO/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/MYORG/MYREPO/downloads",
|
||||
"issues_url": "https://api.github.com/repos/MYORG/MYREPO/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/MYORG/MYREPO/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/MYORG/MYREPO/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/MYORG/MYREPO/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/MYORG/MYREPO/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/MYORG/MYREPO/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/MYORG/MYREPO/deployments",
|
||||
"created_at": "2016-08-01T04:36:52Z",
|
||||
"updated_at": "2023-01-05T17:44:13Z",
|
||||
"pushed_at": "2023-01-05T23:10:46Z",
|
||||
"git_url": "git://github.com/MYORG/MYREPO.git",
|
||||
"ssh_url": "git@github.com:MYORG/MYREPO.git",
|
||||
"clone_url": "https://github.com/MYORG/MYREPO.git",
|
||||
"svn_url": "https://github.com/MYORG/MYREPO",
|
||||
"homepage": "",
|
||||
"size": 724221,
|
||||
"stargazers_count": 4,
|
||||
"watchers_count": 4,
|
||||
"language": "Java",
|
||||
"has_issues": true,
|
||||
"has_projects": true,
|
||||
"has_downloads": true,
|
||||
"has_wiki": false,
|
||||
"has_pages": false,
|
||||
"has_discussions": false,
|
||||
"forks_count": 0,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 532,
|
||||
"license": {
|
||||
"key": "apache-2.0",
|
||||
"name": "Apache License 2.0",
|
||||
"spdx_id": "Apache-2.0",
|
||||
"url": "https://api.github.com/licenses/apache-2.0",
|
||||
"node_id": "MDc6TGljZW5zZTI="
|
||||
},
|
||||
"allow_forking": true,
|
||||
"is_template": false,
|
||||
"web_commit_signoff_required": true,
|
||||
"topics": [],
|
||||
"visibility": "private",
|
||||
"forks": 0,
|
||||
"open_issues": 532,
|
||||
"watchers": 4,
|
||||
"default_branch": "develop"
|
||||
},
|
||||
"organization": {
|
||||
"login": "MYORG",
|
||||
"id": 29604235,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NjA0MjM1",
|
||||
"url": "https://api.github.com/orgs/MYORG",
|
||||
"repos_url": "https://api.github.com/orgs/MYORG/repos",
|
||||
"events_url": "https://api.github.com/orgs/MYORG/events",
|
||||
"hooks_url": "https://api.github.com/orgs/MYORG/hooks",
|
||||
"issues_url": "https://api.github.com/orgs/MYORG/issues",
|
||||
"members_url": "https://api.github.com/orgs/MYORG/members{/member}",
|
||||
"public_members_url": "https://api.github.com/orgs/MYORG/public_members{/member}",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/29604235?v=4",
|
||||
"description": ""
|
||||
},
|
||||
"sender": {
|
||||
"login": "poulok",
|
||||
"id": 82919061,
|
||||
"node_id": "MDQ6VXNlcjgyOTE5MDYx",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/82919061?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/poulok",
|
||||
"html_url": "https://github.com/poulok",
|
||||
"followers_url": "https://api.github.com/users/poulok/followers",
|
||||
"following_url": "https://api.github.com/users/poulok/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/poulok/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/poulok/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/poulok/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/poulok/orgs",
|
||||
"repos_url": "https://api.github.com/users/poulok/repos",
|
||||
"events_url": "https://api.github.com/users/poulok/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/poulok/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
{
|
||||
"action": "completed",
|
||||
"workflow_job": {
|
||||
"id": 10472913772,
|
||||
"run_id": 3850387510,
|
||||
"workflow_name": "Build Platform",
|
||||
"head_branch": "develop",
|
||||
"run_url": "https://api.github.com/repos/MYORG/MYREPO/actions/runs/3850387510",
|
||||
"run_attempt": 1,
|
||||
"node_id": "CR_kwDOA9pFCc8AAAACcDv7bA",
|
||||
"head_sha": "c72f1c0a1b847a39a0414d408bd8aeb3f5e4945c",
|
||||
"url": "https://api.github.com/repos/MYORG/MYREPO/actions/jobs/10472913772",
|
||||
"html_url": "https://github.com/MYORG/MYREPO/runs/10472913772",
|
||||
"status": "completed",
|
||||
"conclusion": "success",
|
||||
"started_at": "2023-01-06T00:46:59Z",
|
||||
"completed_at": "2023-01-06T00:46:59Z",
|
||||
"name": "JUnit Test Report",
|
||||
"steps": [],
|
||||
"check_run_url": "https://api.github.com/repos/MYORG/MYREPO/check-runs/10472913772",
|
||||
"labels": [],
|
||||
"runner_id": null,
|
||||
"runner_name": null,
|
||||
"runner_group_id": null,
|
||||
"runner_group_name": null
|
||||
},
|
||||
"repository": {
|
||||
"id": 64636169,
|
||||
"node_id": "MDEwOlJlcG9zaXRvcnk2NDYzNjE2OQ==",
|
||||
"name": "MYREPO",
|
||||
"full_name": "MYORG/MYREPO",
|
||||
"private": true,
|
||||
"owner": {
|
||||
"login": "MYORG",
|
||||
"id": 29604235,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NjA0MjM1",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/29604235?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/MYORG",
|
||||
"html_url": "https://github.com/MYORG",
|
||||
"followers_url": "https://api.github.com/users/MYORG/followers",
|
||||
"following_url": "https://api.github.com/users/MYORG/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/MYORG/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/MYORG/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/MYORG/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/MYORG/orgs",
|
||||
"repos_url": "https://api.github.com/users/MYORG/repos",
|
||||
"events_url": "https://api.github.com/users/MYORG/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/MYORG/received_events",
|
||||
"type": "Organization",
|
||||
"site_admin": false
|
||||
},
|
||||
"html_url": "https://github.com/MYORG/MYREPO",
|
||||
"description": "Proprietary source code for the MYORG Platform. Please do not redistribute.",
|
||||
"fork": false,
|
||||
"url": "https://api.github.com/repos/MYORG/MYREPO",
|
||||
"forks_url": "https://api.github.com/repos/MYORG/MYREPO/forks",
|
||||
"keys_url": "https://api.github.com/repos/MYORG/MYREPO/keys{/key_id}",
|
||||
"collaborators_url": "https://api.github.com/repos/MYORG/MYREPO/collaborators{/collaborator}",
|
||||
"teams_url": "https://api.github.com/repos/MYORG/MYREPO/teams",
|
||||
"hooks_url": "https://api.github.com/repos/MYORG/MYREPO/hooks",
|
||||
"issue_events_url": "https://api.github.com/repos/MYORG/MYREPO/issues/events{/number}",
|
||||
"events_url": "https://api.github.com/repos/MYORG/MYREPO/events",
|
||||
"assignees_url": "https://api.github.com/repos/MYORG/MYREPO/assignees{/user}",
|
||||
"branches_url": "https://api.github.com/repos/MYORG/MYREPO/branches{/branch}",
|
||||
"tags_url": "https://api.github.com/repos/MYORG/MYREPO/tags",
|
||||
"blobs_url": "https://api.github.com/repos/MYORG/MYREPO/git/blobs{/sha}",
|
||||
"git_tags_url": "https://api.github.com/repos/MYORG/MYREPO/git/tags{/sha}",
|
||||
"git_refs_url": "https://api.github.com/repos/MYORG/MYREPO/git/refs{/sha}",
|
||||
"trees_url": "https://api.github.com/repos/MYORG/MYREPO/git/trees{/sha}",
|
||||
"statuses_url": "https://api.github.com/repos/MYORG/MYREPO/statuses/{sha}",
|
||||
"languages_url": "https://api.github.com/repos/MYORG/MYREPO/languages",
|
||||
"stargazers_url": "https://api.github.com/repos/MYORG/MYREPO/stargazers",
|
||||
"contributors_url": "https://api.github.com/repos/MYORG/MYREPO/contributors",
|
||||
"subscribers_url": "https://api.github.com/repos/MYORG/MYREPO/subscribers",
|
||||
"subscription_url": "https://api.github.com/repos/MYORG/MYREPO/subscription",
|
||||
"commits_url": "https://api.github.com/repos/MYORG/MYREPO/commits{/sha}",
|
||||
"git_commits_url": "https://api.github.com/repos/MYORG/MYREPO/git/commits{/sha}",
|
||||
"comments_url": "https://api.github.com/repos/MYORG/MYREPO/comments{/number}",
|
||||
"issue_comment_url": "https://api.github.com/repos/MYORG/MYREPO/issues/comments{/number}",
|
||||
"contents_url": "https://api.github.com/repos/MYORG/MYREPO/contents/{+path}",
|
||||
"compare_url": "https://api.github.com/repos/MYORG/MYREPO/compare/{base}...{head}",
|
||||
"merges_url": "https://api.github.com/repos/MYORG/MYREPO/merges",
|
||||
"archive_url": "https://api.github.com/repos/MYORG/MYREPO/{archive_format}{/ref}",
|
||||
"downloads_url": "https://api.github.com/repos/MYORG/MYREPO/downloads",
|
||||
"issues_url": "https://api.github.com/repos/MYORG/MYREPO/issues{/number}",
|
||||
"pulls_url": "https://api.github.com/repos/MYORG/MYREPO/pulls{/number}",
|
||||
"milestones_url": "https://api.github.com/repos/MYORG/MYREPO/milestones{/number}",
|
||||
"notifications_url": "https://api.github.com/repos/MYORG/MYREPO/notifications{?since,all,participating}",
|
||||
"labels_url": "https://api.github.com/repos/MYORG/MYREPO/labels{/name}",
|
||||
"releases_url": "https://api.github.com/repos/MYORG/MYREPO/releases{/id}",
|
||||
"deployments_url": "https://api.github.com/repos/MYORG/MYREPO/deployments",
|
||||
"created_at": "2016-08-01T04:36:52Z",
|
||||
"updated_at": "2023-01-05T17:44:13Z",
|
||||
"pushed_at": "2023-01-05T23:10:46Z",
|
||||
"git_url": "git://github.com/MYORG/MYREPO.git",
|
||||
"ssh_url": "git@github.com:MYORG/MYREPO.git",
|
||||
"clone_url": "https://github.com/MYORG/MYREPO.git",
|
||||
"svn_url": "https://github.com/MYORG/MYREPO",
|
||||
"homepage": "",
|
||||
"size": 724221,
|
||||
"stargazers_count": 4,
|
||||
"watchers_count": 4,
|
||||
"language": "Java",
|
||||
"has_issues": true,
|
||||
"has_projects": true,
|
||||
"has_downloads": true,
|
||||
"has_wiki": false,
|
||||
"has_pages": false,
|
||||
"has_discussions": false,
|
||||
"forks_count": 0,
|
||||
"mirror_url": null,
|
||||
"archived": false,
|
||||
"disabled": false,
|
||||
"open_issues_count": 532,
|
||||
"license": {
|
||||
"key": "apache-2.0",
|
||||
"name": "Apache License 2.0",
|
||||
"spdx_id": "Apache-2.0",
|
||||
"url": "https://api.github.com/licenses/apache-2.0",
|
||||
"node_id": "MDc6TGljZW5zZTI="
|
||||
},
|
||||
"allow_forking": true,
|
||||
"is_template": false,
|
||||
"web_commit_signoff_required": true,
|
||||
"topics": [],
|
||||
"visibility": "private",
|
||||
"forks": 0,
|
||||
"open_issues": 532,
|
||||
"watchers": 4,
|
||||
"default_branch": "develop"
|
||||
},
|
||||
"organization": {
|
||||
"login": "MYORG",
|
||||
"id": 29604235,
|
||||
"node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NjA0MjM1",
|
||||
"url": "https://api.github.com/orgs/MYORG",
|
||||
"repos_url": "https://api.github.com/orgs/MYORG/repos",
|
||||
"events_url": "https://api.github.com/orgs/MYORG/events",
|
||||
"hooks_url": "https://api.github.com/orgs/MYORG/hooks",
|
||||
"issues_url": "https://api.github.com/orgs/MYORG/issues",
|
||||
"members_url": "https://api.github.com/orgs/MYORG/members{/member}",
|
||||
"public_members_url": "https://api.github.com/orgs/MYORG/public_members{/member}",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/29604235?v=4",
|
||||
"description": ""
|
||||
},
|
||||
"sender": {
|
||||
"login": "poulok",
|
||||
"id": 82919061,
|
||||
"node_id": "MDQ6VXNlcjgyOTE5MDYx",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/82919061?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/poulok",
|
||||
"html_url": "https://github.com/poulok",
|
||||
"followers_url": "https://api.github.com/users/poulok/followers",
|
||||
"following_url": "https://api.github.com/users/poulok/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/poulok/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/poulok/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/poulok/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/poulok/orgs",
|
||||
"repos_url": "https://api.github.com/users/poulok/repos",
|
||||
"events_url": "https://api.github.com/users/poulok/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/poulok/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue