Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
佳 邓
Gitlab4j Api
Commits
4d237225
Commit
4d237225
authored
Oct 20, 2023
by
Jeremie Bresson
Browse files
Merge remote-tracking branch 'origin/main' into 6.x
parents
85904f5c
1b3763ea
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/gitlab4j/api/GroupApi.java
View file @
4d237225
...
@@ -28,6 +28,7 @@ import org.gitlab4j.api.models.IterationFilter;
...
@@ -28,6 +28,7 @@ import org.gitlab4j.api.models.IterationFilter;
import
org.gitlab4j.api.models.LdapGroupLink
;
import
org.gitlab4j.api.models.LdapGroupLink
;
import
org.gitlab4j.api.models.Member
;
import
org.gitlab4j.api.models.Member
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.SamlGroupLink
;
import
org.gitlab4j.api.models.Variable
;
import
org.gitlab4j.api.models.Variable
;
import
org.gitlab4j.api.models.Visibility
;
import
org.gitlab4j.api.models.Visibility
;
import
org.gitlab4j.api.utils.ISO8601
;
import
org.gitlab4j.api.utils.ISO8601
;
...
@@ -1183,9 +1184,9 @@ public class GroupApi extends AbstractApi {
...
@@ -1183,9 +1184,9 @@ public class GroupApi extends AbstractApi {
/**
/**
* Get the list of LDAP group links.
* Get the list of LDAP group links.
*
*
* <pre><code>GitLab Endpoint: GET /groups/:id/ldap_group_links</code></pre>
* <pre><code>GitLab Endpoint: GET /groups/:id/ldap_group_links</code></pre>
*
*
* @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
* @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
* @return a list of LDAP group links
* @return a list of LDAP group links
* @throws GitLabApiException if any exception occurs
* @throws GitLabApiException if any exception occurs
...
@@ -1275,6 +1276,74 @@ public class GroupApi extends AbstractApi {
...
@@ -1275,6 +1276,74 @@ public class GroupApi extends AbstractApi {
delete
(
Response
.
Status
.
OK
,
null
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"ldap_group_links"
,
provider
,
cn
);
delete
(
Response
.
Status
.
OK
,
null
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"ldap_group_links"
,
provider
,
cn
);
}
}
/**
* Get the list of SAML group links.
*
* <pre><code>GitLab Endpoint: GET /groups/:id/saml_group_links</code></pre>
*
* @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
* @return a list of SAML group links
* @throws GitLabApiException if any exception occurs
*/
public
List
<
SamlGroupLink
>
getSamlGroupLinks
(
Object
groupIdOrPath
)
throws
GitLabApiException
{
Response
response
=
get
(
Response
.
Status
.
OK
,
null
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"saml_group_links"
);
return
(
response
.
readEntity
(
new
GenericType
<
List
<
SamlGroupLink
>>()
{}));
}
/**
* Adds an SAML group link.
*
* <pre><code>GitLab Endpoint: POST /groups/:id/saml_group_links</code></pre>
*
* @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
* @param samlGroupName the name of the SAML group
* @param groupAccess the minimum access level for members of the SAML group
* @throws GitLabApiException if any exception occurs
*/
public
void
addSamlGroupLink
(
Object
groupIdOrPath
,
String
samlGroupName
,
AccessLevel
groupAccess
)
throws
GitLabApiException
{
if
(
groupAccess
==
null
)
{
throw
new
RuntimeException
(
"groupAccess cannot be null or empty"
);
}
addSamlGroupLink
(
groupIdOrPath
,
samlGroupName
,
groupAccess
.
toValue
());
}
/**
* Adds an SAML group link.
*
* <pre><code>GitLab Endpoint: POST /groups/:id/saml_group_links</code></pre>
*
* @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
* @param samlGroupName the name of the SAML group
* @param groupAccess the minimum access level for members of the SAML group
* @throws GitLabApiException if any exception occurs
*/
public
void
addSamlGroupLink
(
Object
groupIdOrPath
,
String
samlGroupName
,
Integer
groupAccess
)
throws
GitLabApiException
{
GitLabApiForm
formData
=
new
GitLabApiForm
()
.
withParam
(
"saml_group_name"
,
samlGroupName
,
true
)
.
withParam
(
"access_level"
,
groupAccess
,
true
);
post
(
Response
.
Status
.
CREATED
,
formData
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"saml_group_links"
);
}
/**
* Deletes an SAML group link.
*
* <pre><code>GitLab Endpoint: DELETE /groups/:id/saml_group_links/:cn</code></pre>
*
* @param groupIdOrPath the group ID, path of the group, or a Group instance holding the group ID or path
* @param samlGroupName the name of the SAML group to delete
* @throws GitLabApiException if any exception occurs
*/
public
void
deleteSamlGroupLink
(
Object
groupIdOrPath
,
String
samlGroupName
)
throws
GitLabApiException
{
if
(
samlGroupName
==
null
||
samlGroupName
.
trim
().
isEmpty
())
{
throw
new
RuntimeException
(
"samlGroupName cannot be null or empty"
);
}
delete
(
Response
.
Status
.
OK
,
null
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"saml_group_links"
,
samlGroupName
);
}
/**
/**
* Get list of a group’s variables.
* Get list of a group’s variables.
*
*
...
@@ -1961,7 +2030,7 @@ public class GroupApi extends AbstractApi {
...
@@ -1961,7 +2030,7 @@ public class GroupApi extends AbstractApi {
delete
(
Response
.
Status
.
OK
,
null
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"custom_attributes"
,
key
);
delete
(
Response
.
Status
.
OK
,
null
,
"groups"
,
getGroupIdOrPath
(
groupIdOrPath
),
"custom_attributes"
,
key
);
}
}
/**
/**
* Lists group iterations.
* Lists group iterations.
*
*
...
...
src/main/java/org/gitlab4j/api/models/SamlGroupLink.java
0 → 100644
View file @
4d237225
package
org.gitlab4j.api.models
;
import
org.gitlab4j.api.utils.JacksonJson
;
public
class
SamlGroupLink
{
private
String
name
;
private
AccessLevel
accessLevel
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
aName
)
{
this
.
name
=
aName
;
}
public
AccessLevel
getAccessLevel
()
{
return
accessLevel
;
}
public
void
setAccessLevel
(
AccessLevel
aAccessLevel
)
{
accessLevel
=
aAccessLevel
;
}
@Override
public
String
toString
()
{
return
(
JacksonJson
.
toJsonString
(
this
));
}
}
src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java
View file @
4d237225
...
@@ -119,6 +119,7 @@ import org.gitlab4j.api.models.RepositoryFile;
...
@@ -119,6 +119,7 @@ import org.gitlab4j.api.models.RepositoryFile;
import
org.gitlab4j.api.models.RepositoryFileResponse
;
import
org.gitlab4j.api.models.RepositoryFileResponse
;
import
org.gitlab4j.api.models.Runner
;
import
org.gitlab4j.api.models.Runner
;
import
org.gitlab4j.api.models.RunnerDetail
;
import
org.gitlab4j.api.models.RunnerDetail
;
import
org.gitlab4j.api.models.SamlGroupLink
;
import
org.gitlab4j.api.models.SearchBlob
;
import
org.gitlab4j.api.models.SearchBlob
;
import
org.gitlab4j.api.models.Snippet
;
import
org.gitlab4j.api.models.Snippet
;
import
org.gitlab4j.api.models.SshKey
;
import
org.gitlab4j.api.models.SshKey
;
...
@@ -816,6 +817,12 @@ public class TestGitLabApiBeans {
...
@@ -816,6 +817,12 @@ public class TestGitLabApiBeans {
assertTrue
(
compareJson
(
link
,
"ldap-group-link.json"
));
assertTrue
(
compareJson
(
link
,
"ldap-group-link.json"
));
}
}
@Test
public
void
testSamlGroupLink
()
throws
Exception
{
SamlGroupLink
link
=
unmarshalResource
(
SamlGroupLink
.
class
,
"saml-group-link.json"
);
assertTrue
(
compareJson
(
link
,
"saml-group-link.json"
));
}
@Test
@Test
public
void
testSearchBlobs
()
throws
Exception
{
public
void
testSearchBlobs
()
throws
Exception
{
List
<
SearchBlob
>
searchResults
=
unmarshalResourceList
(
SearchBlob
.
class
,
"wiki-blobs.json"
);
List
<
SearchBlob
>
searchResults
=
unmarshalResourceList
(
SearchBlob
.
class
,
"wiki-blobs.json"
);
...
...
src/test/resources/org/gitlab4j/api/saml-group-link.json
0 → 100644
View file @
4d237225
{
"access_level"
:
30
,
"name"
:
"A_GITLAB_DEVELOPER"
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment