Skip to content

Commit 5a976c6

Browse files
Merge pull request mendix#11055 from mendix/kk-pmp-v
PMP version control updates
2 parents 51af012 + 0aa9cc2 commit 5a976c6

6 files changed

Lines changed: 129 additions & 43 deletions

File tree

content/en/docs/private-platform/configuration/pmp-version-control.md

Lines changed: 129 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,26 @@ To select the repository type, perform the following steps:
2121

2222
1. Switch to Admin Mode by clicking the profile picture in the top right corner of the screen and selecting **Switch to Admin Mode**.
2323
2. In the left navigation menu, open the **Settings** section.
24-
3.Click **Version Control**.
24+
3. Click **Version Control**.
2525

2626
## GitLab
2727

28-
This section describes the configuration of a GitLab repository.
28+
This section describes the configuration of a GitLab repository. Private Mendix Platform supports both GitLab SaaS and self‑managed GitLab instances.
2929

30-
* **Host URL** - This is the host URL of your GitLab server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your GitLab server host name is mygitlab.example.com, you should input `https://mygitlab.example.com` here.
30+
### Prerequisites
31+
32+
Before configuring GitLab for Private Mendix Platform, ensure that you fulfill the following prerequisites:
33+
34+
* You have access to a GitLab SaaS account or a self‑managed GitLab server.
35+
* A GitLab group exists to host applications created by the Private Mendix Platform.
36+
* You can generate Personal Access Tokens (PATs) with the required scopes.
37+
* For Automatic Access Provisioning, a GitLab administrator (root) Personal Access Token is available.
38+
39+
### Configuration
40+
41+
* **Host URL** - This is the host URL of your GitLab server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your GitLab server host name is `mygitlab.example.com`, you should input `https://mygitlab.example.com` here.
3142
* **Group ID** - All the apps on Private Mendix Platform are created under a GitLab group. You need to create a group in GitLab and then input the *Group ID* in this field.
32-
* **Group owner PAT** - This is the PAT from the above group owner. When generating the access token for group owner, select all scopes and set expiration date to never.
43+
* **Group owner PAT** - This is the PAT from the above group owner. When generating the access token for group owner, select all scopes and set expiration date to **never**.
3344
* **Automatic Access Provisioning** - If you use a self-managed GitLab server, you can enable this feature to automatically create GitLab user and PAT for private platform users. During logging in the platform, user email is used as unique key to search in GitLab server. If this email name is not registered in GitLab, Private Mendix Platform creates a GitLab user with this email. A PAT is then generated for this user.
3445
* **Admin PAT** - This is the PAT of the GitLab administrator, which is the root user access token with all scopes selected.
3546

@@ -45,63 +56,127 @@ When the **Automatic Access Provisioning** is disabled, private platform users n
4556
Private Mendix Platform supports only the following predefined GitLab push rules:
4657

4758
* Reject unverified users.
59+
4860
Users can only push commits to this repository if the committer email is one of their own verified emails.
49-
* Reject inconsistent user names.
61+
62+
* Reject inconsistent user names.
63+
5064
Users can only push commits to this repository if the commit author name is consistent with their GitLab account name.
51-
* Check whether the commit author is a GitLab user.
65+
66+
* Check whether the commit author is a GitLab user
67+
5268
Commits are restricted to existing GitLab users.
5369

70+
{{< figure src="/attachments/private-platform/pmp-vc1.png" alt="Version Control Settings for Gitlab" class="no-border" >}}
71+
5472
## GitHub
5573

56-
This section describes the configuration of a GitHub repository.
74+
This section describes the configuration of a GitHub repository. Private Mendix Platform supports GitHub Enterprise Server and GitHub Enterprise Cloud.
75+
76+
### Prerequisites
77+
78+
Before configuring GitHub for Private Mendix Platform, ensure that you fulfill the following prerequisites:
79+
80+
* You have access to GitHub Enterprise Server or GitHub Enterprise Cloud.
81+
* A GitHub organization exists to host applications created by the Private Mendix Platform.
82+
* You can generate Personal Access Tokens (PATs) with sufficient permissions to manage repositories and organization access.
83+
* For GitHub Enterprise Server with Automatic Access Provisioning enabled, a GitHub administrator‑level PAT is available.
84+
* For GitHub Enterprise Cloud with Data Residency enabled, an OAuth App can be created in the GitHub organisation.
85+
86+
### Common Configuration {#common-config}
87+
88+
The following configuration applies to all GitHub server types, unless stated otherwise.
5789

