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
df7e1ec8
Commit
df7e1ec8
authored
Nov 28, 2018
by
Greg Messner
Browse files
Added support for transfer project (#276).
parent
437b75a9
Changes
3
Hide whitespace changes
Inline
Side-by-side
example-test-gitlab4j.properties
View file @
df7e1ec8
...
@@ -20,6 +20,9 @@ TEST_GROUP=
...
@@ -20,6 +20,9 @@ TEST_GROUP=
TEST_GROUP_PROJECT
=
TEST_GROUP_PROJECT
=
TEST_GROUP_MEMBER_USERNAME
=
TEST_GROUP_MEMBER_USERNAME
=
# OPTIONAL: Used to test transfer project
TEST_XFER_NAMESPACE
=
# OPTIONAL: To test oauth2Login, set these properties
# OPTIONAL: To test oauth2Login, set these properties
TEST_LOGIN_USERNAME
=
TEST_LOGIN_USERNAME
=
TEST_LOGIN_PASSWORD
=
TEST_LOGIN_PASSWORD
=
...
...
src/main/java/org/gitlab4j/api/ProjectApi.java
View file @
df7e1ec8
...
@@ -2165,4 +2165,20 @@ public class ProjectApi extends AbstractApi implements Constants {
...
@@ -2165,4 +2165,20 @@ public class ProjectApi extends AbstractApi implements Constants {
Response
response
=
get
(
Response
.
Status
.
OK
,
null
,
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"languages"
);
Response
response
=
get
(
Response
.
Status
.
OK
,
null
,
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"languages"
);
return
(
response
.
readEntity
(
new
GenericType
<
Map
<
String
,
Float
>>()
{}));
return
(
response
.
readEntity
(
new
GenericType
<
Map
<
String
,
Float
>>()
{}));
}
}
/**
* Transfer a project to a new namespace. This was added in GitLab 11.1
*
* PUT /projects/:id/transfer.
*
* @param projectIdOrPath projectIdOrPath the project in the form of an Integer(ID), String(path), or Project instance, required
* @param namespace the namespace to transfer the project to
* @return the updated Project
* @throws GitLabApiException if any exception occurs
*/
public
Project
transferProject
(
Object
projectIdOrPath
,
String
namespace
)
throws
GitLabApiException
{
GitLabApiForm
formData
=
new
GitLabApiForm
().
withParam
(
"namespace"
,
namespace
,
true
);
Response
response
=
put
(
Response
.
Status
.
OK
,
formData
.
asMap
(),
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"transfer"
);
return
(
response
.
readEntity
(
Project
.
class
));
}
}
}
\ No newline at end of file
src/test/java/org/gitlab4j/api/TestProjectApi.java
View file @
df7e1ec8
...
@@ -71,6 +71,7 @@ public class TestProjectApi {
...
@@ -71,6 +71,7 @@ public class TestProjectApi {
private
static
final
String
TEST_PRIVATE_TOKEN
;
private
static
final
String
TEST_PRIVATE_TOKEN
;
private
static
final
String
TEST_GROUP
;
private
static
final
String
TEST_GROUP
;
private
static
final
String
TEST_GROUP_PROJECT
;
private
static
final
String
TEST_GROUP_PROJECT
;
private
static
final
String
TEST_XFER_NAMESPACE
;
static
{
static
{
TEST_NAMESPACE
=
TestUtils
.
getProperty
(
"TEST_NAMESPACE"
);
TEST_NAMESPACE
=
TestUtils
.
getProperty
(
"TEST_NAMESPACE"
);
...
@@ -79,11 +80,13 @@ public class TestProjectApi {
...
@@ -79,11 +80,13 @@ public class TestProjectApi {
TEST_PRIVATE_TOKEN
=
TestUtils
.
getProperty
(
"TEST_PRIVATE_TOKEN"
);
TEST_PRIVATE_TOKEN
=
TestUtils
.
getProperty
(
"TEST_PRIVATE_TOKEN"
);
TEST_GROUP
=
TestUtils
.
getProperty
(
"TEST_GROUP"
);
TEST_GROUP
=
TestUtils
.
getProperty
(
"TEST_GROUP"
);
TEST_GROUP_PROJECT
=
TestUtils
.
getProperty
(
"TEST_GROUP_PROJECT"
);
TEST_GROUP_PROJECT
=
TestUtils
.
getProperty
(
"TEST_GROUP_PROJECT"
);
TEST_XFER_NAMESPACE
=
TestUtils
.
getProperty
(
"TEST_XFER_NAMESPACE"
);
}
}
private
static
final
String
TEST_PROJECT_NAME_1
=
"test-gitlab4j-create-project"
;
private
static
final
String
TEST_PROJECT_NAME_1
=
"test-gitlab4j-create-project"
;
private
static
final
String
TEST_PROJECT_NAME_2
=
"test-gitlab4j-create-project-2"
;
private
static
final
String
TEST_PROJECT_NAME_2
=
"test-gitlab4j-create-project-2"
;
private
static
final
String
TEST_PROJECT_NAME_UPDATE
=
"test-gitlab4j-create-project-update"
;
private
static
final
String
TEST_PROJECT_NAME_UPDATE
=
"test-gitlab4j-create-project-update"
;
private
static
final
String
TEST_XFER_PROJECT_NAME
=
"test-gitlab4j-xfer-project"
;
private
static
GitLabApi
gitLabApi
;
private
static
GitLabApi
gitLabApi
;
public
TestProjectApi
()
{
public
TestProjectApi
()
{
...
@@ -153,6 +156,14 @@ public class TestProjectApi {
...
@@ -153,6 +156,14 @@ public class TestProjectApi {
}
catch
(
GitLabApiException
ignore
)
{
}
catch
(
GitLabApiException
ignore
)
{
}
}
}
}
if
(
TEST_XFER_NAMESPACE
!=
null
)
{
try
{
Project
project
=
gitLabApi
.
getProjectApi
().
getProject
(
TEST_XFER_NAMESPACE
,
TEST_XFER_PROJECT_NAME
);
gitLabApi
.
getProjectApi
().
deleteProject
(
project
);
}
catch
(
GitLabApiException
ignore
)
{
}
}
}
}
}
}
...
@@ -556,4 +567,21 @@ public class TestProjectApi {
...
@@ -556,4 +567,21 @@ public class TestProjectApi {
assertNotNull
(
unstarredProject
);
assertNotNull
(
unstarredProject
);
assertEquals
(
0
,
(
int
)
unstarredProject
.
getStarCount
());
assertEquals
(
0
,
(
int
)
unstarredProject
.
getStarCount
());
}
}
@Test
public
void
testTransferProject
()
throws
GitLabApiException
{
assumeTrue
(
TEST_XFER_NAMESPACE
!=
null
&&
TEST_XFER_NAMESPACE
.
trim
().
length
()
>
0
);
Project
project
=
new
Project
()
.
withName
(
TEST_XFER_PROJECT_NAME
)
.
withDescription
(
"GitLab4J test project - transfer."
)
.
withVisibility
(
Visibility
.
PUBLIC
);
Project
newProject
=
gitLabApi
.
getProjectApi
().
createProject
(
project
);
assertNotNull
(
newProject
);
Project
transferedProject
=
gitLabApi
.
getProjectApi
().
transferProject
(
newProject
,
TEST_XFER_NAMESPACE
);
assertNotNull
(
transferedProject
);
}
}
}
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