<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Consolas",serif;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hello Scott,<o:p></o:p></p>
<p class="MsoNormal">Why don’t you put your Jenkins jobs on a git repository?<o:p></o:p></p>
<p class="MsoNormal">This can be done by issuing a GET method to the address <JENKINS_URL>/job/<JOB_NAME>/config.xml.<br>
The GET method will bring you back an xml file that represents the configuration of the job, including any scripts contained inside.<o:p></o:p></p>
<p class="MsoNormal">To issue this GET method you may use your USER and PASSWORD or if you have an API_TOKEN you can use it instead of your password.<o:p></o:p></p>
<p class="MsoNormal">This is an example on how this can be done.<o:p></o:p></p>
<p class="MsoNormal">$ curl https://somejenkinsserver.com/job/some_job/config.xml --user ${USER}:${API_TOKEN}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It is also possible to modify jobs by issuing a new XML file on a POST method, in case you want to automate changes based on your git repo.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I also happen to have a script that backups and restore Jenkins Jobs configs, here’s a github gist where you can see it:<o:p></o:p></p>
<p class="MsoNormal"><a href="https://gist.github.com/gaponcec/8f43635707849feae8555fd4d2572755">https://gist.github.com/gaponcec/8f43635707849feae8555fd4d2572755</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Scott Little <scott.little@windriver.com><br>
<b>Date: </b>Tuesday, January 22, 2019 at 11:35 AM<br>
<b>To: </b>Victor Rodriguez <vm.rod25@gmail.com><br>
<b>Cc: </b>"starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io><br>
<b>Subject: </b>Re: [Starlingx-discuss] [build-report] STX_build_stein_master - Build # 23 - Failure!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">That raises an interesting subject.  The script in question is a jenkins script.  Part of a larger build job, which in turn is a part of a family of jobs that do various sub-tasks.  The editing is through the jenkins web-gui, and that will
 not be made accessible to the public.  I'm troubled that Jenkins doesn't seem to keep an edit history of 'config' changes out of the box, and I've yet to spot a plugin that adds this feature. 
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I've been pondering making the jenkins home directory one big git, with a lot of excludes for all the build history, logs, workspaces and such.  Has anyone solved this?   A git could readily be published.
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In the mean time, the script content can be inferred from the various build logs.   A successful build would be more informative.  e.g.
<a href="http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/20190121T060000Z/logs/">
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/20190121T060000Z/logs/<br>
</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/20190121T060000Z/logs/"><br>
</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Accepting feedback/revisions would be another matter entirely.  We'll probably stick with e-mail to myself, and
<a href="mailto:build.starlingx@gmail.com">build.starlingx@gmail.com</a>, for the near term.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">Scott<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On 2019-01-22 11:20 a.m., Victor Rodriguez wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<pre>Thanks, Scott<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Please also send the link of the script so we can send patches to imrpove it<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Regards<o:p></o:p></pre>
</blockquote>
<p><o:p> </o:p></p>
</div>
</body>
</html>