@@ -78,6 +78,8 @@ type Project struct {
78
78
LicenseURL string `json:"license_url"`
79
79
License * ProjectLicense `json:"license"`
80
80
SharedRunnersEnabled bool `json:"shared_runners_enabled"`
81
+ GroupRunnersEnabled bool `json:"group_runners_enabled"`
82
+ RunnerTokenExpirationInterval int `json:"runner_token_expiration_interval"`
81
83
ForksCount int `json:"forks_count"`
82
84
StarCount int `json:"star_count"`
83
85
RunnersToken string `json:"runners_token"`
@@ -90,6 +92,7 @@ type Project struct {
90
92
RepositoryStorage string `json:"repository_storage"`
91
93
RequestAccessEnabled bool `json:"request_access_enabled"`
92
94
MergeMethod MergeMethodValue `json:"merge_method"`
95
+ CanCreateMergeRequestIn bool `json:"can_create_merge_request_in"`
93
96
ForkedFromProject * ForkParent `json:"forked_from_project"`
94
97
Mirror bool `json:"mirror"`
95
98
MirrorUserID int `json:"mirror_user_id"`
@@ -110,6 +113,10 @@ type Project struct {
110
113
PagesAccessLevel AccessControlValue `json:"pages_access_level"`
111
114
OperationsAccessLevel AccessControlValue `json:"operations_access_level"`
112
115
AnalyticsAccessLevel AccessControlValue `json:"analytics_access_level"`
116
+ EnvironmentsAccessLevel AccessControlValue `json:"environments_access_level"`
117
+ FeatureFlagsAccessLevel AccessControlValue `json:"feature_flags_access_level"`
118
+ InfrastructureAccessLevel AccessControlValue `json:"infrastructure_access_level"`
119
+ MonitorAccessLevel AccessControlValue `json:"monitor_access_level"`
113
120
AutocloseReferencedIssues bool `json:"autoclose_referenced_issues"`
114
121
SuggestionCommitMessage string `json:"suggestion_commit_message"`
115
122
SquashOption SquashOptionValue `json:"squash_option"`
@@ -129,6 +136,9 @@ type Project struct {
129
136
CIDefaultGitDepth int `json:"ci_default_git_depth"`
130
137
CIForwardDeploymentEnabled bool `json:"ci_forward_deployment_enabled"`
131
138
CISeperateCache bool `json:"ci_separated_caches"`
139
+ CIJobTokenScopeEnabled bool `json:"ci_job_token_scope_enabled"`
140
+ CIOptInJWT bool `json:"ci_opt_in_jwt"`
141
+ CIAllowForkPipelinesToRunInParentProject bool `json:"ci_allow_fork_pipelines_to_run_in_parent_project"`
132
142
PublicJobs bool `json:"public_jobs"`
133
143
BuildTimeout int `json:"build_timeout"`
134
144
AutoCancelPendingPipelines string `json:"auto_cancel_pending_pipelines"`
@@ -138,6 +148,7 @@ type Project struct {
138
148
BuildCoverageRegex string `json:"build_coverage_regex"`
139
149
IssuesTemplate string `json:"issues_template"`
140
150
MergeRequestsTemplate string `json:"merge_requests_template"`
151
+ IssueBranchTemplate string `json:"issue_branch_template"`
141
152
KeepLatestArtifact bool `json:"keep_latest_artifact"`
142
153
MergePipelinesEnabled bool `json:"merge_pipelines_enabled"`
143
154
MergeTrainsEnabled bool `json:"merge_trains_enabled"`
@@ -149,7 +160,9 @@ type Project struct {
149
160
BuildGitStrategy string `json:"build_git_strategy"`
150
161
EmailsDisabled bool `json:"emails_disabled"`
151
162
ExternalAuthorizationClassificationLabel string `json:"external_authorization_classification_label"`
163
+ RequirementsEnabled bool `json:"requirements_enabled"`
152
164
RequirementsAccessLevel AccessControlValue `json:"requirements_access_level"`
165
+ SecurityAndComplianceEnabled bool `json:"security_and_compliance_enabled"`
153
166
SecurityAndComplianceAccessLevel AccessControlValue `json:"security_and_compliance_access_level"`
154
167
MergeRequestDefaultTargetSelf bool `json:"mr_default_target_self"`
155
168
@@ -207,6 +220,7 @@ type Links struct {
207
220
Labels string `json:"labels"`
208
221
Events string `json:"events"`
209
222
Members string `json:"members"`
223
+ ClusterAgents string `json:"cluster_agents"`
210
224
}
211
225
212
226
// Permissions represents permissions.
@@ -307,6 +321,7 @@ type ListProjectsOptions struct {
307
321
Archived * bool `url:"archived,omitempty" json:"archived,omitempty"`
308
322
IDAfter * int `url:"id_after,omitempty" json:"id_after,omitempty"`
309
323
IDBefore * int `url:"id_before,omitempty" json:"id_before,omitempty"`
324
+ Imported * bool `url:"imported,omitempty" json:"imported,omitempty"`
310
325
LastActivityAfter * time.Time `url:"last_activity_after,omitempty" json:"last_activity_after,omitempty"`
311
326
LastActivityBefore * time.Time `url:"last_activity_before,omitempty" json:"last_activity_before,omitempty"`
312
327
Membership * bool `url:"membership,omitempty" json:"membership,omitempty"`
@@ -618,6 +633,7 @@ func (s *ProjectsService) GetProjectEvents(pid interface{}, opt *GetProjectEvent
618
633
// GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project
619
634
type CreateProjectOptions struct {
620
635
AllowMergeOnSkippedPipeline * bool `url:"allow_merge_on_skipped_pipeline,omitempty" json:"allow_merge_on_skipped_pipeline,omitempty"`
636
+ OnlyAllowMergeIfAllStatusChecksPassed * bool `url:"only_allow_merge_if_all_status_checks_passed" json:"only_allow_merge_if_all_status_checks_passed"`
621
637
AnalyticsAccessLevel * AccessControlValue `url:"analytics_access_level,omitempty" json:"analytics_access_level,omitempty"`
622
638
ApprovalsBeforeMerge * int `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
623
639
AutoCancelPendingPipelines * string `url:"auto_cancel_pending_pipelines,omitempty" json:"auto_cancel_pending_pipelines,omitempty"`
@@ -642,6 +658,7 @@ type CreateProjectOptions struct {
642
658
ImportURL * string `url:"import_url,omitempty" json:"import_url,omitempty"`
643
659
InitializeWithReadme * bool `url:"initialize_with_readme,omitempty" json:"initialize_with_readme,omitempty"`
644
660
IssuesAccessLevel * AccessControlValue `url:"issues_access_level,omitempty" json:"issues_access_level,omitempty"`
661
+ IssueBranchTemplate * string `url:"issue_branch_template,omitempty" json:"issue_branch_template,omitempty"`
645
662
LFSEnabled * bool `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
646
663
MergeCommitTemplate * string `url:"merge_commit_template,omitempty" json:"merge_commit_template,omitempty"`
647
664
MergeMethod * MergeMethodValue `url:"merge_method,omitempty" json:"merge_method,omitempty"`
@@ -660,6 +677,10 @@ type CreateProjectOptions struct {
660
677
Path * string `url:"path,omitempty" json:"path,omitempty"`
661
678
PublicBuilds * bool `url:"public_builds,omitempty" json:"public_builds,omitempty"`
662
679
ReleasesAccessLevel * AccessControlValue `url:"releases_access_level,omitempty" json:"releases_access_level,omitempty"`
680
+ EnvironmentsAccessLevel * AccessControlValue `url:"environments_access_level,omitempty" json:"environments_access_level,omitempty"`
681
+ FeatureFlagsAccessLevel * AccessControlValue `url:"feature_flags_access_level,omitempty" json:"feature_flags_access_level,omitempty"`
682
+ InfrastructureAccessLevel * AccessControlValue `url:"infrastructure_access_level,omitempty" json:"infrastructure_access_level,omitempty"`
683
+ MonitorAccessLevel * AccessControlValue `url:"monitor_access_level,omitempty" json:"monitor_access_level,omitempty"`
663
684
RemoveSourceBranchAfterMerge * bool `url:"remove_source_branch_after_merge,omitempty" json:"remove_source_branch_after_merge,omitempty"`
664
685
PrintingMergeRequestLinkEnabled * bool `url:"printing_merge_request_link_enabled,omitempty" json:"printing_merge_request_link_enabled,omitempty"`
665
686
RepositoryAccessLevel * AccessControlValue `url:"repository_access_level,omitempty" json:"repository_access_level,omitempty"`
@@ -669,6 +690,7 @@ type CreateProjectOptions struct {
669
690
ResolveOutdatedDiffDiscussions * bool `url:"resolve_outdated_diff_discussions,omitempty" json:"resolve_outdated_diff_discussions,omitempty"`
670
691
SecurityAndComplianceAccessLevel * AccessControlValue `url:"security_and_compliance_access_level,omitempty" json:"security_and_compliance_access_level,omitempty"`
671
692
SharedRunnersEnabled * bool `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
693
+ GroupRunnersEnabled * bool `url:"group_runners_enabled,omitempty" json:"group_runners_enabled,omitempty"`
672
694
ShowDefaultAwardEmojis * bool `url:"show_default_award_emojis,omitempty" json:"show_default_award_emojis,omitempty"`
673
695
SnippetsAccessLevel * AccessControlValue `url:"snippets_access_level,omitempty" json:"snippets_access_level,omitempty"`
674
696
SquashCommitTemplate * string `url:"squash_commit_template,omitempty" json:"squash_commit_template,omitempty"`
@@ -831,6 +853,7 @@ func (s *ProjectsService) CreateProjectForUser(user int, opt *CreateProjectForUs
831
853
// GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project
832
854
type EditProjectOptions struct {
833
855
AllowMergeOnSkippedPipeline * bool `url:"allow_merge_on_skipped_pipeline,omitempty" json:"allow_merge_on_skipped_pipeline,omitempty"`
856
+ OnlyAllowMergeIfAllStatusChecksPassed * bool `url:"only_allow_merge_if_all_status_checks_passed" json:"only_allow_merge_if_all_status_checks_passed"`
834
857
AnalyticsAccessLevel * AccessControlValue `url:"analytics_access_level,omitempty" json:"analytics_access_level,omitempty"`
835
858
ApprovalsBeforeMerge * int `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
836
859
AutoCancelPendingPipelines * string `url:"auto_cancel_pending_pipelines,omitempty" json:"auto_cancel_pending_pipelines,omitempty"`
@@ -856,6 +879,7 @@ type EditProjectOptions struct {
856
879
ForkingAccessLevel * AccessControlValue `url:"forking_access_level,omitempty" json:"forking_access_level,omitempty"`
857
880
ImportURL * string `url:"import_url,omitempty" json:"import_url,omitempty"`
858
881
IssuesAccessLevel * AccessControlValue `url:"issues_access_level,omitempty" json:"issues_access_level,omitempty"`
882
+ IssueBranchTemplate * string `url:"issue_branch_template,omitempty" json:"issue_branch_template,omitempty"`
859
883
IssuesTemplate * string `url:"issues_template,omitempty" json:"issues_template,omitempty"`
860
884
KeepLatestArtifact * bool `url:"keep_latest_artifact,omitempty" json:"keep_latest_artifact,omitempty"`
861
885
LFSEnabled * bool `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
@@ -880,6 +904,10 @@ type EditProjectOptions struct {
880
904
Path * string `url:"path,omitempty" json:"path,omitempty"`
881
905
PublicBuilds * bool `url:"public_builds,omitempty" json:"public_builds,omitempty"`
882
906
ReleasesAccessLevel * AccessControlValue `url:"releases_access_level,omitempty" json:"releases_access_level,omitempty"`
907
+ EnvironmentsAccessLevel * AccessControlValue `url:"environments_access_level,omitempty" json:"environments_access_level,omitempty"`
908
+ FeatureFlagsAccessLevel * AccessControlValue `url:"feature_flags_access_level,omitempty" json:"feature_flags_access_level,omitempty"`
909
+ InfrastructureAccessLevel * AccessControlValue `url:"infrastructure_access_level,omitempty" json:"infrastructure_access_level,omitempty"`
910
+ MonitorAccessLevel * AccessControlValue `url:"monitor_access_level,omitempty" json:"monitor_access_level,omitempty"`
883
911
RemoveSourceBranchAfterMerge * bool `url:"remove_source_branch_after_merge,omitempty" json:"remove_source_branch_after_merge,omitempty"`
884
912
PrintingMergeRequestLinkEnabled * bool `url:"printing_merge_request_link_enabled,omitempty" json:"printing_merge_request_link_enabled,omitempty"`
885
913
RepositoryAccessLevel * AccessControlValue `url:"repository_access_level,omitempty" json:"repository_access_level,omitempty"`
@@ -891,6 +919,7 @@ type EditProjectOptions struct {
891
919
SecurityAndComplianceAccessLevel * AccessControlValue `url:"security_and_compliance_access_level,omitempty" json:"security_and_compliance_access_level,omitempty"`
892
920
ServiceDeskEnabled * bool `url:"service_desk_enabled,omitempty" json:"service_desk_enabled,omitempty"`
893
921
SharedRunnersEnabled * bool `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
922
+ GroupRunnersEnabled * bool `url:"group_runners_enabled,omitempty" json:"group_runners_enabled,omitempty"`
894
923
ShowDefaultAwardEmojis * bool `url:"show_default_award_emojis,omitempty" json:"show_default_award_emojis,omitempty"`
895
924
SnippetsAccessLevel * AccessControlValue `url:"snippets_access_level,omitempty" json:"snippets_access_level,omitempty"`
896
925
SquashCommitTemplate * string `url:"squash_commit_template,omitempty" json:"squash_commit_template,omitempty"`
0 commit comments