Skip to content

Commit

Permalink
Merge pull request #1 from illuminateeducation/DEVO-4239
Browse files Browse the repository at this point in the history
Add support for Concourse metadata interpolation in summary, text fields and comments
  • Loading branch information
Laurent Yaish authored Jun 10, 2021
2 parents 24ba18c + a926e97 commit c563df7
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 2 deletions.
3 changes: 2 additions & 1 deletion src/addComments.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ const async = require('async');
const debug = require('debug')('jira-resource');
const request = require('request');
const replaceTextFileString = require('./utils/replaceTextFileString.js');
const replaceEnvVarString = require('./utils/replaceEnvVarString.js');
const debugResponse = require('./utils/debugResponse.js');

module.exports = (baseFileDir, issue, source, params, callback) => {
Expand All @@ -20,7 +21,7 @@ module.exports = (baseFileDir, issue, source, params, callback) => {
async.each(
params.comments,
(comment, next) => {
const content = replaceTextFileString(baseFileDir, comment.content);
const content = replaceEnvVarString(replaceTextFileString(baseFileDir, comment.content));
debug('Adding: %s', content);

request(
Expand Down
3 changes: 2 additions & 1 deletion src/searchIssues.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const request = require('request');

const debugResponse = require('./utils/debugResponse.js');
const replaceTextFileString = require('./utils/replaceTextFileString.js');
const replaceEnvVarString = require('./utils/replaceEnvVarString.js');


function generateFilterStr(params) {
Expand Down Expand Up @@ -49,7 +50,7 @@ function searchByIssueKey(baseFileDir, source, params, custom_filter_str) {
}

function searchBySummary(baseFileDir, source, params, custom_filter_str) {
const summary = replaceTextFileString(baseFileDir, params.summary);
const summary = replaceEnvVarString(replaceTextFileString(baseFileDir, params.summary));
debug('Searching for issue by summary: %s', summary);

let jql = util.format(
Expand Down
22 changes: 22 additions & 0 deletions src/utils/replaceEnvVarString.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module.exports = (value) => {
value = String(value);

const replacements = [
'BUILD_ID',
'BUILD_NAME',
'BUILD_JOB_NAME',
'BUILD_PIPELINE_NAME',
'BUILD_PIPELINE_INSTANCE_VARS',
'BUILD_TEAM_NAME',
'ATC_EXTERNAL_URL'
];

for (const r of replacements) {
if (r in process.env) {
const regex = new RegExp(`\\\$${r}`, 'i');
value = value.replace(regex, process.env[r]);
}
}

return value;
};
4 changes: 4 additions & 0 deletions src/utils/requestIssue.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const request = require('request');

const debugResponse = require('./debugResponse.js');
const replaceTextFileString = require('./replaceTextFileString.js');
const replaceEnvVarString = require('./replaceEnvVarString.js');
const customFieldFactory = require('./customFieldFactory.js')();

module.exports = (baseFileDir, source, params, issueUrl, method, callback) => {
Expand Down Expand Up @@ -60,6 +61,9 @@ module.exports = (baseFileDir, source, params, issueUrl, method, callback) => {
return replaceTextFileString(baseFileDir, value);
})
.mapValues(replaceNowString)
.mapValues((value) => {
return replaceEnvVarString(value);
})
.value();

const fields = _.merge(nonExpandableCustomFields, expandedFields);
Expand Down

0 comments on commit c563df7

Please sign in to comment.