models

package
v0.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2023 License: Apache-2.0 Imports: 2 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Actor

type Actor struct {
	AvatarUrl string `json:"avatar_url"`
	Login     string `json:"login"`
	Url       string `json:"url"`
}

type BasicCommit

type BasicCommit struct {
	Sha           string       `graphql:"sha: oid" json:"sha"`
	ShortSha      string       `graphql:"shortSha: abbreviatedOid" json:"short_sha"`
	AuthoredDate  NullableTime `json:"authored_date"`
	Author        GitActor     `json:"author"`
	CommittedDate NullableTime `json:"committed_date"`
	Committer     GitActor     `json:"committer"`
	Message       string       `json:"message"`
	Url           string       `json:"url"`
}

BasicCommit returns the core fields of a Commit.

type BasicLicense

type BasicLicense struct {
	Key      string `json:"key"`
	Name     string `json:"name"`
	Nickname string `json:"nickname"`
	SpdxId   string `json:"spdx_id"`
	Url      string `json:"url"`
}

type BasicOrganization

type BasicOrganization struct {
	Login       string       `json:"login"`
	CreatedAt   NullableTime `json:"created_at"`
	UpdatedAt   NullableTime `json:"updated_at"`
	Description string       `json:"description"`
	Email       string       `json:"email"`
	Url         string       `json:"url"`
	// contains filtered or unexported fields
}

type BasicPullRequest

type BasicPullRequest struct {
	Id                  int                                `graphql:"id: databaseId" json:"id"`
	NodeId              string                             `graphql:"nodeId: id" json:"node_id"`
	Number              int                                `json:"number"`
	ActiveLockReason    githubv4.LockReason                `json:"active_lock_reason"`
	Additions           int                                `json:"additions"`
	Author              Actor                              `json:"author"`
	AuthorAssociation   githubv4.CommentAuthorAssociation  `json:"author_association"`
	BaseRefName         string                             `json:"base_ref_name"`
	Body                string                             `json:"body"`
	ChangedFiles        int                                `json:"changed_files"`
	ChecksUrl           string                             `json:"checks_url"`
	Closed              bool                               `json:"closed"`
	ClosedAt            NullableTime                       `json:"closed_at"`
	CreatedAt           NullableTime                       `json:"created_at"`
	CreatedViaEmail     bool                               `json:"created_via_email"`
	Deletions           int                                `json:"deletions"`
	Editor              Actor                              `json:"editor"`
	HeadRefName         string                             `json:"head_ref_name"`
	HeadRefOid          string                             `json:"head_ref_oid"`
	IncludesCreatedEdit bool                               `json:"includes_created_edit"`
	IsCrossRepository   bool                               `json:"is_cross_repository"`
	IsDraft             bool                               `json:"is_draft"`
	IsReadByUser        bool                               `graphql:"isReadByUser: isReadByViewer" json:"is_read_by_user"`
	LastEditedAt        NullableTime                       `json:"last_edited_at"`
	Locked              bool                               `json:"locked"`
	MaintainerCanModify bool                               `json:"maintainer_can_modify"`
	Mergeable           githubv4.MergeableState            `json:"mergeable"`
	Merged              bool                               `json:"merged"`
	MergedAt            NullableTime                       `json:"merged_at"`
	MergedBy            Actor                              `json:"merged_by"`
	Milestone           Milestone                          `json:"milestone"`
	Permalink           string                             `json:"permalink"`
	PublishedAt         NullableTime                       `json:"published_at"`
	RevertUrl           string                             `json:"revert_url"`
	ReviewDecision      githubv4.PullRequestReviewDecision `json:"review_decision"`
	State               githubv4.PullRequestState          `json:"state"`
	Title               string                             `json:"title"`
	TotalCommentsCount  int                                `json:"total_comments_count"`
	UpdatedAt           NullableTime                       `json:"updated_at"`
	Url                 string                             `json:"url"`
	Repo                struct {
		NameWithOwner string `json:"name_with_owner"`
	} `graphql:"repo: repository" json:"repo"`
}

type BasicRef

type BasicRef struct {
	Name   string `json:"name"`
	Prefix string `json:"prefix"`
}

type BasicRefWithBranchProtectionRule

type BasicRefWithBranchProtectionRule struct {
	BasicRef
	BranchProtectionRule *BranchProtectionRule `json:"branch_protection_rule,omitempty"`
}

type BasicUser

type BasicUser struct {
	Login     string       `json:"login"`
	Email     string       `json:"email"`
	CreatedAt NullableTime `json:"created_at"`
	UpdatedAt NullableTime `json:"updated_at"`
	Url       string       `json:"url"`
	// contains filtered or unexported fields
}

type Blob

type Blob struct {
	NodeId      string `graphql:"nodeId: id" json:"node_id"`
	IsTruncated bool   `json:"is_truncated"`
	IsBinary    bool   `json:"is_binary"`
	Text        string `json:"text"`
	ByteSize    int    `json:"byte_size"`
	CommitSha   string `graphql:"commitSha: oid" json:"commit_sha"`
	CommitUrl   string `json:"commit_url"`
}

type Branch

type Branch struct {
	Name   string
	Target struct {
		Commit Commit `graphql:"... on Commit"`
	}
	BranchProtectionRule BranchProtectionRule
}

type BranchActorAllowances

type BranchActorAllowances struct {
	TotalCount int
	PageInfo   PageInfo
	Nodes      []struct {
		Actor struct {
			Type string `graphql:"type: __typename"`
			App  struct {
				Name string
				Slug string
			} `graphql:"... on App"`
			Team struct {
				Name string
				Slug string
			} `graphql:"... on Team"`
			User struct {
				Name  string
				Login string
			} `graphql:"... on User"`
		}
	}
}

func (*BranchActorAllowances) Explode

func (b *BranchActorAllowances) Explode() ([]NameSlug, []NameSlug, []NameLogin)

Explode returns 3 collections from BranchActorAllowances by type (in order) Apps, Teams, Users.

type BranchProtectionRule

type BranchProtectionRule struct {
	AllowsDeletions                bool     `json:"allows_deletions"`
	AllowsForcePushes              bool     `json:"allows_force_pushes"`
	BlocksCreations                bool     `json:"blocks_creations"`
	Creator                        Actor    `json:"creator"`
	Id                             int      `graphql:"id: databaseId" json:"id"`
	NodeId                         string   `graphql:"nodeId: id" json:"node_id"`
	DismissesStaleReviews          bool     `json:"dismisses_stale_reviews"`
	IsAdminEnforced                bool     `json:"is_admin_enforced"`
	LockAllowsFetchAndMerge        bool     `json:"lock_allows_fetch_and_merge"`
	LockBranch                     bool     `json:"lock_branch"`
	Pattern                        string   `json:"pattern"`
	RequireLastPushApproval        bool     `json:"require_last_push_approval"`
	RequiredApprovingReviewCount   int      `json:"required_approving_review_count"`
	RequiredDeploymentEnvironments []string `json:"required_deployment_environments"`
	RequiredStatusChecks           []string `graphql:"requiredStatusChecks: requiredStatusCheckContexts" json:"required_status_checks"`
	RequiresApprovingReviews       bool     `json:"requires_approving_reviews"`
	RequiresConversationResolution bool     `json:"requires_conversation_resolution"`
	RequiresCodeOwnerReviews       bool     `json:"requires_code_owner_reviews"`
	RequiresCommitSignatures       bool     `json:"requires_commit_signatures"`
	RequiresDeployments            bool     `json:"requires_deployments"`
	RequiresLinearHistory          bool     `json:"requires_linear_history"`
	RequiresStatusChecks           bool     `json:"requires_status_checks"`
	RequiresStrictStatusChecks     bool     `json:"requires_strict_status_checks"`
	RestrictsPushes                bool     `json:"restricts_pushes"`
	RestrictsReviewDismissals      bool     `json:"restricts_review_dismissals"`
	MatchingBranches               struct {
		TotalCount int `json:"total_count"`
	} `graphql:"matchingBranches: matchingRefs" json:"matching_branches"`
}

type BranchProtectionRuleWithBypassForcePushAllowances

type BranchProtectionRuleWithBypassForcePushAllowances struct {
	BranchProtectionRule
	BypassForcePushAllowances BranchActorAllowances `graphql:"bypassForcePushAllowances(first: $pageSize, after: $cursor)"`
}

type BranchProtectionRuleWithBypassPullRequestAllowances

type BranchProtectionRuleWithBypassPullRequestAllowances struct {
	BranchProtectionRule
	BypassPullRequestAllowances BranchActorAllowances `graphql:"bypassPullRequestAllowances(first: $pageSize, after: $cursor)"`
}

type BranchProtectionRuleWithFirstPageEmbeddedItems

type BranchProtectionRuleWithFirstPageEmbeddedItems struct {
	BranchProtectionRule
	PushAllowances              BranchActorAllowances `graphql:"pushAllowances(first: 100)"`
	BypassForcePushAllowances   BranchActorAllowances `graphql:"bypassForcePushAllowances(first: 100)"`
	BypassPullRequestAllowances BranchActorAllowances `graphql:"bypassPullRequestAllowances(first: 100)"`
}

type BranchProtectionRuleWithPushAllowances

type BranchProtectionRuleWithPushAllowances struct {
	BranchProtectionRule
	PushAllowances BranchActorAllowances `graphql:"pushAllowances(first: $pageSize, after: $cursor)"`
}

type Commit

type Commit struct {
	BasicCommit
	Additions           int          `json:"additions"`
	AuthoredByCommitter bool         `json:"authored_by_committer"`
	ChangedFiles        int          `graphql:"changedFiles: changedFilesIfAvailable" json:"changed_files"`
	CommittedViaWeb     bool         `json:"committed_via_web"`
	CommitUrl           string       `json:"commit_url"`
	Deletions           int          `json:"deletions"`
	Signature           Signature    `json:"signature"`
	TarballUrl          string       `json:"tarball_url"`
	TreeUrl             string       `json:"tree_url"`
	CanSubscribe        bool         `graphql:"canSubscribe: viewerCanSubscribe" json:"can_subscribe"`
	Subscription        string       `graphql:"subscription: viewerSubscription" json:"subscription"`
	ZipballUrl          string       `json:"zipball_url"`
	MessageHeadline     string       `json:"message_headline"`
	Status              CommitStatus `json:"status"`
	NodeId              string       `graphql:"nodeId:id" json:"node_id"`
}

Commit returns the full detail of a Commit

type CommitStatus

type CommitStatus struct {
	State string `json:"state"`
}

type Count

type Count struct {
	TotalCount int `json:"total_count"`
}

type Deployment

type Deployment struct {
	Id                  int                      `graphql:"id: databaseId" json:"id,omitempty"`
	NodeId              string                   `graphql:"nodeId: id" json:"node_id,omitempty"`
	CommitSha           string                   `graphql:"sha: commitOid" json:"sha"`
	CreatedAt           NullableTime             `json:"created_at"`
	Creator             Actor                    `json:"creator"`
	Description         string                   `json:"description"`
	Environment         string                   `json:"environment"`
	LatestEnvironment   string                   `json:"latest_environment"`
	LatestStatus        DeploymentStatus         `json:"latest_status"`
	OriginalEnvironment string                   `json:"original_environment"`
	Payload             string                   `json:"payload"`
	Ref                 BasicRef                 `json:"ref"`
	State               githubv4.DeploymentState `json:"state"`
	Task                string                   `json:"task"`
	UpdatedAt           NullableTime             `json:"updated_at"`
}

type DeploymentStatus

type DeploymentStatus struct {
	NodeId         string                         `graphql:"nodeId: id" json:"node_id,omitempty"`
	CreatedAt      NullableTime                   `json:"created_at"`
	Creator        Actor                          `json:"creator"`
	Description    string                         `json:"description"`
	EnvironmentUrl string                         `json:"environment_url"`
	LogUrl         string                         `json:"log_url"`
	State          githubv4.DeploymentStatusState `json:"state"`
	UpdatedAt      NullableTime                   `json:"updated_at"`
}

type Environment

type Environment struct {
	// contains filtered or unexported fields
}

type GitActor

type GitActor struct {
	AvatarUrl string       `json:"avatar_url"`
	Date      NullableTime `json:"date"`
	Email     string       `json:"email"`
	Name      string       `json:"name"`
	User      BasicUser    `json:"user"`
}

type Issue

type Issue struct {
	Id                      int                                  `graphql:"id: databaseId" json:"id"`
	NodeId                  string                               `graphql:"nodeId: id" json:"node_id"`
	Number                  int                                  `json:"number"`
	ActiveLockReason        githubv4.LockReason                  `json:"active_lock_reason"`
	Author                  Actor                                `json:"author"`
	AuthorAssociation       githubv4.CommentAuthorAssociation    `json:"author_association"`
	Body                    string                               `json:"body"`
	BodyUrl                 string                               `json:"body_url"`
	Closed                  bool                                 `json:"closed"`
	ClosedAt                NullableTime                         `json:"closed_at"`
	CreatedAt               NullableTime                         `json:"created_at"`
	CreatedViaEmail         bool                                 `json:"created_via_email"`
	Editor                  Actor                                `json:"editor"`
	FullDatabaseId          string                               `json:"full_database_id"`
	IncludesCreatedEdit     bool                                 `json:"includes_created_edit"`
	IsPinned                bool                                 `json:"is_pinned"`
	IsReadByUser            bool                                 `graphql:"isReadByUser: isReadByViewer" json:"is_read_by_user"`
	LastEditedAt            NullableTime                         `json:"last_edited_at"`
	Locked                  bool                                 `json:"locked"`
	Milestone               Milestone                            `json:"milestone"`
	PublishedAt             NullableTime                         `json:"published_at"`
	State                   githubv4.IssueState                  `json:"state"`
	StateReason             githubv4.IssueStateReason            `json:"state_reason"`
	Title                   string                               `json:"title"`
	UpdatedAt               NullableTime                         `json:"updated_at"`
	Url                     string                               `json:"url"`
	UserCanClose            bool                                 `graphql:"userCanClose: viewerCanClose" json:"user_can_close"`
	UserCanReact            bool                                 `graphql:"userCanReact: viewerCanReact" json:"user_can_react"`
	UserCanReopen           bool                                 `graphql:"userCanReopen: viewerCanReopen" json:"user_can_reopen"`
	UserCanSubscribe        bool                                 `graphql:"userCanSubscribe: viewerCanSubscribe" json:"user_can_subscribe"`
	UserCanUpdate           bool                                 `graphql:"userCanUpdate: viewerCanUpdate" json:"user_can_update"`
	UserCannotUpdateReasons []githubv4.CommentCannotUpdateReason `graphql:"userCannotUpdateReasons: viewerCannotUpdateReasons" json:"user_cannot_update_reasons"`
	UserDidAuthor           bool                                 `graphql:"userDidAuthor: viewerDidAuthor" json:"user_did_author"`
	UserSubscription        githubv4.SubscriptionState           `graphql:"userSubscription: viewerSubscription" json:"user_subscription"`
	Comments                Count                                `json:"comments"`
	Assignees               Count                                `json:"assignees"`
	Labels                  struct {
		TotalCount int
		Nodes      []Label
	} `graphql:"labels(first: 100)" json:"labels"`
	Repo struct {
		NameWithOwner string `json:"name_with_owner"`
	} `graphql:"repo: repository" json:"repo"`
}

type IssueComment

type IssueComment struct {
	Id                  int                                  `graphql:"id: databaseId" json:"id"`
	NodeId              string                               `graphql:"nodeId: id" json:"node_id"`
	Author              Actor                                `json:"author"`
	AuthorAssociation   githubv4.CommentAuthorAssociation    `json:"author_association"`
	Body                string                               `json:"body"`
	BodyText            string                               `json:"body_text"`
	CreatedAt           NullableTime                         `json:"created_at"`
	CreatedViaEmail     bool                                 `json:"created_via_email"`
	Editor              Actor                                `json:"editor"`
	IncludesCreatedEdit bool                                 `json:"includes_created_edit"`
	IsMinimized         bool                                 `json:"is_minimized"`
	LastEditedAt        NullableTime                         `json:"last_edited_at"`
	MinimizedReason     string                               `json:"minimized_reason"`
	PublishedAt         NullableTime                         `json:"published_at"`
	UpdatedAt           NullableTime                         `json:"updated_at"`
	Url                 string                               `json:"url"`
	CanDelete           bool                                 `graphql:"canDelete: viewerCanDelete" json:"can_delete"`
	CanMinimize         bool                                 `graphql:"canMinimize: viewerCanMinimize" json:"can_minimize"`
	CanReact            bool                                 `graphql:"canReact: viewerCanReact" json:"can_react"`
	CanUpdate           bool                                 `graphql:"canUpdate: viewerCanUpdate" json:"can_update"`
	CannotUpdateReasons []githubv4.CommentCannotUpdateReason `graphql:"cannotUpdateReasons: viewerCannotUpdateReasons" json:"cannot_update_reasons"`
	DidAuthor           bool                                 `graphql:"didAuthor: viewerDidAuthor" json:"did_author"`
}

type IssueTemplate

type IssueTemplate struct {
	About    string `json:"about"`
	Body     string `json:"body"`
	Filename string `json:"filename"`
	Name     string `json:"name"`
	Title    string `json:"title"`
}

type IssueWithRepository

type IssueWithRepository struct {
	Issue
	Repository Repository `json:"repository"`
}

