2017-03-03 3 views
1

laufen habe ich einige Arbeit in jenkins und ich brauche es beginnen Ameise mitKann nicht jenkins Job jenkins mit ant

ant run 

build.xml

<project name="jenkins-facade" default="run" basedir="."> 
    <taskdef resource="net/sf/antcontrib/antlib.xml" /> 
    <description> 
    simple example build file 
    </description> 
    <property name="post.json.encoded" value=""/> 

    <target name="init"> 
    <!-- Create the time stamp --> 
    <tstamp/> 
    <property name="post.json" value='{"parameter": [{"name":"foo_param", "value":"123"}]}'/> 
    <urlencode name="post.json.encoded" value="${post.json}" /> 
    </target> 

    <target name="run" depends="init" 
    description="run jenkins job"> 
    <post to = "http://jankhost:8080/job/Test/buildWithParameters/" 
     verbose="true" failonerror="true"> 
     <prop name="token" value="1234567"/> 
     <prop name="json" value="${post.json.encoded}"/> 
    </post> 
    </target> 
</project> 

Aber wenn ich es laufen bekam ich 403 Error. Ich muss eine Aufgabe in Ihrem Namen und nicht durch anonyme ausführen. Wie kann ich das machen? Wie man den Ameisenbenutzernamen und -hinweis durchläuft?

scr

Antwort

0

Ich bin überrascht/entsetzt, dass es eine Ant-Task HTTP POST-Anfragen zu tun, aber an seinem documentation suchen, scheint es, dass es keine Möglichkeit gibt HTTP-Request-Header zu setzen, die Sie für einen brauchen würde Jenkins API Anfrage wie folgt.

So als Alternative können Sie versuchen, den Benutzernamen und das API-Token in die URL-Einstellung - ich weiß nicht, ob die Ant-Task diese unterstützt, aber man konnte http://<user>:<api_token>@jankhost:8080/job/Test/buildWithParameters/

Eine weitere Möglichkeit versuchen, nach einem https://<jenkins>/job/<name>/api Seite möglicherweise die geheime Token-Mechanismus zu verwenden:

Eine andere Alternative (aber nicht mehr empfohlen) ist die Konfiguration des 'Auslöser baut entfernt' Abschnitt in der Jobkonfiguration. Dann kann das Erstellen oder Abrufen ausgelöst werden, indem ein Parameter namens token in die Anfrage aufgenommen wird.

Sie können dieses geheime Token dann in die Build-URL selbst aufnehmen. Da jedoch die Sicherheitsfunktion aktiviert ist, funktioniert dies nicht sofort - Sie müssen das Build Token Root-Plugin installieren und den dortigen Anweisungen folgen.