jira add send channel
This commit is contained in:
parent
2d54694c1d
commit
5e02a881fb
4 changed files with 56 additions and 32 deletions
|
|
@ -1,4 +1,6 @@
|
|||
|
||||
// ignore_for_file: prefer_function_declarations_over_variables
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:dart_framework/utils/slack/slack_data.dart';
|
||||
|
|
@ -45,38 +47,44 @@ class Jira extends Command {
|
|||
if(arr != null && arr.isNotEmpty)
|
||||
{
|
||||
var browseUrl = 'https://${data.domain}/browse/${data.issue}';
|
||||
var slackData = DataSlack(slackID);
|
||||
DataSlack Function(String) getData = (channel) {
|
||||
var slackData = DataSlack(channel);
|
||||
|
||||
slackData.attachments = [];
|
||||
var attachment = SlackAttachment();
|
||||
slackData.blocks = [];
|
||||
var blockSection = SlackBlockSection();
|
||||
blockSection.text = SlackBlockText();
|
||||
blockSection.text!.text = ':jira: 새 Jira 업무가 할당되었습니다.';
|
||||
slackData.blocks!.add(blockSection);
|
||||
slackData.attachments = [];
|
||||
var attachment = SlackAttachment();
|
||||
slackData.blocks = [];
|
||||
var blockSection = SlackBlockSection();
|
||||
blockSection.text = SlackBlockText();
|
||||
blockSection.text!.text = ':jira: 새 Jira 업무가 할당되었습니다.';
|
||||
slackData.blocks!.add(blockSection);
|
||||
|
||||
attachment.blocks = [];
|
||||
attachment.blocks = [];
|
||||
|
||||
blockSection = SlackBlockSection();
|
||||
blockSection.text = SlackBlockText();
|
||||
blockSection.text!.type = SlackTextType.mrkdwn;
|
||||
blockSection.text!.text = '*<$browseUrl|${data.issue}>*';
|
||||
attachment.blocks!.add(blockSection);
|
||||
blockSection = SlackBlockSection();
|
||||
blockSection.text = SlackBlockText();
|
||||
blockSection.text!.type = SlackTextType.mrkdwn;
|
||||
blockSection.text!.text = '*<$browseUrl|${data.issue}>*';
|
||||
attachment.blocks!.add(blockSection);
|
||||
|
||||
blockSection = SlackBlockSection();
|
||||
blockSection.text = SlackBlockText();
|
||||
blockSection.text!.text = arr.first.text;
|
||||
blockSection.accessory = SlackAccessory();
|
||||
blockSection.accessory!.type = SlackActionType.button;
|
||||
blockSection.accessory!.url = browseUrl;
|
||||
blockSection.accessory!.text = SlackBlockText();
|
||||
blockSection.accessory!.text!.type = SlackTextType.plain_text;
|
||||
blockSection.accessory!.text!.text = 'Open';
|
||||
attachment.blocks!.add(blockSection);
|
||||
|
||||
slackData.attachments!.add(attachment);
|
||||
blockSection = SlackBlockSection();
|
||||
blockSection.text = SlackBlockText();
|
||||
blockSection.text!.text = arr!.first.text;
|
||||
blockSection.accessory = SlackAccessory();
|
||||
blockSection.accessory!.type = SlackActionType.button;
|
||||
blockSection.accessory!.url = browseUrl;
|
||||
blockSection.accessory!.text = SlackBlockText();
|
||||
blockSection.accessory!.text!.type = SlackTextType.plain_text;
|
||||
blockSection.accessory!.text!.text = 'Open';
|
||||
attachment.blocks!.add(blockSection);
|
||||
|
||||
slackData.attachments!.add(attachment);
|
||||
return slackData;
|
||||
};
|
||||
setReturn(data.return_slack_data, getData(slackID));
|
||||
|
||||
setReturn(data.return_slack_data, slackData);
|
||||
if(data.sub_channel != null) {
|
||||
setReturn(data.return_slack_channel, getData(data.sub_channel!));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -303,9 +303,13 @@ class DataJira extends DataParam {
|
|||
late String token;
|
||||
late String domain;
|
||||
late String issue;
|
||||
@JsonKey(name: 'sub-channel')
|
||||
late String? sub_channel;
|
||||
late List<DataJiraUser> users;
|
||||
@JsonKey(name: 'return-slack-data')
|
||||
late String return_slack_data;
|
||||
@JsonKey(name: 'return-slack-channel')
|
||||
late String return_slack_channel;
|
||||
|
||||
factory DataJira.fromJson(Map<String, dynamic> json) =>
|
||||
_$DataJiraFromJson(json);
|
||||
|
|
|
|||
|
|
@ -361,10 +361,12 @@ DataJira _$DataJiraFromJson(Map<String, dynamic> json) => DataJira()
|
|||
..token = json['token'] as String
|
||||
..domain = json['domain'] as String
|
||||
..issue = json['issue'] as String
|
||||
..sub_channel = json['sub-channel'] as String?
|
||||
..users = (json['users'] as List<dynamic>)
|
||||
.map((e) => DataJiraUser.fromJson(e as Map<String, dynamic>))
|
||||
.toList()
|
||||
..return_slack_data = json['return-slack-data'] as String;
|
||||
..return_slack_data = json['return-slack-data'] as String
|
||||
..return_slack_channel = json['return-slack-channel'] as String;
|
||||
|
||||
Map<String, dynamic> _$DataJiraToJson(DataJira instance) => <String, dynamic>{
|
||||
'workspace': instance.workspace,
|
||||
|
|
@ -372,8 +374,10 @@ Map<String, dynamic> _$DataJiraToJson(DataJira instance) => <String, dynamic>{
|
|||
'token': instance.token,
|
||||
'domain': instance.domain,
|
||||
'issue': instance.issue,
|
||||
'sub-channel': instance.sub_channel,
|
||||
'users': instance.users,
|
||||
'return-slack-data': instance.return_slack_data,
|
||||
'return-slack-channel': instance.return_slack_channel,
|
||||
};
|
||||
|
||||
DataJiraUser _$DataJiraUserFromJson(Map<String, dynamic> json) => DataJiraUser()
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ pieline:
|
|||
id: main
|
||||
workflow:
|
||||
- exe: jira
|
||||
- exe: slack
|
||||
- exe: slackUser
|
||||
- exe: slackChannel
|
||||
|
||||
commands:
|
||||
- command: Jira
|
||||
|
|
@ -16,14 +17,21 @@ commands:
|
|||
token: ATATT3xFfGF0mklis_51fqVtxqIatXsuUoOsgu6HXdWXh6nTnQOE964iSZnh0QhgUFZejaljlqsZVBA6OlG8hg74lnmyYKPB7M2Et2mAq3TsvvQskT6VwnG4mGXQ1ff-KIhPvfMvGmGzrQ7UeefC5muJusEcmy1nknxZC8CK4OhYQjAc07GnRmg=B6CBDA6F
|
||||
domain: lgu-cto.atlassian.net
|
||||
issue: M3-1
|
||||
sub-channel: build-test
|
||||
users:
|
||||
- mail: leedongmyung@lguplus.co.kr
|
||||
slackID: U05A94D57RS
|
||||
- mail: sunmikk@lguplus.co.kr
|
||||
id: U03SNLHMMAB
|
||||
return-slack-data: <!property.slack>
|
||||
return-slack-data: <!property.slackUser>
|
||||
return-slack-channel: <!property.slackChannel>
|
||||
- command: Slack
|
||||
id: slack
|
||||
id: slackUser
|
||||
param:
|
||||
token: xoxb-3923712524596-5927868822833-amGkCRXlwX33LmgVF1dmeMZ5
|
||||
property: <!property.slack>
|
||||
property: <!property.slackUser>
|
||||
- command: Slack
|
||||
id: slackChannel
|
||||
param:
|
||||
token: xoxb-3923712524596-5927868822833-amGkCRXlwX33LmgVF1dmeMZ5
|
||||
property: <!property.slackChannel>
|
||||
Loading…
Reference in a new issue