Unary · Runner Configurations
Updates an existing SCM integration.
Use this method to:
- Modify integration settings
- Update credentials
- Change configuration
Examples
-
Update integration:
Updates OAuth credentials.
id: "d2c94c27-3b76-4a42-b88c-95a85e392c68" oauthClientId: "new_client_id" oauthPlaintextClientSecret: "new_client_secret"
Endpoint
POST /api/gitpod.v1.RunnerConfigurationService/UpdateSCMIntegration
https://app.ona.com with that domain.
Request example
export ONA_HOST=https://app.ona.com
export ONA_API_KEY=<your-token>
curl --request POST \
--url "$ONA_HOST/api/gitpod.v1.RunnerConfigurationService/UpdateSCMIntegration" \
--header "Authorization: Bearer $ONA_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"id": "<id>"
}'
import gitpod.v1.runner_configuration_pb2 as runner_configuration_pb2
from ona_sdk import create_client_from_env
ona = create_client_from_env()
request = runner_configuration_pb2.UpdateSCMIntegrationRequest(
id="<id>",
)
response = ona.services.runner_configuration.update_scm_integration(request)
print(response)
import { create } from "@bufbuild/protobuf";
import { createClientFromEnv } from "@gitpod/sdk";
import { UpdateSCMIntegrationRequestSchema } from "@gitpod/sdk/gitpod/v1/runner_configuration_pb";
async function main() {
const ona = createClientFromEnv();
const request = create(UpdateSCMIntegrationRequestSchema, {
id: "<id>",
});
const response = await ona.services.runnerConfiguration.updateSCMIntegration(request);
console.log(response);
}
main().catch(console.error);
package main
import (
"context"
"fmt"
"log"
"connectrpc.com/connect"
"github.com/gitpod-io/gitpod-sdk-go/sdk"
gitpodpb "github.com/gitpod-io/gitpod-sdk-go/v1"
)
func main() {
ona, err := sdk.NewFromEnv()
if err != nil {
log.Fatal(err)
}
request := connect.NewRequest(&gitpodpb.UpdateSCMIntegrationRequest{
Id: "<id>",
})
response, err := ona.Services.RunnerConfiguration.UpdateSCMIntegration(context.Background(), request)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Msg)
}
{
"id": "<id>"
}
Request
gitpod.v1.UpdateSCMIntegrationRequest
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | Constraints: string.uuid=true. |
oauthClientId | string | No | oauth_client_id can be set to update the OAuth app’s client ID. If an empty string is set, the OAuth configuration will be removed (regardless of whether a client secret is set), and any existing Host Authentication Tokens for the SCM integration’s runner and host that were created using the OAuth app will be deleted. This might lead to users being unable to access their repositories until they re-authenticate. |
oauthPlaintextClientSecret | string | No | oauth_plaintext_client_secret can be set to update the OAuth app’s client secret. The cleartext secret will be encrypted with the runner’s public key before being stored. |
pat | boolean | No | pat can be set to enable or disable Personal Access Tokens support. When disabling PATs, any existing Host Authentication Tokens for the SCM integration’s runner and host that were created using a PAT will be deleted. This might lead to users being unable to access their repositories until they re-authenticate. |
issuerUrl | string | No | issuer_url can be set to override the authentication provider URL, if it doesn’t match the SCM host. |
virtualDirectory | string | No | virtual_directory is the virtual directory path for Azure DevOps Server (e.g., “/tfs”). This field is only used for Azure DevOps Server SCM integrations and should be empty for other SCM types. Azure DevOps Server APIs work without collection when PAT scope is ‘All accessible organizations’. |
Response
gitpod.v1.UpdateSCMIntegrationResponse
This message has no fields.