@fabasoad/sarif-to-slack 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/.github/workflows/security.yml +10 -2
  2. package/.github/workflows/send-sarif-to-slack.yml +6 -1
  3. package/.tool-versions +1 -1
  4. package/dist/SarifToSlackClient.d.ts.map +1 -1
  5. package/dist/SarifToSlackClient.js +8 -10
  6. package/dist/index.cjs +158 -93
  7. package/dist/index.d.ts +12 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +12 -3
  10. package/dist/model/Color.d.ts +5 -2
  11. package/dist/model/Color.d.ts.map +1 -1
  12. package/dist/model/Color.js +26 -17
  13. package/dist/model/Finding.js +3 -3
  14. package/dist/model/FindingArray.d.ts +2 -0
  15. package/dist/model/FindingArray.d.ts.map +1 -0
  16. package/dist/model/FindingArray.js +24 -0
  17. package/dist/model/SendIf.d.ts +116 -0
  18. package/dist/model/SendIf.d.ts.map +1 -0
  19. package/dist/model/SendIf.js +176 -0
  20. package/dist/model/SlackMessage.d.ts +23 -0
  21. package/dist/model/SlackMessage.d.ts.map +1 -0
  22. package/dist/model/SlackMessage.js +99 -0
  23. package/dist/representations/CompactGroupByRepresentation.js +1 -1
  24. package/dist/representations/CompactGroupByRunPerLevelRepresentation.js +1 -1
  25. package/dist/representations/CompactGroupByRunPerSeverityRepresentation.js +1 -1
  26. package/dist/representations/CompactGroupByRunRepresentation.js +1 -1
  27. package/dist/representations/CompactGroupBySarifRepresentation.js +1 -1
  28. package/dist/representations/CompactGroupByToolNameRepresentation.js +1 -1
  29. package/dist/representations/CompactTotalRepresentation.js +1 -1
  30. package/dist/representations/Representation.js +3 -3
  31. package/dist/sarif-to-slack.d.ts +14 -3
  32. package/dist/types.d.ts +1 -130
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/types.js +1 -117
  35. package/etc/sarif-to-slack.api.md +1 -0
  36. package/package.json +1 -1
  37. package/src/SarifToSlackClient.ts +8 -12
  38. package/src/index.ts +12 -4
  39. package/src/model/Color.ts +37 -25
  40. package/src/model/Finding.ts +3 -3
  41. package/src/model/{FindingsArray.ts → FindingArray.ts} +3 -3
  42. package/src/model/SendIf.ts +175 -0
  43. package/src/{SlackMessageBuilder.ts → model/SlackMessage.ts} +31 -6
  44. package/src/processors/CodeQLProcessor.ts +1 -1
  45. package/src/representations/CompactGroupByRepresentation.ts +2 -2
  46. package/src/representations/CompactGroupByRunPerLevelRepresentation.ts +1 -1
  47. package/src/representations/CompactGroupByRunPerSeverityRepresentation.ts +1 -1
  48. package/src/representations/CompactGroupByRunRepresentation.ts +2 -2
  49. package/src/representations/CompactGroupBySarifRepresentation.ts +2 -2
  50. package/src/representations/CompactGroupByToolNameRepresentation.ts +2 -2
  51. package/src/representations/CompactTotalRepresentation.ts +2 -2
  52. package/src/representations/Representation.ts +4 -4
  53. package/src/types.ts +3 -134
  54. package/src/utils/Comparators.ts +1 -1
  55. package/test-data/sarif/osv-scanner-yarn.sarif +4 -4
  56. package/tests/integration/SendSarifToSlack.spec.ts +21 -5
  57. package/dist/SlackMessageBuilder.d.ts +0 -2
  58. package/dist/SlackMessageBuilder.d.ts.map +0 -1
  59. package/dist/SlackMessageBuilder.js +0 -91
  60. package/dist/model/FindingsArray.d.ts +0 -2
  61. package/dist/model/FindingsArray.d.ts.map +0 -1
  62. package/dist/model/FindingsArray.js +0 -24