58-
* **Host URL** - This is the host URL of your GitHub server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your GitHub server host name is mygithub.example.com, you should input `https://mygithub.example.com` here.
5990
* **Organization Name** - All the apps on Private Mendix Platform are created under an organization. You need to create an organization to host all the Mendix apps. Type the organization name into this field.
60-
* **Organization Owner PAT** - Input the classic PAT of this organization owner into this field. You need select at least these scopes: `repo admin:org user delete_repo`. The expiration date is set to **No Expiration**.
61-
* **Automatic Access Provisioning** - If you are running a self-managed GitHub enterprise server, you can enable this feature to automatically create GitHub user and PAT for private platform users. During logging in to the platform, the user email is used as unique key to search in GitHub server. If this email name is not registered in GitHub, Private Mendix Platform creates a GitHub user with this email. A PAT is then generated for this user.
62-
* **AdminPAT** - This is the PAT of the GitHub enterprise instance administrator. When generating this PAT, all scopes should be selected.
91+
* **Organization Owner PAT** - This is the Personal Access Token (PAT) of the organization owner. The PAT must have sufficient permissions to manage repositories and organization access. It is recommended to use a classic PAT with the required scopes selected and the expiration date set to **No Expiration**.
6392

64-
### Normal User Credentials
93+
### GitHub Enterprise Server
6594

66-
When the **Automatic Access Provisioning** is disabled, Private Mendix Platform users need to manually input the GitHub user name and PAT at first login.
95+
* **Host URL** - This is the host URL of your GitHub server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your GitHub server host name is `mygithub.example.com`, you should input `https://mygithub.example.com` here.
96+
* **Automatic Access Provisioning** - If you are running a self-managed GitHub enterprise server, you can enable this feature to automatically create GitHub users and Personal Access Tokens for Private Mendix Platform users. When logging in to the platform, the user email is used as unique key to search in GitHub server. If this email name is not registered in GitHub, Private Mendix Platform creates a GitHub user with this email. A PAT is then generated for this user.
97+
* **AdminPAT** - This is the PAT of the GitHub Enterprise Server administrator. The token must be generated with sufficient privileges to manage users and access permissions.
98+
99+
{{< figure src="/attachments/private-platform/pmp-vc2.png" alt="Version Control Settings for GitHub Enterprise Server" class="no-border" >}}
100+
101+
### GitHub Enterprise Cloud
67102

68103
{{% alert color="info" %}}
69-
This user needs to be invited into this organization as a organization member.
104+
Automatic access provisioning is not supported for GitHub Enterprise Cloud.
70105
{{% /alert %}}
71106

72-
* **User Name** - The user name (login name) of this GitHub user.
73-
* **Personal Access Token** - The access token of this GitHub user. To make it easier, you can also select all the scopes. The expiration date is set to No Expiration.
107+
* **Data Residency** - When toggled **off**, you only need to configure the [common settings](#common-config). When toggled **on**, OAuth‑based authentication is required.
108+
* **Dedicated Host URL** – This is the dedicated GitHub Enterprise Cloud host URL associated with the data residency configuration for your organization.
109+
* **OAuth App Configuration** – You must create an OAuth App in GitHub with the **Authorization Callback URL** set to the callback URL provided by the Private Mendix Platform.
110+
111+
* **Client ID** – The Client ID generated by the GitHub OAuth App.
112+
* **Client Secret** – The Client Secret generated by the GitHub OAuth App.
113+
114+
{{< figure src="/attachments/private-platform/pmp-vc3.png" alt="Version Control Settings for GitHub Enterprise Cloud" class="no-border" >}}
115+
116+
### Normal User Credentials
117+
118+
When Automatic Access Provisioning is disabled or not available, Private Mendix Platform users must manually enter their GitHub credentials at first login. The user must be invited to the organization as an organization member.
119+
120+
* **User Name** – The GitHub login name of this user.
121+
* **Personal Access Token** – The Personal Access Token of this GitHub user. The token must have sufficient permissions to access and push to the assigned repositories.
74122

75123
## Bitbucket
76124

77-
This section describes the configuration of a Bitbucket repository.
125+
This section describes the configuration of a Bitbucket repository. Private Mendix Platform supports self‑managed Bitbucket Enterprise Servers.
126+
127+
## Prerequisites
128+
129+
Before configuring Bitbucket for Private Mendix Platform, ensure that you fulfill the following prerequisites:
130+
131+
* You have access to a self‑managed Bitbucket Enterprise Server.
132+
* A Bitbucket project exists to host applications created by the Private Mendix Platform.
133+
* You can generate Personal Access Tokens (PATs) for Bitbucket users.
134+
* For Automatic Access Provisioning, Bitbucket system administrator credentials are available.
135+
136+
## Configuration
137+
138+
* **Host URL** - This is the host URL of your Bitbucket enterprise server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your Bitbucket enterprise server host name is `mybitbucket.example.com`, you should input `https://mybitbucket.example.com` here.
139+
* **Project Key** - All the Mendix apps on the Private Mendix Platform are created under a Bitbucket project. You must create an project to host all the Mendix apps and input the project key in this field. You can view the project key at `https://mybitbucket.example.com/projects`.
140+
* **Project Admin PAT** - This is the Personal Access Token of a Bitbucket project administrator user.
141+
142+
### Automatic Access Provisioning
78143

79-
* **Host URL** - This is the host URL of your Bitbucket enterprise server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your Bitbucket enterprise server host name is mybitbucket.example.com, you should input `https://mybitbucket.example.com` here.
80-
* **Project key** - All the Mendix apps on private platform are created under a project. You need to create an project to host all the Mendix apps. Input the project key in this field. You can go to `https://mybitbucket.example.com/projects` to view the project key.
81-
* **Project Admin PAT** - Input the access token of a project admin user.
82-
* **Automatic Access Provisioning** - If you are running a self managed Bitbucket enterprise server, you can enable this feature to automatically create Bitbucket user and PAT for private platform users. During logging in to the platform, the user email is used as unique key to search in Bitbucket server. If this email name is not registered in Bitbucket, Private Mendix Platform creates a Bitbucket user with this email as the user name. A PAT is then generated for this user.
144+
If you are running a self‑managed Bitbucket Enterprise Server, you can enable this feature to automatically create Bitbucket users and Personal Access Tokens for Private Mendix Platform users.
83145

84-
Bitbucket enterprise server allows to use same email for multiple users. To make the Bitbucket user unique by email, the email name is used to be the Bitbucket user name when doing the automatic provisioning.
146+
During login to the platform, the user email address is used as a unique key to search in the Bitbucket server. If the email address is not registered in Bitbucket, Private Mendix Platform creates a Bitbucket user using the email address as the username. A Personal Access Token is then generated for this user.
85147

86-
* **Admin Username** - Bitbucket system admin user name.
87-
* **Admin Password** - Bitbucket system admin user password.
148+
Bitbucket Enterprise Server allows the same email address to be associated with multiple users. To ensure uniqueness during automatic provisioning, the user email address is used as the Bitbucket username.
149+
150+
* **Admin Username** – The username of the Bitbucket system administrator.
151+
* **Admin Password** – The password of the Bitbucket system administrator.
88152

89153
### Normal User Credentials
90154

91-
When the Automatic Access Provisioning is disabled, Private Mendix Platform users need to manually input the Bitbucket user name and PAT at first login.
155+
When the Automatic Access Provisioning is disabled, Private Mendix Platform users must manually input the Bitbucket credentials at first login.
156+
157+
This user needs to be invited into the project with the **Create repository** permission. You can add users and grant permissions at `https://mybitbucket.example.com/projects/<PROJECT KEY>/permissions`.
92158

93-
This user needs to be invited into the project with the **Create repository** permission. You can go to `https://mybitbucket.example.com/projects/<PROJECT KEY>/permissions` to add a user and grant permission.
159+
* **User Name** - The Bitbucket login name of this user.
160+
* **Personal Access Token** - The Personal Access Token of this Bitbucket user. The permission level must be at least **Project Admin**, and the expiration date should be set to **No Expiration**.
94161

95-
* **User Name** - The user name (login name) of this Bitbucket user.
96-
* **Personal Access Token** - The Access token of this Bitbucket user. The permission should be at least `Project Admin`. The expiration date is set to **No Expiration**.
162+
{{< figure src="/attachments/private-platform/pmp-vc4.png" alt="Version Control Settings for Bitbucket" class="no-border" >}}
97163

98164
## AzureDevOps
99165

100-
This section describes the configuration of an AzureDevOps repository.
166+
This section describes the configuration of an Azure DevOps repository for use with the Private Mendix Platform.
167+
168+
### Prerequisites
169+
170+
Before configuring Azure DevOps for Private Mendix Platform, ensure that you fulfill the following prerequisites:
171+
172+
* You have access to an Azure DevOps organization.
173+
* An Azure DevOps project exists to host applications created by the Private Mendix Platform.
174+
* You can generate Personal Access Tokens (PATs) in Azure DevOps.
175+
* A Microsoft Entra ID (Azure AD) application can be registered.
101176

102177
### Microsoft Entra ID Configuration
103178

104-
To use AzureDevOps as the repository, first make sure to register an app in [Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application), and take note of the following information:
179+
To use AzureDevOps as the repository, you must first register an application in [Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application), and take note of the following information:
105180

106181
* Application ID (client ID)
107182
* Directory ID (tenant ID)
@@ -113,23 +188,32 @@ For the web callback URL, enter a URL in the following format: `YOUR_APP_ROOT/oa
113188

114189
### Azure DevOps Configuration
115190

116-
In Azure DevOps, you must create an organization and a PAT for the admin user. You must also create the users that will use the Azure DevOps with Private Mendix Platform, and assign them Basic access level.
191+
In Azure DevOps, perform the following tasks:
192+
193+
1. Create an organization.
194+
2. Generate a Personal Access Token (PAT) for the admin user.
195+
3. Create users who will work with Private Mendix Platform.
196+
4. Assign those users the Basic access level.
117197

118198
### Private Mendix Platform Configuration
119199

120-
* **Host URL** - This is the host URL of your Azure DevOps enterprise server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your Azure DevOps enterprise server host name is myazure.example.com, you should input `https://myazure.example.com` here.
121-
* **Org** - Input the name of the organization that you created in Azure DevOps.
122-
* **Project Admin PAT** - Input the admin user PAT that you created in Azure DevOps.
123-
* **Azure OAuth Config** - Click **New**, and then fill out the following information:
200+
* **Host URL** - This is the host URL of your Azure DevOps enterprise server. The format should be `https://<HOST>`. There is no slash in the end. For example, if your Azure DevOps enterprise server host name is `myazure.example.com`, you should input `https://myazure.example.com` here.
201+
* **Organization** – Enter the name of the Azure DevOps organization that you created.
202+
* **Organization Admin PAT** – Enter the Personal Access Token of the Azure DevOps organization admin user.
203+
204+
#### Azure OAuth Config
124205

125-
* **Name** - Enter a meaningful name
126-
* **Client ID** - Enter the Application ID that you obtained from Microsoft Entra ID
127-
* **Tenant ID** - Enter the Directory ID that you obtained from Microsoft Entra ID
128-
* **Client Secret** - Enter the Client Secret that you obtained from Microsoft Entra ID
129-
* **Resource** - `499b84ac-1321-427f-aa17-267ca6975798/.default`
130-
* **Single O auth account** - **No**
131-
* **Default config** - **Yes**
132-
* **Active** - **Yes**
206+
1. Click **New**.
207+
2. Fill out the following information:
208+
209+
* **Name** - Enter a meaningful name for the OAuth configuration.
210+
* **Client ID** - Enter the Application ID that you obtained from Microsoft Entra ID.
211+
* **Tenant ID** - Enter the Directory ID that you obtained from Microsoft Entra ID.
212+
* **Client Secret** - Enter the Client Secret that you obtained from Microsoft Entra ID.
213+
* **Resource** - Enter the following value: `499b84ac-1321-427f-aa17-267ca6975798/.default`.
214+
* **Single OAuth Account** - Set to **No**.
215+
* **Default config** - Set to **Yes**.
216+
* **Active** - Set to **Yes**.
133217

134218
#### Normal User Credentials
135219

@@ -140,3 +224,5 @@ Users must generate their own PAT to work with Azure DevOps by doing the followi
140224
3. Click **Register New Credentials** > **Azure DevOps**, then click **Get My Azure PAT**.
141225
4. On the Microsoft login screen, input you Azure user credentials to verify and authorize the app.
142226
5. Wait for the PAT and Azure user email to be displayed on the **Service Credentials** page in Private Mendix Platform.
227+
228+
{{< figure src="/attachments/private-platform/pmp-vc5.png" alt="Version Control Settings for Azure DevOps" class="no-border" >}}
384 KB
Loading
414 KB
Loading
436 KB
Loading
421 KB
Loading
315 KB
Loading

0 commit comments

Comments
 (0)