File: //snap/google-cloud-cli/current/lib/surface/builds/connections/create/github_enterprise.yaml
- help_text:
brief: Create a Cloud Build Connection of type GitHub Enterprise.
description: |
Create a Cloud Build Connection of type GitHub Enterprise.
Connections for GitHub Enterprise can be created either by following an intallation process
(that requires manual steps in a web browser) or by providing all the properties of an
already-installed application as arguments to this command.
If the GitHub Enterprise server can only be accessed within a VPC, a Service Directory
service resource can be provided for connecting to it.
examples: |
To create a connection by following the installation process, provide only the connection
name and the host URI. If the server can only be accessed within a VPC, provide also the
Service Directory service resource:
$ {command} my-ghe-conn \
--project=myproj --region=us-central1
--host-uri=https://my.ghe-server.net
--service-directory-service=projects/myproj/namespaces/x/services/mysds
The command will print a URL to be opened in a web browser in order create and install a
GitHub App in that server. After following the URL, you can get the connection's installation
state with The ``describe'' command:
$ gcloud alpha builds connections describe my-ghe-conn --region=us-central1
If the connection's installation state is not COMPLETE yet, it will provide a link to continue
the installation process. Once the connection is in installation state COMPLETE, repositories
can be added to it (see ``gcloud'' alpha builds repositories create).
--
To create a complete connection (e.g. based on an existing installation),
provide all the parameters:
$ {command} my-ghe-conn \
--project=myproj --region=us-central1 \
--app-id=111 --app-slug=gcb-app \
--service-directory-service=projects/myproj/namespaces/x/services/mysds \
--private-key-secret-version=projects/myproj/secrets/pk/versions/1 \
--webhook-secret-secret-version=projects/myproj/secrets/whsecret/versions/1 \
--app-slug=myapp \
--app-installation-id=1234
Above command creates the connection in installation state COMPLETE, ready for adding
repositories.
command_type: CREATE
request:
collection: cloudbuild.projects.locations.connections
api_version: v2
static_fields:
"connection.githubEnterpriseConfig": {}
arguments:
resource:
help_text: Connection to create.
spec: !REF googlecloudsdk.command_lib.cloudbuild.resources_v2:connection
params:
- api_field: connection.githubEnterpriseConfig.hostUri
arg_name: host-uri
required: true
help_text: URI of the GitHub Enterprise server.
- group:
help_text: Group of arguments for configuring access through Service Directory.
params:
- api_field: connection.githubEnterpriseConfig.serviceDirectoryConfig.service
arg_name: service-directory-service
required: true
help_text: Service Directory service resource to use for accessing the GitHub Enterprise
Server. Necessary only if the server has no public access from the internet.
- api_field: connection.githubEnterpriseConfig.sslCa
arg_name: ssl-ca-file
help_text: File containing the SSL_CA to be used.
processor: googlecloudsdk.core.util.files:ReadFileContents
- group:
help_text: Group of arguments for the GitHub App properties.
params:
- api_field: connection.githubEnterpriseConfig.appId
arg_name: app-id
required: true
help_text: App ID of the GitHub App in the GitHub Enterprise server.
- api_field: connection.githubEnterpriseConfig.appSlug
arg_name: app-slug
required: true
help_text: |-
App slug (url-friendly name) of the GitHub App. When seeing the configuration
page of the App (e.g. in https://my-ghe-server.net/settings/apps/my-app), the app-slug
is the last component of the URL path ("my-app" in that example).
- api_field: connection.githubEnterpriseConfig.privateKeySecretVersion
arg_name: private-key-secret-version
required: true
help_text: Secret containing the private key of the GitHub App.
- api_field: connection.githubEnterpriseConfig.webhookSecretSecretVersion
arg_name: webhook-secret-secret-version
required: true
help_text: |-
Secret containing the webhook secret string for validating webhook events generated by
the GitHub App.
- api_field: connection.githubEnterpriseConfig.appInstallationId
arg_name: app-installation-id
help_text: Installation ID of the Cloud Build GitHub App.
output:
# Print the installation instruction and link (if any) after creation.
format: 'csv[no-heading,separator="\\n"](installationState.stage,installationState.message,installationState.actionUri)'
async:
collection: cloudbuild.projects.locations.operations