IssueWithRepository should not be nested under the repository, else circular reference will cause long wait and eventual error.

type Label added in v0.30.0

type Label struct {
	NodeId      string `graphql:"nodeId: id" json:"node_id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	IsDefault   bool   `json:"is_default"`
	Color       string `json:"color"`
}

type Language

type Language struct {
	Id    githubv4.ID `json:"id"`
	Name  string      `json:"name"`
	Color string      `json:"color"`
}

type License

type License struct {
	BasicLicense
	Body           string        `json:"body"`
	Conditions     []LicenseRule `json:"conditions"`
	Description    string        `json:"description"`
	Featured       bool          `json:"featured"`
	Hidden         bool          `json:"hidden"`
	Implementation string        `json:"implementation"`
	Limitations    []LicenseRule `json:"limitations"`
	Permissions    []LicenseRule `json:"permissions"`
	PseudoLicense  bool          `json:"pseudo_license"`
}

type LicenseRule

type LicenseRule struct {
	Description string
	Key         string
	Label       string
}

type Milestone

type Milestone struct {
	Closed             bool                    `json:"closed"`
	ClosedAt           NullableTime            `json:"closed_at"`
	CreatedAt          NullableTime            `json:"created_at"`
	Creator            Actor                   `json:"creator"`
	Description        string                  `json:"description"`
	DueOn              NullableTime            `json:"due_on"`
	Number             int                     `json:"number"`
	ProgressPercentage float32                 `json:"progress_percentage"`
	State              githubv4.MilestoneState `json:"state"`
	Title              string                  `json:"title"`
	UpdatedAt          NullableTime            `json:"updated_at"`
	UserCanClose       bool                    `graphql:"userCanClose: viewerCanClose" json:"user_can_close"`
	UserCanReopen      bool                    `graphql:"userCanReopen: viewerCanReopen" json:"user_can_reopen"`
}

type NameLogin

type NameLogin struct {
	Name  string `json:"name"`
	Login string `json:"login"`
}

type NameSlug

type NameSlug struct {
	Name string `json:"name"`
	Slug string `json:"slug"`
}

type NullableTime

type NullableTime struct {
	time.Time
}

func (NullableTime) MarshalJSON

func (t NullableTime) MarshalJSON() ([]byte, error)

type Organization

type Organization struct {
	BasicOrganization
	Announcement                           string                       `json:"announcement"`
	AnnouncementExpiresAt                  NullableTime                 `json:"announcement_expires_at"`
	AnnouncementUserDismissible            bool                         `json:"announcement_user_dismissible"`
	AnyPinnableItems                       bool                         `json:"any_pinnable_items"`
	AvatarUrl                              string                       `json:"avatar_url"`
	EstimatedNextSponsorsPayoutInCents     int                          `json:"estimated_next_sponsors_payout_in_cents"`
	HasSponsorsListing                     bool                         `json:"has_sponsors_listing"`
	InteractionAbility                     RepositoryInteractionAbility `json:"interaction_ability"`
	IsSponsoringYou                        bool                         `graphql:"isSponsoringYou: isSponsoringViewer" json:"is_sponsoring_you"`
	IsVerified                             bool                         `json:"is_verified"`
	Location                               string                       `json:"location"`
	MonthlyEstimatedSponsorsIncomeInCents  int                          `json:"monthly_estimated_sponsors_income_in_cents"`
	NewTeamUrl                             string                       `json:"new_team_url"`
	PinnedItemsRemaining                   int                          `json:"pinned_items_remaining"`
	ProjectsUrl                            string                       `json:"projects_url"`
	SamlIdentityProvider                   OrganizationIdentityProvider `json:"saml_identity_provider"`
	SponsorsListing                        SponsorsListing              `json:"sponsors_listing"`
	TeamsUrl                               string                       `json:"teams_url"`
	TotalSponsorshipAmountAsSponsorInCents int                          `json:"total_sponsorship_amount_as_sponsor_in_cents"`
	TwitterUsername                        string                       `json:"twitter_username"`
	CanAdminister                          bool                         `graphql:"canAdminister: viewerCanAdminister" json:"can_administer"`
	CanChangedPinnedItems                  bool                         `graphql:"canChangedPinnedItems: viewerCanChangePinnedItems" json:"can_changed_pinned_items"`
	CanCreateProjects                      bool                         `graphql:"canCreateProjects: viewerCanCreateProjects" json:"can_create_projects"`
	CanCreateRepositories                  bool                         `graphql:"canCreateRepositories: viewerCanCreateRepositories" json:"can_create_repositories"`
	CanCreateTeams                         bool                         `graphql:"canCreateTeams: viewerCanCreateTeams" json:"can_create_teams"`
	CanSponsor                             bool                         `graphql:"canSponsor: viewerCanSponsor" json:"can_sponsor"`
	IsAMember                              bool                         `graphql:"isAMember: viewerIsAMember" json:"is_a_member"`
	IsFollowing                            bool                         `graphql:"isFollowing: viewerIsFollowing" json:"is_following"`
	IsSponsoring                           bool                         `graphql:"isSponsoring: viewerIsSponsoring" json:"is_sponsoring"`
	WebsiteUrl                             string                       `json:"website_url"`
}

type OrganizationExternalIdentity added in v0.29.0

type OrganizationExternalIdentity struct {
	Guid                   string               `json:"guid"`
	User                   BasicUser            `json:"user"`
	SamlIdentity           externalIdentitySaml `json:"saml_identity,omitempty"`
	ScimIdentity           externalIdentityBase `json:"scim_identity,omitempty"`
	OrganizationInvitation struct {
		CreatedAt      NullableTime                        `json:"created_at"`
		Email          string                              `json:"email"`
		InvitationType githubv4.OrganizationInvitationType `json:"invitation_type"`
		Invitee        BasicUser                           `json:"invitee"`
		Inviter        BasicUser                           `json:"inviter"`
		Organization   BasicOrganization                   `json:"organization"`
		Role           githubv4.OrganizationInvitationRole `json:"role"`
	} `json:"organization_invitation"`
}

type OrganizationIdentityProvider

type OrganizationIdentityProvider struct {
	DigestMethod    string `json:"digest_method"`
	Issuer          string `json:"issuer"`
	SignatureMethod string `json:"signature_method"`
	SsoUrl          string `json:"sso_url"`
}

type OrganizationWithCounts

type OrganizationWithCounts struct {
	Organization
	MembersWithRole     Count `json:"members_with_role"`
	Packages            Count `json:"packages"`
	PinnableItems       Count `json:"pinnable_items"`
	PinnedItems         Count `json:"pinned_items"`
	Projects            Count `json:"projects"`
	ProjectsV2          Count `json:"projects_v2"`
	Sponsoring          Count `json:"sponsoring"`
	Sponsors            Count `json:"sponsors"`
	Teams               Count `json:"teams"`
	PrivateRepositories Count `graphql:"privateRepositories: repositories(privacy: PRIVATE)" json:"private_repositories"`
	PublicRepositories  Count `graphql:"publicRepositories: repositories(privacy: PUBLIC)" json:"public_repositories"`
	Repositories        struct {
		TotalCount     int `json:"total_count"`
		TotalDiskUsage int `json:"total_disk_usage"`
	} `json:"repositories"`
}

type OrganizationWithOwnerProperties

type OrganizationWithOwnerProperties struct {
	Organization
	IpAllowListEnabledSetting                     githubv4.IpAllowListEnabledSettingValue                 `json:"ip_allow_list_enabled_setting"`
	IpAllowListForInstalledAppsEnabledSetting     githubv4.IpAllowListForInstalledAppsEnabledSettingValue `json:"ip_allow_list_for_installed_apps_enabled_setting"`
	MembersCanForkPrivateRepositories             bool                                                    `json:"members_can_fork_private_repositories"`
	OrganizationBillingEmail                      string                                                  `json:"organization_billing_email"`
	NotificationDeliveryRestrictionEnabledSetting githubv4.NotificationRestrictionSettingValue            `json:"notification_delivery_restriction_enabled_setting"`
	RequiresTwoFactorAuthentication               bool                                                    `json:"requires_two_factor_authentication"`
	WebCommitSignoffRequired                      bool                                                    `json:"web_commit_signoff_required"`
}

type OrganizationWithOwnerPropertiesAndCounts

type OrganizationWithOwnerPropertiesAndCounts struct {
	OrganizationWithOwnerProperties
	MembersWithRole     Count `json:"members_with_role"`
	Packages            Count `json:"packages"`
	PinnableItems       Count `json:"pinnable_items"`
	PinnedItems         Count `json:"pinned_items"`
	Projects            Count `json:"projects"`
	ProjectsV2          Count `json:"projects_v2"`
	Sponsoring          Count `json:"sponsoring"`
	Sponsors            Count `json:"sponsors"`
	Teams               Count `json:"teams"`
	PrivateRepositories Count `graphql:"privateRepositories: repositories(privacy: PRIVATE)" json:"private_repositories"`
	PublicRepositories  Count `graphql:"publicRepositories: repositories(privacy: PUBLIC)" json:"public_repositories"`
	Repositories        struct {
		TotalCount     int `json:"total_count"`
		TotalDiskUsage int `json:"total_disk_usage"`
	} `json:"repositories"`
}

type PageInfo

type PageInfo struct {
	EndCursor   githubv4.String
	HasNextPage bool
}

PageInfo returns EndCursor and HasNextPage to facilitate paging.

type PullRequest

type PullRequest struct {
	BasicPullRequest
	BaseRef             *BasicRef                            `json:"base_ref,omitempty"`
	HeadRef             *BasicRef                            `json:"head_ref,omitempty"`
	MergeCommit         *BasicCommit                         `json:"merge_commit,omitempty"`
	SuggestedReviewers  []SuggestedReviewer                  `json:"suggested_reviewers"`
	CanApplySuggestion  bool                                 `graphql:"canApplySuggestion:viewerCanApplySuggestion" json:"can_apply_suggestion"`
	CanClose            bool                                 `graphql:"canClose:viewerCanClose" json:"can_close"`
	CanDeleteHeadRef    bool                                 `graphql:"canDeleteHeadRef:viewerCanDeleteHeadRef" json:"can_delete_head_ref"`
	CanDisableAutoMerge bool                                 `graphql:"canDisableAutoMerge:viewerCanDisableAutoMerge" json:"can_disable_auto_merge"`
	CanEditFiles        bool                                 `graphql:"canEditFiles:viewerCanEditFiles" json:"can_edit_files"`
	CanEnableAutoMerge  bool                                 `graphql:"canEnableAutoMerge:viewerCanEnableAutoMerge" json:"can_enable_auto_merge"`
	CanMergeAsAdmin     bool                                 `graphql:"canMergeAsAdmin:viewerCanMergeAsAdmin" json:"can_merge_as_admin"`
	CanReact            bool                                 `graphql:"canReact:viewerCanReact" json:"can_react"`
	CanReopen           bool                                 `graphql:"canReopen:viewerCanReopen" json:"can_reopen"`
	CanSubscribe        bool                                 `graphql:"canSubscribe:viewerCanSubscribe" json:"can_subscribe"`
	CanUpdate           bool                                 `graphql:"canUpdate:viewerCanUpdate" json:"can_update"`
	CanUpdateBranch     bool                                 `graphql:"canUpdateBranch:viewerCanUpdateBranch" json:"can_update_branch"`
	DidAuthor           bool                                 `graphql:"didAuthor:viewerDidAuthor" json:"did_author"`
	CannotUpdateReasons []githubv4.CommentCannotUpdateReason `graphql:"cannotUpdateReasons: viewerCannotUpdateReasons" json:"cannot_update_reasons"`
	Subscription        githubv4.SubscriptionState           `graphql:"subscription: viewerSubscription" json:"subscription"`

	// Counts
	Assignees      Count `json:"assignees"`
	Commits        Count `json:"commits"`
	ReviewRequests Count `json:"review_requests"`
	Reviews        Count `json:"reviews"`
	Labels         struct {
		TotalCount int
		Nodes      []Label
	} `graphql:"labels(first: 100)" json:"labels"`
}

type PullRequestReview added in v0.31.0

type PullRequestReview struct {
	Id                        int                               `graphql:"id: databaseId" json:"id"`
	NodeId                    string                            `graphql:"nodeId: id" json:"node_id"`
	Author                    Actor                             `json:"author"`
	AuthorAssociation         githubv4.CommentAuthorAssociation `json:"author_association"`
	AuthorCanPushToRepository bool                              `json:"author_can_push_to_repository"`
	State                     string                            `json:"state"`
	Body                      string                            `json:"body"`
	Url                       string                            `json:"html_url"`
	SubmittedAt               NullableTime                      `json:"submitted_at"`
}

type PullRequestTemplate

type PullRequestTemplate struct {
	Filename string `json:"filename"`
	Body     string `json:"body"`
}

type RateLimit

type RateLimit struct {
	Remaining int
	Used      int
	Cost      int
	Limit     int
	ResetAt   time.Time
	NodeCount int
}

RateLimit information

type Release

type Release struct {
	Author       BasicUser    `json:"author"`
	CreatedAt    NullableTime `json:"created_at"`
	Description  string       `json:"description"`
	IsDraft      bool         `json:"is_draft"`
	IsLatest     bool         `json:"is_latest"`
	IsPrerelease bool         `json:"is_prerelease"`
	PublishedAt  NullableTime `json:"published_at"`
	Tag          BasicRef     `json:"tag"`
	TagCommit    BasicCommit  `json:"tag_commit"`
	TagName      string       `json:"tag_name"`
	UpdatedAt    NullableTime `json:"updated_at"`
	Url          string       `json:"url"`
	CanReact     bool         `graphql:"canReact: viewerCanReact" json:"can_react"`
	// contains filtered or unexported fields
}

type Repository

type Repository struct {
	AllowUpdateBranch             bool                             `json:"allow_update_branch"`
	ArchivedAt                    NullableTime                     `json:"archived_at"`
	AutoMergeAllowed              bool                             `json:"auto_merge_allowed"`
	CodeOfConduct                 RepositoryCodeOfConduct          `json:"code_of_conduct"`
	ContactLinks                  []RepositoryContactLink          `json:"contact_links"`
	CreatedAt                     NullableTime                     `json:"created_at"`
	DefaultBranchRef              BasicRefWithBranchProtectionRule `json:"default_branch_ref"`
	DeleteBranchOnMerge           bool                             `json:"delete_branch_on_merge"`
	Description                   string                           `json:"description"`
	DiskUsage                     int                              `json:"disk_usage "`
	ForkCount                     int                              `json:"fork_count"`
	ForkingAllowed                bool                             `json:"forking_allowed"`
	FundingLinks                  []RepositoryFundingLinks         `json:"funding_links"`
	HasDiscussionsEnabled         bool                             `json:"has_discussions_enabled"`
	HasIssuesEnabled              bool                             `json:"has_issues_enabled"`
	HasProjectsEnabled            bool                             `json:"has_projects_enabled"`
	HasVulnerabilityAlertsEnabled bool                             `json:"has_vulnerability_alerts_enabled"`
	HasWikiEnabled                bool                             `json:"has_wiki_enabled"`
	HomepageUrl                   string                           `json:"homepage_url"`
	InteractionAbility            RepositoryInteractionAbility     `json:"interaction_ability"`
	IsArchived                    bool                             `json:"is_archived"`
	IsBlankIssuesEnabled          bool                             `json:"is_blank_issues_enabled"`
	IsDisabled                    bool                             `json:"is_disabled"`
	IsEmpty                       bool                             `json:"is_empty"`
	IsFork                        bool                             `json:"is_fork"`
	IsInOrganization              bool                             `json:"is_in_organization"`
	IsLocked                      bool                             `json:"is_locked"`
	IsMirror                      bool                             `json:"is_mirror"`
	IsPrivate                     bool                             `json:"is_private"`
	IsSecurityPolicyEnabled       bool                             `json:"is_security_policy_enabled"`
	IsTemplate                    bool                             `json:"is_template"`
	IsUserConfigurationRepository bool                             `json:"is_user_configuration_repository"`
	IssueTemplates                []IssueTemplate                  `json:"issue_templates"`
	LicenseInfo                   BasicLicense                     `json:"license_info"`
	LockReason                    githubv4.LockReason              `json:"lock_reason"`
	MergeCommitAllowed            bool                             `json:"merge_commit_allowed"`
	MergeCommitMessage            githubv4.MergeCommitMessage      `json:"merge_commit_message"`
	MergeCommitTitle              githubv4.MergeCommitTitle        `json:"merge_commit_title"`
	MirrorUrl                     string                           `json:"mirror_url"`
	NameWithOwner                 string                           `json:"name_with_owner"`
	OpenGraphImageUrl             string                           `json:"open_graph_image_url"`
	Owner                         struct {
		Login string `json:"login"`
	} `json:"owner"`
	PrimaryLanguage          Language                          `json:"primary_language"`
	ProjectsUrl              string                            `json:"projects_url"`
	PullRequestTemplates     []PullRequestTemplate             `json:"pull_request_templates"`
	PushedAt                 NullableTime                      `json:"pushed_at"`
	RebaseMergeAllowed       bool                              `json:"rebase_merge_allowed"`
	SecurityPolicyUrl        string                            `json:"security_policy_url"`
	SquashMergeAllowed       bool                              `json:"squash_merge_allowed"`
	SquashMergeCommitMessage githubv4.SquashMergeCommitMessage `json:"squash_merge_commit_message"`
	SquashMergeCommitTitle   githubv4.SquashMergeCommitTitle   `json:"squash_merge_commit_title"`
	SshUrl                   string                            `json:"ssh_url"`
	StargazerCount           int                               `json:"stargazer_count"`
	TempCloneToken           string                            `json:"temp_clone_token"`
	UpdatedAt                NullableTime                      `json:"updated_at"`
	Url                      string                            `json:"url"`
	UsesCustomOpenGraphImage bool                              `json:"uses_custom_open_graph_image"`
	CanAdminister            bool                              `graphql:"canAdminister: viewerCanAdminister" json:"can_administer"`
	CanCreateProjects        bool                              `graphql:"canCreateProjects: viewerCanCreateProjects" json:"can_create_projects"`
	CanSubscribe             bool                              `graphql:"canSubscribe: viewerCanSubscribe" json:"can_subscribe"`
	CanUpdateTopics          bool                              `graphql:"canUpdateTopics: viewerCanUpdateTopics" json:"can_update_topics"`
	HasStarred               bool                              `graphql:"hasStarred: viewerHasStarred" json:"has_starred"`
	YourPermission           githubv4.RepositoryPermission     `graphql:"yourPermission: viewerPermission" json:"your_permission"`
	PossibleCommitEmails     []string                          `graphql:"possibleCommitEmails: viewerPossibleCommitEmails" json:"possible_commit_emails"`
	Subscription             githubv4.SubscriptionState        `graphql:"subscription: viewerSubscription" json:"subscription"`
	Visibility               githubv4.RepositoryVisibility     `json:"visibility"`
	WebCommitSignoffRequired bool                              `json:"web_commit_signoff_required"`
	RepositoryTopics         Count                             `json:"repository_topics"`
	OpenIssues               Count                             `graphql:"issues(states: OPEN)" json:"open_issues"`
	Watchers                 Count                             `json:"watchers"`
	// contains filtered or unexported fields
}

type RepositoryCodeOfConduct

type RepositoryCodeOfConduct struct {
	Id   githubv4.ID `json:"-"`
	Key  string      `json:"key"`
	Name string      `json:"name"`
	Body string      `json:"body"`
	Url  string      `json:"url"`
}
type RepositoryContactLink struct {
	Name  string `json:"name"`
	About string `json:"about"`
	Url   string `json:"url"`
}
type RepositoryFundingLinks struct {
	Url      string                   `json:"url"`
	Platform githubv4.FundingPlatform `json:"platform"`
}

type RepositoryInteractionAbility

type RepositoryInteractionAbility struct {
	ExpiresAt NullableTime `json:"expires_at,omitempty"`
	Limit     string       `json:"repository_interaction_limit,omitempty"`
	Origin    string       `json:"repository_interaction_limit_origin,omitempty"`
}

type Signature

type Signature struct {
	Email             string `json:"email"`
	IsValid           bool   `json:"is_valid"`
	State             string `json:"state"`
	WasSignedByGitHub bool   `json:"was_signed_by_github"`
	Signer            struct {
		Email string `json:"email"`
		Login string `json:"login"`
	} `json:"signer"`
}

Signature returns information about signatures including the Email, State and validity (IsValid).

type SponsorsGoal

type SponsorsGoal struct {
	Description     string                    `json:"description"`
	PercentComplete int                       `json:"percent_complete"`
	TargetValue     int                       `json:"target_value"`
	Title           string                    `json:"title"`
	Kind            githubv4.SponsorsGoalKind `json:"kind"`
}

type SponsorsListing

type SponsorsListing struct {
	Id                         string               `json:"id"`
	ActiveGoal                 SponsorsGoal         `json:"active_goal"`
	ActiveStripeConnectAccount StripeConnectAccount `json:"active_stripe_connect_account"`
	BillingCountryOrRegion     string               `json:"billing_country_or_region"`
	ContactEmailAddress        string               `json:"contact_email_address"`
	CreatedAt                  time.Time            `json:"created_at"`
	DashboardUrl               string               `json:"dashboard_url"`
	FullDescription            string               `json:"full_description"`
	IsPublic                   bool                 `json:"is_public"`
	Name                       string               `json:"name"`
	NextPayoutDate             time.Time            `json:"next_payout_date"`
	ResidenceCountryOrRegion   string               `json:"residence_country_or_region"`
	ShortDescription           string               `json:"short_description"`
	Slug                       string               `json:"slug"`
	Url                        string               `json:"url"`
}

type StripeConnectAccount

type StripeConnectAccount struct {
	AccountId              string `json:"account_id"`
	BillingCountryOrRegion string `json:"billing_country_or_region"`
	CountryOrRegion        string `json:"country_or_region"`
	IsActive               bool   `json:"is_active"`
	StripeDashboardUrl     string `json:"stripe_dashboard_url"`
}

type SuggestedReviewer

type SuggestedReviewer struct {
	IsAuthor    bool      `json:"is_author"`
	IsCommenter bool      `json:"is_commenter"`
	Reviewer    BasicUser `json:"reviewer"`
}

type TagWithCommits

type TagWithCommits struct {
	Name   string
	Target struct {
		Commit Commit `graphql:"... on Commit"`
		Tag    struct {
			Message string
			Tagger  struct {
				Name string
				Date time.Time
				User struct {
					Login string
				}
			}
			Target struct {
				Commit Commit `graphql:"... on Commit"`
			}
		} `graphql:"... on Tag"`
	}
}

type Team

type Team struct {
	AvatarUrl      string
	CombinedSlug   string
	CreatedAt      time.Time
	Description    string
	DiscussionsUrl string
	EditTeamUrl    string
	MembersUrl     string
	NewTeamUrl     string
	Organization   BasicOrganization
	ParentTeam     struct {
		Slug string `json:"slug,omitempty"`
		// contains filtered or unexported fields
	}
	Privacy         string
	RepositoriesUrl string
	Slug            string
	TeamsUrl        string
	UpdatedAt       time.Time
	Url             string
	CanAdminister   bool   `graphql:"canAdminister: viewerCanAdminister"`
	CanSubscribe    bool   `graphql:"canSubscribe: viewerCanSubscribe"`
	Subscription    string `graphql:"subscription: viewerSubscription"`
	// contains filtered or unexported fields
}

type TeamMemberWithRole

type TeamMemberWithRole struct {
	Role githubv4.TeamMemberRole `json:"role"`
	Node User
}

type TeamRepositoryWithPermission

type TeamRepositoryWithPermission struct {
	Permission githubv4.RepositoryPermission `json:"permission"`
	Node       Repository
}

type TeamWithCounts

type TeamWithCounts struct {
	Team
	Ancestors struct {
		TotalCount int
	}
	ChildTeams struct {
		TotalCount int
	}
	Discussions struct {
		TotalCount int
	}
	Invitations struct {
		TotalCount int
	}
	Members struct {
		TotalCount int
	}
	ProjectsV2 struct {
		TotalCount int
	}
	Repositories struct {
		TotalCount int
	}
}

type TextMatch

type TextMatch struct {
	Fragment   string               `json:"fragment"`
	Property   string               `json:"property"`
	Highlights []TextMatchHighlight `json:"highlights"`
}

type TextMatchHighlight

type TextMatchHighlight struct {
	BeginIndice int    `json:"begin_indice"`
	EndIndice   int    `json:"end_indice"`
	Text        string `json:"text"`
}

type TreeEntry

type TreeEntry struct {
	Name        string   `json:"name"`
	Path        string   `json:"path"`
	LineCount   int      `json:"line_count"`
	Size        int      `json:"size"`
	IsGenerated bool     `json:"is_generated"`
	Language    Language `json:"language"`
	Extension   string   `json:"extension"`
	Mode        int      `json:"mode"`
	Object      struct {
		Blob Blob `graphql:"... on Blob" json:"blob"`
	} `json:"object"`
}

type User

type User struct {
	BasicUser
	AnyPinnableItems                      bool                         `json:"any_pinnable_items"`
	AvatarUrl                             string                       `json:"avatar_url"`
	Bio                                   string                       `json:"bio"`
	Company                               string                       `json:"company"`
	EstimatedNextSponsorsPayoutInCents    int                          `json:"estimated_next_sponsors_payout_in_cents"`
	HasSponsorsListing                    bool                         `json:"has_sponsors_listing"`
	InteractionAbility                    RepositoryInteractionAbility `json:"interaction_ability,omitempty"`
	IsBountyHunter                        bool                         `json:"is_bounty_hunter"`
	IsCampusExpert                        bool                         `json:"is_campus_expert"`
	IsDeveloperProgramMember              bool                         `json:"is_developer_program_member"`
	IsEmployee                            bool                         `json:"is_employee"`
	IsFollowingYou                        bool                         `graphql:"isFollowingYou: isFollowingViewer" json:"is_following_you"`
	IsGitHubStar                          bool                         `json:"is_github_star"`
	IsHireable                            bool                         `json:"is_hireable"`
	IsSiteAdmin                           bool                         `json:"is_site_admin"`
	IsSponsoringYou                       bool                         `graphql:"isSponsoringYou: isSponsoringViewer" json:"is_sponsoring_you"`
	IsYou                                 bool                         `graphql:"isYou: isViewer" json:"is_you"`
	Location                              string                       `json:"location"`
	MonthlyEstimatedSponsorsIncomeInCents int                          `json:"monthly_estimated_sponsors_income_in_cents"`
	PinnedItemsRemaining                  int                          `json:"pinned_items_remaining"`
	ProjectsUrl                           string                       `json:"projects_url"`
	Pronouns                              string                       `json:"pronouns"`
	SponsorsListing                       SponsorsListing              `json:"sponsors_listing,omitempty"`
	Status                                userStatus                   `json:"status,omitempty"`
	TwitterUsername                       string                       `json:"twitter_username"`
	CanChangedPinnedItems                 bool                         `graphql:"canChangedPinnedItems: viewerCanChangePinnedItems" json:"can_changed_pinned_items"`
	CanCreateProjects                     bool                         `graphql:"canCreateProjects: viewerCanCreateProjects" json:"can_create_projects"`
	CanFollow                             bool                         `graphql:"canFollow: viewerCanFollow" json:"can_follow"`
	CanSponsor                            bool                         `graphql:"canSponsor: viewerCanSponsor" json:"can_sponsor"`
	IsFollowing                           bool                         `graphql:"isFollowing: viewerIsFollowing" json:"is_following"`
	IsSponsoring                          bool                         `graphql:"isSponsoring: viewerIsSponsoring" json:"is_sponsoring"`
	WebsiteUrl                            string                       `json:"website_url"`
}

type UserWithCounts

type UserWithCounts struct {
	User
	Repositories struct {
		TotalDiskUsage int
	}
	Followers           Count
	Following           Count
	PublicRepositories  Count `graphql:"publicRepositories: repositories(privacy: PUBLIC)"`
	PrivateRepositories Count `graphql:"privateRepositories: repositories(privacy: PRIVATE)"`
	PublicGists         Count `graphql:"publicGists: gists(privacy: PUBLIC)"`
	Issues              Count
	Organizations       Count
	PublicKeys          Count
	OpenPullRequests    Count `graphql:"openPullRequests: pullRequests(states: OPEN)"`
	MergedPullRequests  Count `graphql:"mergedPullRequests: pullRequests(states: MERGED)"`
	ClosedPullRequests  Count `graphql:"closedPullRequests: pullRequests(states: CLOSED)"`
	Packages            Count
	PinnedItems         Count
	Sponsoring          Count
	Sponsors            Count
	StarredRepositories Count
	Watching            Count
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL