How to read in a Jenkins Web Hook post request body?
I have an application that is triggering a Jenkins job via a Web Hook. The web hook makes a POST request that contains data I need to use within the Jenkins Job - different actions will be taken depending on the request body.
How do I pass this request body to my script? - Is is accessible from the Build Actions?
I haven't written the script yet, but it may be in Bash, or Python.
Is the Generic Webhook Trigger Plugin (https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin) the way to go?
Any help on this will be greatly appreciated!
jenkins continuous-integration
add a comment |
I have an application that is triggering a Jenkins job via a Web Hook. The web hook makes a POST request that contains data I need to use within the Jenkins Job - different actions will be taken depending on the request body.
How do I pass this request body to my script? - Is is accessible from the Build Actions?
I haven't written the script yet, but it may be in Bash, or Python.
Is the Generic Webhook Trigger Plugin (https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin) the way to go?
Any help on this will be greatly appreciated!
jenkins continuous-integration
add a comment |
I have an application that is triggering a Jenkins job via a Web Hook. The web hook makes a POST request that contains data I need to use within the Jenkins Job - different actions will be taken depending on the request body.
How do I pass this request body to my script? - Is is accessible from the Build Actions?
I haven't written the script yet, but it may be in Bash, or Python.
Is the Generic Webhook Trigger Plugin (https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin) the way to go?
Any help on this will be greatly appreciated!
jenkins continuous-integration
I have an application that is triggering a Jenkins job via a Web Hook. The web hook makes a POST request that contains data I need to use within the Jenkins Job - different actions will be taken depending on the request body.
How do I pass this request body to my script? - Is is accessible from the Build Actions?
I haven't written the script yet, but it may be in Bash, or Python.
Is the Generic Webhook Trigger Plugin (https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin) the way to go?
Any help on this will be greatly appreciated!
jenkins continuous-integration
jenkins continuous-integration
edited May 4 '18 at 20:20
fuzzi
asked May 4 '18 at 17:24
fuzzifuzzi
2941828
2941828
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Is the Generic Webhook Trigger Plugin the way to go?
Yes, considering it can extract from a response body in JSON any value you want, as illustrated by this issue.
genericTrigger {
genericVariables {
genericVariable {
key("VARIABLE_FROM_POST")
value("$.something")
expressionType("JSONPath") //Optional, defaults to JSONPath
regexpFilter("") //Optional, defaults to empty string
defaultValue("") //Optional, defaults to empty string
}
}
...
That would extract from the JSON response body the "something" element value.
And/or you can get back the all JSON payload.
If you specify the JSONPath as just
$
then that should evaluate to all json.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f50180216%2fhow-to-read-in-a-jenkins-web-hook-post-request-body%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Is the Generic Webhook Trigger Plugin the way to go?
Yes, considering it can extract from a response body in JSON any value you want, as illustrated by this issue.
genericTrigger {
genericVariables {
genericVariable {
key("VARIABLE_FROM_POST")
value("$.something")
expressionType("JSONPath") //Optional, defaults to JSONPath
regexpFilter("") //Optional, defaults to empty string
defaultValue("") //Optional, defaults to empty string
}
}
...
That would extract from the JSON response body the "something" element value.
And/or you can get back the all JSON payload.
If you specify the JSONPath as just
$
then that should evaluate to all json.
add a comment |
Is the Generic Webhook Trigger Plugin the way to go?
Yes, considering it can extract from a response body in JSON any value you want, as illustrated by this issue.
genericTrigger {
genericVariables {
genericVariable {
key("VARIABLE_FROM_POST")
value("$.something")
expressionType("JSONPath") //Optional, defaults to JSONPath
regexpFilter("") //Optional, defaults to empty string
defaultValue("") //Optional, defaults to empty string
}
}
...
That would extract from the JSON response body the "something" element value.
And/or you can get back the all JSON payload.
If you specify the JSONPath as just
$
then that should evaluate to all json.
add a comment |
Is the Generic Webhook Trigger Plugin the way to go?
Yes, considering it can extract from a response body in JSON any value you want, as illustrated by this issue.
genericTrigger {
genericVariables {
genericVariable {
key("VARIABLE_FROM_POST")
value("$.something")
expressionType("JSONPath") //Optional, defaults to JSONPath
regexpFilter("") //Optional, defaults to empty string
defaultValue("") //Optional, defaults to empty string
}
}
...
That would extract from the JSON response body the "something" element value.
And/or you can get back the all JSON payload.
If you specify the JSONPath as just
$
then that should evaluate to all json.
Is the Generic Webhook Trigger Plugin the way to go?
Yes, considering it can extract from a response body in JSON any value you want, as illustrated by this issue.
genericTrigger {
genericVariables {
genericVariable {
key("VARIABLE_FROM_POST")
value("$.something")
expressionType("JSONPath") //Optional, defaults to JSONPath
regexpFilter("") //Optional, defaults to empty string
defaultValue("") //Optional, defaults to empty string
}
}
...
That would extract from the JSON response body the "something" element value.
And/or you can get back the all JSON payload.
If you specify the JSONPath as just
$
then that should evaluate to all json.
answered May 7 '18 at 19:08
VonCVonC
847k29426873243
847k29426873243
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f50180216%2fhow-to-read-in-a-jenkins-web-hook-post-request-body%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown