Skip to content

Commit a604fab

Browse files
committed
Add GiteaBuildNameProvider for 2025.07
1 parent 312a1f0 commit a604fab

File tree

6 files changed

+53
-16
lines changed

6 files changed

+53
-16
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package jetbrains.buildServer.commitPublisher.gitea;
2+
3+
import jetbrains.buildServer.commitPublisher.BaseBuildNameProvider;
4+
5+
public class GiteaBuildNameProvider extends BaseBuildNameProvider {
6+
}

commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/gitea/GiteaPublisher.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,18 @@ class GiteaPublisher extends HttpBasedCommitStatusPublisher<GiteaBuildStatus> {
4444
private static final GitRepositoryParser VCS_URL_PARSER = new GitRepositoryParser();
4545

4646
@NotNull private final CommitStatusesCache<GiteaCommitStatus> myStatusesCache;
47+
@NotNull private final GiteaBuildNameProvider myBuildNameProvider;
4748

4849
GiteaPublisher(@NotNull CommitStatusPublisherSettings settings,
4950
@NotNull SBuildType buildType, @NotNull String buildFeatureId,
5051
@NotNull Map<String, String> params,
5152
@NotNull CommitStatusPublisherProblems problems,
5253
@NotNull WebLinks links,
53-
@NotNull CommitStatusesCache<GiteaCommitStatus> statusesCache) {
54+
@NotNull CommitStatusesCache<GiteaCommitStatus> statusesCache,
55+
@NotNull GiteaBuildNameProvider buildNameProvider) {
5456
super(settings, buildType, buildFeatureId, params, problems, links);
5557
myStatusesCache = statusesCache;
58+
myBuildNameProvider = buildNameProvider;
5659
}
5760

5861

@@ -115,11 +118,6 @@ public boolean buildInterrupted(@NotNull SBuild build, @NotNull BuildRevision re
115118
return true;
116119
}
117120

118-
private String getBuildName(BuildPromotion promotion) {
119-
SBuildType buildType = promotion.getBuildType();
120-
return buildType != null ? buildType.getFullName() : promotion.getBuildTypeExternalId();
121-
}
122-
123121
@Override
124122
public RevisionStatus getRevisionStatus(@NotNull BuildPromotion buildPromotion, @NotNull BuildRevision revision) throws PublisherException {
125123
SBuildType buildType = buildPromotion.getBuildType();
@@ -164,7 +162,7 @@ RevisionStatus getRevisionStatus(@NotNull BuildPromotion buildPromotion, @Nullab
164162
return null;
165163
}
166164
Event event = getTriggeredEvent(commitStatus);
167-
boolean isSameBuildType = StringUtil.areEqual(getBuildName(buildPromotion), commitStatus.context);
165+
boolean isSameBuildType = StringUtil.areEqual(myBuildNameProvider.getBuildName(buildPromotion), commitStatus.context);
168166
return new RevisionStatus(event, commitStatus.description, isSameBuildType, getBuildIdFromViewUrl(commitStatus.target_url));
169167
}
170168

@@ -221,7 +219,7 @@ private void publish(@NotNull SBuild build,
221219
@NotNull BuildRevision revision,
222220
@NotNull GiteaBuildStatus status,
223221
@NotNull String description) throws PublisherException {
224-
String buildName = getBuildName(build.getBuildPromotion());
222+
String buildName = myBuildNameProvider.getBuildName(build.getBuildPromotion());
225223
String message = createMessage(status, buildName, revision, getViewUrl(build), description);
226224
publish(message, revision, LogUtil.describe(build));
227225
myStatusesCache.removeStatusFromCache(revision, buildName);
@@ -238,7 +236,7 @@ private void publish(@NotNull BuildPromotion buildPromotion,
238236
return;
239237
}
240238
String description = additionalTaskInfo.getComment();
241-
String buildName = getBuildName(buildPromotion);
239+
String buildName = myBuildNameProvider.getBuildName(buildPromotion);
242240
String message = createMessage(status, buildName, revision, url, description);
243241
publish(message, revision, LogUtil.describe(buildPromotion));
244242
myStatusesCache.removeStatusFromCache(revision, buildName);

commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/gitea/GiteaSettings.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import jetbrains.buildServer.commitPublisher.gitea.data.GiteaCommitStatus;
2222
import jetbrains.buildServer.commitPublisher.gitea.data.GiteaRepoInfo;
2323
import jetbrains.buildServer.commitPublisher.gitea.data.GiteaUserInfo;
24+
import jetbrains.buildServer.commitPublisher.gitlab.GitLabBuildNameProvider;
2425
import jetbrains.buildServer.serverSide.*;
2526
import jetbrains.buildServer.util.ssl.SSLTrustStoreProvider;
2627
import jetbrains.buildServer.vcs.VcsRoot;
@@ -54,14 +55,17 @@ public class GiteaSettings extends BasePublisherSettings implements CommitStatus
5455
addAll(mySupportedEvents);
5556
}};
5657

57-
private final CommitStatusesCache<GiteaCommitStatus> myStatusesCache;
58+
@NotNull private final CommitStatusesCache<GiteaCommitStatus> myStatusesCache;
59+
@NotNull private final GiteaBuildNameProvider myBuildNameProvider;
5860

5961
public GiteaSettings(@NotNull PluginDescriptor descriptor,
6062
@NotNull WebLinks links,
6163
@NotNull CommitStatusPublisherProblems problems,
62-
@NotNull SSLTrustStoreProvider trustStoreProvider) {
64+
@NotNull SSLTrustStoreProvider trustStoreProvider,
65+
@NotNull GiteaBuildNameProvider buildNameProvider) {
6366
super(descriptor, links, problems, trustStoreProvider);
6467
myStatusesCache = new CommitStatusesCache<>();
68+
myBuildNameProvider = buildNameProvider;
6569
}
6670

6771
@NotNull
@@ -85,7 +89,7 @@ public String getEditSettingsUrl() {
8589
@NotNull
8690
@Override
8791
public GiteaPublisher createPublisher(@NotNull SBuildType buildType, @NotNull String buildFeatureId, @NotNull Map<String, String> params) {
88-
return new GiteaPublisher(this, buildType, buildFeatureId, params, myProblems, myLinks, myStatusesCache);
92+
return new GiteaPublisher(this, buildType, buildFeatureId, params, myProblems, myLinks, myStatusesCache, myBuildNameProvider);
8993
}
9094

9195
@Override

commit-status-publisher-server/src/main/resources/META-INF/build-server-plugin-voter.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
<bean class="jetbrains.buildServer.commitPublisher.gitlab.GitlabSettings"/>
4444
<bean class="jetbrains.buildServer.commitPublisher.gitlab.GitLabBuildNameProvider"/>
4545
<bean class="jetbrains.buildServer.commitPublisher.gitea.GiteaSettings"/>
46+
<bean class="jetbrains.buildServer.commitPublisher.gitea.GiteaBuildNameProvider"/>
4647

4748
<!-- github -->
4849
<bean class="jetbrains.buildServer.commitPublisher.github.ChangeStatusUpdater"/>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package jetbrains.buildServer.commitPublisher.gitea;
2+
3+
import jetbrains.buildServer.messages.Status;
4+
import jetbrains.buildServer.pipeline.PipelineProject;
5+
import jetbrains.buildServer.serverSide.SBuildType;
6+
import jetbrains.buildServer.serverSide.SFinishedBuild;
7+
import jetbrains.buildServer.serverSide.impl.BaseServerTestCase;
8+
import org.testng.annotations.Test;
9+
10+
import static org.assertj.core.api.BDDAssertions.then;
11+
12+
@Test
13+
public class GiteaBuildNameProviderTest extends BaseServerTestCase {
14+
15+
private final GiteaBuildNameProvider myProvider = new GiteaBuildNameProvider();
16+
17+
@Test
18+
public void get_name_for_head() {
19+
final String pipelineName = "Pipeline Project";
20+
PipelineProject pipelineProject = myProject.createPipelineProject("extId", pipelineName, "name: name");
21+
SBuildType pipelineHead = pipelineProject.getPipelineHead();
22+
SFinishedBuild build = createBuild(pipelineHead, Status.NORMAL);
23+
String buildName = myProvider.getBuildName(build.getBuildPromotion());
24+
25+
then(buildName).isEqualTo(String.format("%s / %s", myProject.getName(), pipelineName));
26+
}
27+
}

commit-status-publisher-server/src/test/java/jetbrains/buildServer/commitPublisher/gitea/GiteaPublisherTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class GiteaPublisherTest extends HttpPublisherTest {
4848

4949
private static final String GROUP_REPO = "group_repo";
5050
private final Map<String, List<GiteaCommitStatus>> myRevisionToStatuses = new HashMap<>();
51+
private final GiteaBuildNameProvider myBuildNameProvider = new GiteaBuildNameProvider();
5152

5253
public GiteaPublisherTest() {
5354
myExpectedRegExps.put(EventToTest.QUEUED, String.format(".*/repos/owner/project/statuses/%s.*ENTITY:.*pending.*%s.*", REVISION, DefaultStatusMessages.BUILD_QUEUED));
@@ -74,7 +75,7 @@ public void test_buildFinishedSuccessfully_server_url_with_subdir() throws Excep
7475
myVcsRoot.setProperties(Collections.singletonMap("url", "https://url.com/subdir/owner/project"));
7576
VcsRootInstance vcsRootInstance = myBuildType.getVcsRootInstanceForParent(myVcsRoot);
7677
myRevision = new BuildRevision(vcsRootInstance, REVISION, "", REVISION);
77-
myPublisher = new GiteaPublisher(myPublisherSettings, myBuildType, FEATURE_ID, params, myProblems, myWebLinks, new CommitStatusesCache<>());
78+
myPublisher = new GiteaPublisher(myPublisherSettings, myBuildType, FEATURE_ID, params, myProblems, myWebLinks, new CommitStatusesCache<>(), myBuildNameProvider);
7879
test_buildFinished_Successfully();
7980
}
8081

@@ -85,7 +86,7 @@ public void test_buildFinishedSuccessfully_server_url_with_slash() throws Except
8586
myVcsRoot.setProperties(Collections.singletonMap("url", "https://url.com/subdir/owner/project"));
8687
VcsRootInstance vcsRootInstance = myBuildType.getVcsRootInstanceForParent(myVcsRoot);
8788
myRevision = new BuildRevision(vcsRootInstance, REVISION, "", REVISION);
88-
myPublisher = new GiteaPublisher(myPublisherSettings, myBuildType, FEATURE_ID, params, myProblems, myWebLinks, new CommitStatusesCache<>());
89+
myPublisher = new GiteaPublisher(myPublisherSettings, myBuildType, FEATURE_ID, params, myProblems, myWebLinks, new CommitStatusesCache<>(), myBuildNameProvider);
8990
test_buildFinished_Successfully();
9091
}
9192

@@ -162,9 +163,9 @@ protected void setUp() throws Exception {
162163
setExpectedApiPath("/api/v1");
163164
setExpectedEndpointPrefix("/repos/" + OWNER + "/" + CORRECT_REPO);
164165
super.setUp();
165-
myPublisherSettings = new GiteaSettings(new MockPluginDescriptor(), myWebLinks, myProblems, myTrustStoreProvider);
166+
myPublisherSettings = new GiteaSettings(new MockPluginDescriptor(), myWebLinks, myProblems, myTrustStoreProvider, myBuildNameProvider);
166167
Map<String, String> params = getPublisherParams();
167-
myPublisher = new GiteaPublisher(myPublisherSettings, myBuildType, FEATURE_ID, params, myProblems, myWebLinks, new CommitStatusesCache<>());
168+
myPublisher = new GiteaPublisher(myPublisherSettings, myBuildType, FEATURE_ID, params, myProblems, myWebLinks, new CommitStatusesCache<>(), myBuildNameProvider);
168169
myBuildType.getProject().addParameter(new SimpleParameter("teamcity.commitStatusPublisher.publishQueuedBuildStatus", "true"));
169170
}
170171

0 commit comments

Comments
 (0)