Skip to content

Commit 3a48a7d

Browse files
Fix version feeds (#293)
* Fix version feeds by updating format * Update config to include changes
1 parent 9b02647 commit 3a48a7d

File tree

3 files changed

+39
-29
lines changed

3 files changed

+39
-29
lines changed

config/main.yml

+23-19
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ filterFeeds:
113113
# titleSingle: This ticket has just been marked as fixed!
114114
# cached: true
115115

116-
versionFeeds: []
116+
versionFeeds:
117117
#java-fixes
118118
# - projects:
119119
# - MC
@@ -139,21 +139,25 @@ versionFeeds: []
139139
# - unreleased
140140

141141
#version-feed
142-
# - projects:
143-
# - BDS
144-
# - MC
145-
# - MCD
146-
# - MCL
147-
# - MCPE
148-
# - REALMS
149-
# channel: '741600360619049000'
150-
# publish: true
151-
# interval: 10000
152-
# scope: 5
153-
# actions:
154-
# - created
155-
# - archived
156-
# - unarchived
157-
# - released
158-
# - unreleased
159-
# - renamed
142+
- projects:
143+
- name: BDS
144+
id: 11700
145+
- name: MC
146+
id: 10400
147+
- name: MCL
148+
id: 11101
149+
- name: MCPE
150+
id: 10200
151+
- name: REALMS
152+
id: 11402
153+
channel: "741600360619049000"
154+
publish: false
155+
interval: 10000
156+
scope: 5
157+
actions:
158+
- created
159+
- archived
160+
- unarchived
161+
- released
162+
- unreleased
163+
- renamed

src/BotConfig.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,13 @@ export interface FilterFeedConfig {
9595
cached?: boolean;
9696
}
9797

98+
export interface VersionConfig {
99+
name: string;
100+
id: number;
101+
}
102+
98103
export interface VersionFeedConfig {
99-
projects: string[];
104+
projects: VersionConfig[];
100105
channel: Snowflake;
101106
interval: number;
102107
versionFeedEmoji: string | Snowflake;

src/tasks/VersionFeedTask.ts

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { EmbedBuilder, TextBasedChannel } from 'discord.js';
22
import log4js from 'log4js';
3-
import { VersionFeedConfig } from '../BotConfig.js';
3+
import { VersionConfig, VersionFeedConfig } from '../BotConfig.js';
44
import { NewsUtil } from '../util/NewsUtil.js';
55
import MojiraBot from '../MojiraBot.js';
66
import Task from './Task.js';
@@ -13,7 +13,7 @@ interface JiraVersion {
1313
archived: boolean;
1414
released: boolean;
1515
releaseDate?: string;
16-
project: string;
16+
projectId: number;
1717
}
1818

1919
function versionConv( version: Version ): JiraVersion | undefined {
@@ -22,7 +22,7 @@ function versionConv( version: Version ): JiraVersion | undefined {
2222
|| version.name === undefined
2323
|| version.archived === undefined
2424
|| version.released === undefined
25-
|| version.project === undefined
25+
|| version.projectId === undefined
2626
) return undefined;
2727

2828
return {
@@ -31,7 +31,7 @@ function versionConv( version: Version ): JiraVersion | undefined {
3131
archived: version.archived,
3232
released: version.released,
3333
releaseDate: version.releaseDate,
34-
project: version.project,
34+
projectId: version.projectId,
3535
};
3636
}
3737

@@ -52,7 +52,7 @@ export default class VersionFeedTask extends Task {
5252
private static logger = log4js.getLogger( 'VersionFeedTask' );
5353

5454
private channel: TextBasedChannel;
55-
private projects: string[];
55+
private projects: VersionConfig[];
5656
private versionFeedEmoji: string;
5757
private scope: number;
5858
private actions: VersionChangeType[];
@@ -75,7 +75,7 @@ export default class VersionFeedTask extends Task {
7575
try {
7676
for ( const project of this.projects ) {
7777
const results = await MojiraBot.jira.projectVersions.getProjectVersions( {
78-
projectIdOrKey: project,
78+
projectIdOrKey: project.name,
7979
expand: 'id,name,archived,released',
8080
} );
8181

@@ -117,7 +117,7 @@ export default class VersionFeedTask extends Task {
117117
const changes: JiraVersionChange[] = [];
118118

119119
for ( const project of this.projects ) {
120-
changes.push( ...await this.getVersionChangesForProject( project ) );
120+
changes.push( ...await this.getVersionChangesForProject( project.name ) );
121121
}
122122

123123
return changes.filter( change => this.actions.includes( change.type ) );
@@ -263,10 +263,11 @@ export default class VersionFeedTask extends Task {
263263
} );
264264
}
265265

266-
if ( this.projects.length > 1 ) {
266+
const projectKey = this.projects.find( project => project.id == version.projectId )?.name;
267+
if ( projectKey ) {
267268
embed.addFields( {
268269
name: 'Project',
269-
value: version.project,
270+
value: projectKey,
270271
inline: true,
271272
} );
272273
}

0 commit comments

Comments
 (0)