@@ -16,7 +16,7 @@ export class Color {
16
16
  */
17
17
  constructor(color) {
18
18
  this._color = this.mapColor(color);
19
- this.validateHexColor();
19
+ this.assertHexColor();
20
20
  }
21
21
  /**
22
22
  * Returns a valid string that represents a color in hex format, or undefined.
@@ -24,7 +24,7 @@ export class Color {
24
24
  get value() {
25
25
  return this._color;
26
26
  }
27
- validateHexColor() {
27
+ assertHexColor() {
28
28
  if (this._color != null) {
29
29
  const hexColorRegex = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/;
30
30
  if (!hexColorRegex.test(this._color)) {
@@ -47,19 +47,16 @@ export class Color {
47
47
  }
48
48
  }
49
49
  }
50
- function identifyColorCommon(findings, prop, none, unknown, color, defaultColor) {
50
+ function identifyColorCommon(findings, prop, none, unknown, color) {
51
51
  if (color.none != null && findings.findByProperty(prop, none) != null) {
52
52
  return color.none.value;
53
53
  }
54
54
  if (color.unknown != null && findings.findByProperty(prop, unknown) != null) {
55
55
  return color.unknown.value;
56
56
  }
57
- if (color.empty != null && findings.length === 0) {
58
- return color.empty.value;
59
- }
60
- return defaultColor?.value;
57
+ return undefined;
61
58
  }
62
- function identifyColorBySeverity(findings, color, defaultColor) {
59
+ function identifyColorBySeverity(findings, color) {
63
60
  if (color.critical != null && findings.findByProperty('severity', SecuritySeverity.Critical) != null) {
64
61
  return color.critical.value;
65
62
  }
@@ -72,9 +69,9 @@ function identifyColorBySeverity(findings, color, defaultColor) {
72
69
  if (color.low != null && findings.findByProperty('severity', SecuritySeverity.Low) != null) {
73
70
  return color.low.value;
74
71
  }
75
- return identifyColorCommon(findings, 'severity', SecuritySeverity.None, SecuritySeverity.Unknown, color, defaultColor);
72
+ return identifyColorCommon(findings, 'severity', SecuritySeverity.None, SecuritySeverity.Unknown, color);
76
73
  }
77
- function identifyColorByLevel(findings, color, defaultColor) {
74
+ function identifyColorByLevel(findings, color) {
78
75
  if (color.error != null && findings.findByProperty('level', SecurityLevel.Error) != null) {
79
76
  return color.error.value;
80
77
  }
@@ -84,23 +81,35 @@ function identifyColorByLevel(findings, color, defaultColor) {
84
81
  if (color.note != null && findings.findByProperty('level', SecurityLevel.Note) != null) {
85
82
  return color.note.value;
86
83
  }
87
- return identifyColorCommon(findings, 'level', SecurityLevel.None, SecurityLevel.Unknown, color, defaultColor);
84
+ return identifyColorCommon(findings, 'level', SecurityLevel.None, SecurityLevel.Unknown, color);
88
85
  }
89
86
  /**
90
87
  * Makes an ultimate decision on what color should be Slack message. The decision
91
88
  * is based on the provided {@param colorOpts} parameter and {@param findings}
92
89
  * list.
93
- * @param findings An instance of {@link FindingsArray} object.
90
+ * @param findings An instance of {@link FindingArray} object.
94
91
  * @param colorOpts An instance of {@link ColorOptions} type.
95
92
  * @internal
96
93
  */
97
94
  export function identifyColor(findings, colorOpts) {
98
- if (colorOpts?.bySeverity != null) {
99
- return identifyColorBySeverity(findings, colorOpts.bySeverity, colorOpts.default);
95
+ if (!colorOpts) {
96
+ return undefined;
97
+ }
98
+ if (colorOpts.bySeverity) {
99
+ const color = identifyColorBySeverity(findings, colorOpts.bySeverity);
100
+ if (color !== undefined) {
101
+ return color;
102
+ }
103
+ }
104
+ if (colorOpts.byLevel) {
105
+ const color = identifyColorByLevel(findings, colorOpts.byLevel);
106
+ if (color !== undefined) {
107
+ return color;
108
+ }
100
109
  }
101
- if (colorOpts?.byLevel != null) {
102
- return identifyColorByLevel(findings, colorOpts.byLevel, colorOpts.default);
110
+ if (findings.length === 0 && colorOpts.empty?.value !== undefined) {
111
+ return colorOpts.empty.value;
103
112
  }
104
113
  return colorOpts?.default?.value;
105
114
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvQ29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUkxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sS0FBSztJQUNDLE1BQU0sQ0FBUztJQUVoQzs7Ozs7Ozs7T0FRRztJQUNILFlBQW1CLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixNQUFNLGFBQWEsR0FBRyxvRUFBb0UsQ0FBQztZQUUzRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDekQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWE7UUFDNUIsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQTtZQUNsQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUE7WUFDbEIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sU0FBUyxDQUFBO1lBQ2xCLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQTtZQUNsQjtnQkFDRSxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7SUFD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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvQ29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUkxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sS0FBSztJQUNDLE1BQU0sQ0FBUztJQUVoQzs7Ozs7Ozs7T0FRRztJQUNILFlBQW1CLEtBQWM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLG9FQUFvRSxDQUFBO1lBRTFGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtZQUN4RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsSUFBYTtRQUM1QixRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFBO1lBQ2xCLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQTtZQUNsQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxTQUFTLENBQUE7WUFDbEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFBO1lBQ2xCO2dCQUNFLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztJQUNILENB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
@@ -6,7 +6,7 @@ import { createProcessor } from '../processors/ProcessorFactory';
6
6
  * @internal
7
7
  */
8
8
  export function createFinding(opts) {
9
- return new SarifFinding(opts);
9
+ return new FindingImpl(opts);
10
10
  }
11
11
  /**
12
12
  * The only implementation of {@link Finding} interface. This class is private
@@ -14,7 +14,7 @@ export function createFinding(opts) {
14
14
  * create a new {@link Finding}.
15
15
  * @private
16
16
  */
17
- class SarifFinding {
17
+ class FindingImpl {
18
18
  _runMetadata;
19
19
  _result;
20
20
  _sarifPath;
@@ -90,4 +90,4 @@ class SarifFinding {
90
90
  return SecuritySeverity.None;
91
91
  }
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9GaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDbkUsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBO0FBRTlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQTBCaEU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFvQjtJQUNoRCxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sWUFBWTtJQUNDLFlBQVksQ0FBUztJQUNyQixPQUFPLENBQVE7SUFDZixVQUFVLENBQVE7SUFDbEIsS0FBSyxDQUFzQjtJQUMzQixVQUFVLENBQWlCO0lBRXBDLHdCQUF3QixHQUFZLEtBQUssQ0FBQTtJQUN6QyxlQUFlLEdBQXVCLFNBQVMsQ0FBQTtJQUUvQyxvQkFBb0IsR0FBWSxLQUFLLENBQUE7SUFDckMsV0FBVyxHQUE2QixTQUFTLENBQUE7SUFFekQsWUFBWSxJQUFvQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzVDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENB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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9GaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDbkUsT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFBO0FBRTlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQTBCaEU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFvQjtJQUNoRCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sV0FBVztJQUNFLFlBQVksQ0FBUztJQUNyQixPQUFPLENBQVE7SUFDZixVQUFVLENBQVE7SUFDbEIsS0FBSyxDQUFzQjtJQUMzQixVQUFVLENBQWlCO0lBRXBDLHdCQUF3QixHQUFZLEtBQUssQ0FBQTtJQUN6QyxlQUFlLEdBQXVCLFNBQVMsQ0FBQTtJQUUvQyxvQkFBb0IsR0FBWSxLQUFLLENBQUE7SUFDckMsV0FBVyxHQUE2QixTQUFTLENBQUE7SUFFekQsWUFBWSxJQUFvQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzVDLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENB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
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FindingArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindingArray.d.ts","sourceRoot":"","sources":["../../src/model/FindingArray.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { SecurityLevel, SecuritySeverity } from '../types';
2
+ import ExtendedArray from '../utils/ExtendedArray';
3
+ /**
4
+ * This class represents an array of {@link Finding} objects and adds additional
5
+ * useful methods to it.
6
+ * @internal
7
+ */
8
+ export default class FindingArray extends ExtendedArray {
9
+ hasSeverityOrHigher(severity) {
10
+ return Object
11
+ .values(SecuritySeverity)
12
+ .filter((v) => typeof v === 'number')
13
+ .filter((v) => v >= severity)
14
+ .some((v) => this.findByProperty('severity', v) != null);
15
+ }
16
+ hasLevelOrHigher(level) {
17
+ return Object
18
+ .values(SecurityLevel)
19
+ .filter((v) => typeof v === 'number')
20
+ .filter((v) => v >= level)
21
+ .some((v) => this.findByProperty('level', v) != null);
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZ0FycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0ZpbmRpbmdBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFELE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxhQUFzQjtJQUV2RCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUNuRCxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBNEIsRUFBeUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFtQixFQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO2FBQ3ZELElBQUksQ0FBQyxDQUFDLENBQW1CLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFBO0lBQ3ZGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUMxQyxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsYUFBYSxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQXlCLEVBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7YUFDaEYsTUFBTSxDQUFDLENBQUMsQ0FBZ0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQzthQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFnQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtJQUNqRixDQUFDO0NBQ0YifQ==
@@ -0,0 +1,116 @@
1
+ /**
2
+ * This enum represents the condition on when message should be sent. If this
3
+ * condition is satisfied then message is sent, otherwise - message is not sent.
4
+ * @public
5
+ */
6
+ export declare enum SendIf {
7
+ /**
8
+ * Send message only if there is at least one finding with "Critical" severity.
9
+ * Since it is the higher possible severity, it is the same as "Critical" or
10
+ * higher.
11
+ */
12
+ SeverityCritical = 0,
13
+ /**
14
+ * Send message only if there is at least one finding with "High" severity.
15
+ */
16
+ SeverityHigh = 1,
17
+ /**
18
+ * Send message only if there is at least one finding with "High" severity or
19
+ * higher, that includes "High" and "Critical".
20
+ */
21
+ SeverityHighOrHigher = 2,
22
+ /**
23
+ * Send message only if there is at least one finding with "Medium" severity.
24
+ */
25
+ SeverityMedium = 3,
26
+ /**
27
+ * Send message only if there is at least one finding with "Medium" severity
28
+ * or higher, that includes "Medium", "High" and "Critical".
29
+ */
30
+ SeverityMediumOrHigher = 4,
31
+ /**
32
+ * Send message only if there is at least one finding with "Low" severity.
33
+ */
34
+ SeverityLow = 5,
35
+ /**
36
+ * Send message only if there is at least one finding with "Low" severity or
37
+ * higher, that includes "Low", "Medium", "High" and "Critical".
38
+ */
39
+ SeverityLowOrHigher = 6,
40
+ /**
41
+ * Send message only if there is at least one finding with "None" severity.
42
+ */
43
+ SeverityNone = 7,
44
+ /**
45
+ * Send message only if there is at least one finding with "None" severity or
46
+ * higher, that includes "None", "Low", "Medium", "High" and "Critical".
47
+ */
48
+ SeverityNoneOrHigher = 8,
49
+ /**
50
+ * Send message only if there is at least one finding with "Unknown" severity.
51
+ */
52
+ SeverityUnknown = 9,
53
+ /**
54
+ * Send message only if there is at least one finding with "Unknown" severity
55
+ * or higher, that includes "Unknown", "None", "Low", "Medium", "High" and "Critical".
56
+ */
57
+ SeverityUnknownOrHigher = 10,
58
+ /**
59
+ * Send message only if there is at least one finding with "Error" level.
60
+ * Since it is the higher possible level, it is the same as "Error" or higher.
61
+ */
62
+ LevelError = 11,
63
+ /**
64
+ * Send message only if there is at least one finding with "Warning" level.
65
+ */
66
+ LevelWarning = 12,
67
+ /**
68
+ * Send message only if there is at least one finding with "Warning" level or
69
+ * higher, that includes "Warning" and "Error".
70
+ */
71
+ LevelWarningOrHigher = 13,
72
+ /**
73
+ * Send message only if there is at least one finding with "Note" level.
74
+ */
75
+ LevelNote = 14,
76
+ /**
77
+ * Send message only if there is at least one finding with "Note" level or
78
+ * higher, that includes "Note", "Warning" and "Error.
79
+ */
80
+ LevelNoteOrHigher = 15,
81
+ /**
82
+ * Send message only if there is at least one finding with "None" level.
83
+ */
84
+ LevelNone = 16,
85
+ /**
86
+ * Send message only if there is at least one finding with "None" level or
87
+ * higher, that includes "None", "Note", "Warning" and "Error.
88
+ */
89
+ LevelNoneOrHigher = 17,
90
+ /**
91
+ * Send message only if there is at least one finding with "Unknown" level.
92
+ */
93
+ LevelUnknown = 18,
94
+ /**
95
+ * Send message only if there is at least one finding with "Unknown" level or
96
+ * higher, that includes "Unknown", "None", "Note", "Warning" and "Error.
97
+ */
98
+ LevelUnknownOrHigher = 19,
99
+ /**
100
+ * Always send a message.
101
+ */
102
+ Always = 20,
103
+ /**
104
+ * Send a message if at least 1 vulnerability is found.
105
+ */
106
+ Some = 21,
107
+ /**
108
+ * Send a message only if no vulnerabilities are found.
109
+ */
110
+ Empty = 22,
111
+ /**
112
+ * Never send a message.
113
+ */
114
+ Never = 23
115
+ }
116
+ //# sourceMappingURL=SendIf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendIf.d.ts","sourceRoot":"","sources":["../../src/model/SendIf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,MAAM;IAChB;;;;OAIG;IACH,gBAAgB,IAAA;IAChB;;OAEG;IACH,YAAY,IAAA;IACZ;;;OAGG;IACH,oBAAoB,IAAA;IACpB;;OAEG;IACH,cAAc,IAAA;IACd;;;OAGG;IACH,sBAAsB,IAAA;IACtB;;OAEG;IACH,WAAW,IAAA;IACX;;;OAGG;IACH,mBAAmB,IAAA;IACnB;;OAEG;IACH,YAAY,IAAA;IACZ;;;OAGG;IACH,oBAAoB,IAAA;IACpB;;OAEG;IACH,eAAe,IAAA;IACf;;;OAGG;IACH,uBAAuB,KAAA;IACvB;;;OAGG;IACH,UAAU,KAAA;IACV;;OAEG;IACH,YAAY,KAAA;IACZ;;;OAGG;IACH,oBAAoB,KAAA;IACpB;;OAEG;IACH,SAAS,KAAA;IACT;;;OAGG;IACH,iBAAiB,KAAA;IACjB;;OAEG;IACH,SAAS,KAAA;IACT;;;OAGG;IACH,iBAAiB,KAAA;IACjB;;OAEG;IACH,YAAY,KAAA;IACZ;;;OAGG;IACH,oBAAoB,KAAA;IACpB;;OAEG;IACH,MAAM,KAAA;IACN;;OAEG;IACH,IAAI,KAAA;IACJ;;OAEG;IACH,KAAK,KAAA;IACL;;OAEG;IACH,KAAK,KAAA;CACN"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * This enum represents the condition on when message should be sent. If this
3
+ * condition is satisfied then message is sent, otherwise - message is not sent.
4
+ * @public
5
+ */
6
+ export var SendIf;
7
+ (function (SendIf) {
8
+ /**
9
+ * Send message only if there is at least one finding with "Critical" severity.
10
+ * Since it is the higher possible severity, it is the same as "Critical" or
11
+ * higher.
12
+ */
13
+ SendIf[SendIf["SeverityCritical"] = 0] = "SeverityCritical";
14
+ /**
15
+ * Send message only if there is at least one finding with "High" severity.
16
+ */
17
+ SendIf[SendIf["SeverityHigh"] = 1] = "SeverityHigh";
18
+ /**
19
+ * Send message only if there is at least one finding with "High" severity or
20
+ * higher, that includes "High" and "Critical".
21
+ */
22
+ SendIf[SendIf["SeverityHighOrHigher"] = 2] = "SeverityHighOrHigher";
23
+ /**
24
+ * Send message only if there is at least one finding with "Medium" severity.
25
+ */
26
+ SendIf[SendIf["SeverityMedium"] = 3] = "SeverityMedium";
27
+ /**
28
+ * Send message only if there is at least one finding with "Medium" severity
29
+ * or higher, that includes "Medium", "High" and "Critical".
30
+ */
31
+ SendIf[SendIf["SeverityMediumOrHigher"] = 4] = "SeverityMediumOrHigher";
32
+ /**
33
+ * Send message only if there is at least one finding with "Low" severity.
34
+ */
35
+ SendIf[SendIf["SeverityLow"] = 5] = "SeverityLow";
36
+ /**
37
+ * Send message only if there is at least one finding with "Low" severity or
38
+ * higher, that includes "Low", "Medium", "High" and "Critical".
39
+ */
40
+ SendIf[SendIf["SeverityLowOrHigher"] = 6] = "SeverityLowOrHigher";
41
+ /**
42
+ * Send message only if there is at least one finding with "None" severity.
43
+ */
44
+ SendIf[SendIf["SeverityNone"] = 7] = "SeverityNone";
45
+ /**
46
+ * Send message only if there is at least one finding with "None" severity or
47
+ * higher, that includes "None", "Low", "Medium", "High" and "Critical".
48
+ */
49
+ SendIf[SendIf["SeverityNoneOrHigher"] = 8] = "SeverityNoneOrHigher";
50
+ /**
51
+ * Send message only if there is at least one finding with "Unknown" severity.
52
+ */
53
+ SendIf[SendIf["SeverityUnknown"] = 9] = "SeverityUnknown";
54
+ /**
55
+ * Send message only if there is at least one finding with "Unknown" severity
56
+ * or higher, that includes "Unknown", "None", "Low", "Medium", "High" and "Critical".
57
+ */
58
+ SendIf[SendIf["SeverityUnknownOrHigher"] = 10] = "SeverityUnknownOrHigher";
59
+ /**
60
+ * Send message only if there is at least one finding with "Error" level.
61
+ * Since it is the higher possible level, it is the same as "Error" or higher.
62
+ */
63
+ SendIf[SendIf["LevelError"] = 11] = "LevelError";
64
+ /**
65
+ * Send message only if there is at least one finding with "Warning" level.
66
+ */
67
+ SendIf[SendIf["LevelWarning"] = 12] = "LevelWarning";
68
+ /**
69
+ * Send message only if there is at least one finding with "Warning" level or
70
+ * higher, that includes "Warning" and "Error".
71
+ */
72
+ SendIf[SendIf["LevelWarningOrHigher"] = 13] = "LevelWarningOrHigher";
73
+ /**
74
+ * Send message only if there is at least one finding with "Note" level.
75
+ */
76
+ SendIf[SendIf["LevelNote"] = 14] = "LevelNote";
77
+ /**
78
+ * Send message only if there is at least one finding with "Note" level or
79
+ * higher, that includes "Note", "Warning" and "Error.
80
+ */
81
+ SendIf[SendIf["LevelNoteOrHigher"] = 15] = "LevelNoteOrHigher";
82
+ /**
83
+ * Send message only if there is at least one finding with "None" level.
84
+ */
85
+ SendIf[SendIf["LevelNone"] = 16] = "LevelNone";
86
+ /**
87
+ * Send message only if there is at least one finding with "None" level or
88
+ * higher, that includes "None", "Note", "Warning" and "Error.
89
+ */
90
+ SendIf[SendIf["LevelNoneOrHigher"] = 17] = "LevelNoneOrHigher";
91
+ /**
92
+ * Send message only if there is at least one finding with "Unknown" level.
93
+ */
94
+ SendIf[SendIf["LevelUnknown"] = 18] = "LevelUnknown";
95
+ /**
96
+ * Send message only if there is at least one finding with "Unknown" level or
97
+ * higher, that includes "Unknown", "None", "Note", "Warning" and "Error.
98
+ */
99
+ SendIf[SendIf["LevelUnknownOrHigher"] = 19] = "LevelUnknownOrHigher";
100
+ /**
101
+ * Always send a message.
102
+ */
103
+ SendIf[SendIf["Always"] = 20] = "Always";
104
+ /**
105
+ * Send a message if at least 1 vulnerability is found.
106
+ */
107
+ SendIf[SendIf["Some"] = 21] = "Some";
108
+ /**
109
+ * Send a message only if no vulnerabilities are found.
110
+ */
111
+ SendIf[SendIf["Empty"] = 22] = "Empty";
112
+ /**
113
+ * Never send a message.
114
+ */
115
+ SendIf[SendIf["Never"] = 23] = "Never";
116
+ })(SendIf || (SendIf = {}));
117
+ /**
118
+ * Returns log message based on the provided {@param sendIf} parameter.
119
+ * @param sendIf An instance of {@link SendIf} enum.
120
+ * @internal
121
+ */
122
+ export function sendIfLogMessage(sendIf) {
123
+ switch (sendIf) {
124
+ case SendIf.SeverityCritical:
125
+ return 'No message sent: no findings with "Critical" severity.';
126
+ case SendIf.SeverityHigh:
127
+ return 'No message sent: no findings with "High" severity.';
128
+ case SendIf.SeverityHighOrHigher:
129
+ return 'No message sent: no findings with "High" or higher severity.';
130
+ case SendIf.SeverityMedium:
131
+ return 'No message sent: no findings with "Medium" severity.';
132
+ case SendIf.SeverityMediumOrHigher:
133
+ return 'No message sent: no findings with "Medium" or higher severity.';
134
+ case SendIf.SeverityLow:
135
+ return 'No message sent: no findings with "Low" severity.';
136
+ case SendIf.SeverityLowOrHigher:
137
+ return 'No message sent: no findings with "Low" or higher severity.';
138
+ case SendIf.SeverityNone:
139
+ return 'No message sent: no findings with "None" severity.';
140
+ case SendIf.SeverityNoneOrHigher:
141
+ return 'No message sent: no findings with "None" or higher severity.';
142
+ case SendIf.SeverityUnknown:
143
+ return 'No message sent: no findings with "Unknown" severity.';
144
+ case SendIf.SeverityUnknownOrHigher:
145
+ return 'No message sent: no findings with "Unknown" or higher severity.';
146
+ case SendIf.LevelError:
147
+ return 'No message sent: no findings with "Error" level.';
148
+ case SendIf.LevelWarning:
149
+ return 'No message sent: no findings with "Warning" level.';
150
+ case SendIf.LevelWarningOrHigher:
151
+ return 'No message sent: no findings with "Warning" or higher level.';
152
+ case SendIf.LevelNote:
153
+ return 'No message sent: no findings with "Note" level.';
154
+ case SendIf.LevelNoteOrHigher:
155
+ return 'No message sent: no findings with "Note" or higher level.';
156
+ case SendIf.LevelNone:
157
+ return 'No message sent: no findings with "None" level.';
158
+ case SendIf.LevelNoneOrHigher:
159
+ return 'No message sent: no findings with "None" or higher level.';
160
+ case SendIf.LevelUnknown:
161
+ return 'No message sent: no findings with "Unknown" level.';
162
+ case SendIf.LevelUnknownOrHigher:
163
+ return 'No message sent: no findings with "Unknown" or higher level.';
164
+ case SendIf.Always:
165
+ return 'Message always sent.';
166
+ case SendIf.Some:
167
+ return 'No message sent: findings are not found.';
168
+ case SendIf.Empty:
169
+ return 'No message sent: some findings are found.';
170
+ case SendIf.Never:
171
+ return 'No message sent: sending is disabled.';
172
+ default:
173
+ return 'Unknown SendIf value.';
174
+ }
175
+ }
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZElmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NlbmRJZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFOLElBQVksTUE2R1g7QUE3R0QsV0FBWSxNQUFNO0lBQ2hCOzs7O09BSUc7SUFDSCwyREFBZ0IsQ0FBQTtJQUNoQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHVEQUFjLENBQUE7SUFDZDs7O09BR0c7SUFDSCx1RUFBc0IsQ0FBQTtJQUN0Qjs7T0FFRztJQUNILGlEQUFXLENBQUE7SUFDWDs7O09BR0c7SUFDSCxpRUFBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHlEQUFlLENBQUE7SUFDZjs7O09BR0c7SUFDSCwwRUFBdUIsQ0FBQTtJQUN2Qjs7O09BR0c7SUFDSCxnREFBVSxDQUFBO0lBQ1Y7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCx3Q0FBTSxDQUFBO0lBQ047O09BRUc7SUFDSCxvQ0FBSSxDQUFBO0lBQ0o7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0lBQ0w7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0FBQ1AsQ0FBQyxFQTdHVyxNQUFNLEtBQU4sTUFBTSxRQTZHakI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWM7SUFDN0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDLGdCQUFnQjtZQUMxQixPQUFPLHdEQUF3RCxDQUFBO1FBQ2pFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ3hCLE9BQU8sc0RBQXNELENBQUE7UUFDL0QsS0FBSyxNQUFNLENBQUMsc0JBQXNCO1lBQ2hDLE9BQU8sZ0VBQWdFLENBQUE7UUFDekUsS0FBSyxNQUFNLENBQUMsV0FBVztZQUNyQixPQUFPLG1EQUFtRCxDQUFBO1FBQzVELEtBQUssTUFBTSxDQUFDLG1CQUFtQjtZQUM3QixPQUFPLDZEQUE2RCxDQUFBO1FBQ3RFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxlQUFlO1lBQ3pCLE9BQU8sdURBQXVELENBQUE7UUFDaEUsS0FBSyxNQUFNLENBQUMsdUJBQXVCO1lBQ2pDLE9BQU8saUVBQWlFLENBQUE7UUFDMUUsS0FBSyxNQUFNLENBQUMsVUFBVTtZQUNwQixPQUFPLGtEQUFrRCxDQUFBO1FBQzNELEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25CLE9BQU8saURBQWlELENBQUE7UUFDMUQsS0FBSyxNQUFNLENBQUMsaUJBQWlCO1lBQzNCLE9BQU8sMkRBQTJELENBQUE7UUFDcEUsS0FBSyxNQUFNLENBQUMsU0FBUztZQUNuQixPQUFPLGlEQUFpRCxDQUFBO1FBQzFELEtBQUssTUFBTSxDQUFDLGlCQUFpQjtZQUMzQixPQUFPLDJEQUEyRCxDQUFBO1FBQ3BFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sc0JBQXNCLENBQUE7UUFDL0IsS0FBSyxNQUFNLENBQUMsSUFBSTtZQUNkLE9BQU8sMENBQTBDLENBQUE7UUFDbkQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sMkNBQTJDLENBQUE7UUFDcEQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sdUNBQXVDLENBQUE7UUFDaEQ7WUFDRSxPQUFPLHVCQUF1QixDQUFBO0lBQ2xDLENBQUM7QUFDSCxDQUFDIn0=
@@ -0,0 +1,23 @@
1
+ import { FooterType } from '../types';
2
+ /**
3
+ * Interface for a Slack message that can be sent.
4
+ * @public
5
+ */
6
+ export interface SlackMessage {
7
+ /**
8
+ * Sends the Slack message.
9
+ * @returns A promise that resolves to the response from the Slack webhook.
10
+ */
11
+ send: () => Promise<string>;
12
+ withActor(actor?: string): void;
13
+ withFooter(text?: string, type?: FooterType): void;
14
+ withHeader(header?: string): void;
15
+ withRun(): void;
16
+ }
17
+ /**
18
+ * Creates a new instance of {@link SlackMessage} class.
19
+ * @param url Slack webhook URL
20
+ * @param opts An instance of {@link SlackMessageOptions} type.
21
+ */
22
+ export declare function createSlackMessage(url: string, opts: SlackMessageOptions): SlackMessage;
23
+ //# sourceMappingURL=SlackMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackMessage.d.ts","sourceRoot":"","sources":["../../src/model/SlackMessage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAerC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAClD,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAEvF"}
@@ -0,0 +1,99 @@
1
+ import { IncomingWebhook } from '@slack/webhook';
2
+ import { FooterType } from '../types';
3
+ import { version } from '../metadata.json';
4
+ /**
5
+ * Creates a new instance of {@link SlackMessage} class.
6
+ * @param url Slack webhook URL
7
+ * @param opts An instance of {@link SlackMessageOptions} type.
8
+ */
9
+ export function createSlackMessage(url, opts) {
10
+ return new SlackMessageImpl(url, opts);
11
+ }
12
+ /**
13
+ * Class for building and sending Slack messages based on SARIF logs.
14
+ * @internal
15
+ */
16
+ class SlackMessageImpl {
17
+ _webhook;
18
+ _gitHubServerUrl;
19
+ _color;
20
+ _representation;
21
+ _header;
22
+ _footer;
23
+ _actor;
24
+ _runId;
25
+ constructor(url, opts) {
26
+ this._webhook = new IncomingWebhook(url, {
27
+ username: opts.username || 'SARIF results',
28
+ icon_url: opts.iconUrl
29
+ });
30
+ this._gitHubServerUrl = process.env.GITHUB_SERVER_URL || 'https://github.com';
31
+ this._color = opts.color;
32
+ this._representation = opts.representation;
33
+ }
34
+ withHeader(header) {
35
+ this._header = {
36
+ type: 'header',
37
+ text: {
38
+ type: 'plain_text',
39
+ text: header || process.env.GITHUB_REPOSITORY || 'SARIF results'
40
+ }
41
+ };
42
+ }
43
+ withActor(actor) {
44
+ this._actor = actor || process.env.GITHUB_ACTOR;
45
+ }
46
+ withRun() {
47
+ this._runId = process.env.GITHUB_RUN_ID;
48
+ }
49
+ withFooter(text, type) {
50
+ const repoName = 'fabasoad/sarif-to-slack';
51
+ const element = text
52
+ ? { type: type || FooterType.PlainText, text }
53
+ : { type: FooterType.Markdown, text: `Generated by <${this._gitHubServerUrl}/${repoName}|@${repoName}@${version}>` };
54
+ this._footer = {
55
+ type: 'context',
56
+ elements: [element],
57
+ };
58
+ }
59
+ async send() {
60
+ const blocks = [];
61
+ if (this._header) {
62
+ blocks.push(this._header);
63
+ }
64
+ blocks.push({
65
+ type: 'section',
66
+ text: {
67
+ type: 'mrkdwn',
68
+ text: this.buildText(),
69
+ }
70
+ });
71
+ if (this._footer) {
72
+ blocks.push(this._footer);
73
+ }
74
+ const { text } = await this._webhook.send({
75
+ attachments: [{ color: this._color, blocks }]
76
+ });
77
+ return text;
78
+ }
79
+ buildText() {
80
+ const text = [];
81
+ if (this._actor) {
82
+ const actorUrl = `${this._gitHubServerUrl}/${this._actor}`;
83
+ text.push(`_Triggered by <${actorUrl}|${this._actor}>_`);
84
+ }
85
+ text.push(this._representation.compose());
86
+ if (this._runId) {
87
+ let runText = 'Job ';
88
+ if (process.env.GITHUB_REPOSITORY) {
89
+ runText += `<${this._gitHubServerUrl}/${process.env.GITHUB_REPOSITORY}/actions/runs/${this._runId}|#${this._runId}>`;
90
+ }
91
+ else {
92
+ runText += `#${this._runId}`;
93
+ }
94
+ text.push(runText);
95
+ }
96
+ return text.join('\n\n');
97
+ }
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xhY2tNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NsYWNrTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUE2QjFDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBVyxFQUFFLElBQXlCO0lBQ3ZFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sZ0JBQWdCO0lBQ0gsUUFBUSxDQUFpQjtJQUN6QixnQkFBZ0IsQ0FBUTtJQUN4QixNQUFNLENBQVM7SUFDZixlQUFlLENBQWdCO0lBRXhDLE9BQU8sQ0FBYztJQUNyQixPQUFPLENBQWU7SUFDdEIsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBRXZCLFlBQVksR0FBVyxFQUFFLElBQXlCO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLGVBQWU7WUFDMUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLG9CQUFvQixDQUFBO1FBQzdFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFlO1FBQ3hCLElBQUks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
@@ -55,4 +55,4 @@ export default class CompactGroupByRepresentation extends Representation {
55
55
  }
56
56
  }
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdEdyb3VwQnlSZXByZXNlbnRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXByZXNlbnRhdGlvbnMvQ29tcGFjdEdyb3VwQnlSZXByZXNlbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNELE1BQU0sbUJBQW1CLEdBQUcsMEJBQTBCLENBQUE7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFnQiw0QkFBNkIsU0FBUSxjQUFjO0lBSXJFLGlCQUFpQixDQUFzRCxHQUFNO1FBQ3JGLE1BQU0sT0FBTyxHQUEyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDNUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sbUJBQW1CLENBQUE7UUFDNUIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDdkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFzQixFQUFVLEVBQUU7WUFDdEQsUUFBUSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQzNDLE1BQU0sT0FBTyxHQUNYLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDckIsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDckIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDNUMsT0FBTyxHQUFHLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQTtRQUMvQixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUVPLG9CQUFvQixDQUFzRCxRQUFtQixFQUFFLEdBQU07UUFDM0csT0FBTyxNQUFNO2FBQ1YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBVSxFQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFnQixDQUFDLENBQUM7YUFDckYsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFrQyxFQUFzQixFQUFFO1lBQzlFLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN0QixPQUFPLFNBQVMsQ0FBQTtZQUNsQixDQUFDO1lBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUM5RSxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFxQixFQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7SUFFTyxnQkFBZ0IsQ0FBc0QsR0FBTSxFQUFFLElBQVk7UUFDaEcsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNaLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDaEQsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQ3RELE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDcEQsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdEdyb3VwQnlSZXByZXNlbnRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXByZXNlbnRhdGlvbnMvQ29tcGFjdEdyb3VwQnlSZXByZXNlbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUU3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRTFELE1BQU0sbUJBQW1CLEdBQUcsMEJBQTBCLENBQUE7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFnQiw0QkFBNkIsU0FBUSxjQUFjO0lBSXJFLGlCQUFpQixDQUFzRCxHQUFNO1FBQ3JGLE1BQU0sT0FBTyxHQUEyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDNUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sbUJBQW1CLENBQUE7UUFDNUIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDdkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFzQixFQUFVLEVBQUU7WUFDdEQsUUFBUSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQzNDLE1BQU0sT0FBTyxHQUNYLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDckIsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDckIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDNUMsT0FBTyxHQUFHLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQTtRQUMvQixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUVPLG9CQUFvQixDQUFzRCxRQUFtQixFQUFFLEdBQU07UUFDM0csT0FBTyxNQUFNO2FBQ1YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBVSxFQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFnQixDQUFDLENBQUM7YUFDckYsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFrQyxFQUFzQixFQUFFO1lBQzlFLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN0QixPQUFPLFNBQVMsQ0FBQTtZQUNsQixDQUFDO1lBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUM5RSxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFxQixFQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7SUFFTyxnQkFBZ0IsQ0FBc0QsR0FBTSxFQUFFLElBQVk7UUFDaEcsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNaLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDaEQsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQ3RELE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDcEQsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
@@ -10,4 +10,4 @@ export default class CompactGroupByRunPerLevelRepresentation extends CompactGrou
10
10
  return this.composeByProperty('level');
11
11
  }
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdEdyb3VwQnlSdW5QZXJMZXZlbFJlcHJlc2VudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcHJlc2VudGF0aW9ucy9Db21wYWN0R3JvdXBCeVJ1blBlckxldmVsUmVwcmVzZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTywrQkFBK0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUVoRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sdUNBQXdDLFNBQVEsK0JBQStCO0lBRWxGLE9BQU87UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEMsQ0FBQztDQUNGIn0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGFjdEdyb3VwQnlSdW5QZXJMZXZlbFJlcHJlc2VudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcHJlc2VudGF0aW9ucy9Db21wYWN0R3JvdXBCeVJ1blBlckxldmVsUmVwcmVzZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTywrQkFBK0IsTUFBTSxtQ0FBbUMsQ0FBQTtBQUUvRTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sdUNBQXdDLFNBQVEsK0JBQStCO0lBRWxGLE9BQU87UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEMsQ0FBQztDQUNGIn0=