<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kipper/src, branch master</title>
<subtitle>Update GitHub commit statuses from Jenkins build results</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/'/>
<entry>
<title>main(): Change server from `127.0.0.1` to `0.0.0.0`</title>
<updated>2017-11-22T18:50:26+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-22T18:50:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=1714aa14ca989a5f25c02352da219100d1091106'/>
<id>1714aa14ca989a5f25c02352da219100d1091106</id>
<content type='text'>
Make the default server address `0.0.0.0` to make the server accessible
from inside a Docker container.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the default server address `0.0.0.0` to make the server accessible
from inside a Docker container.
</pre>
</div>
</content>
</entry>
<entry>
<title>find_and_track_build_and_update_status(): Send Jenkins console URL</title>
<updated>2017-11-17T00:33:26+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-17T00:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=ad9537963fe3eb6589ecdec0c6f9f001a483f5e2'/>
<id>ad9537963fe3eb6589ecdec0c6f9f001a483f5e2</id>
<content type='text'>
When adding a GitHub commit status, instead of using the job "home" URL,
use the URL of its "Console" page. This page shows the build log and is
much more useful than the other one. If there's a build failure in
particular, you'd be going to this page anyway to see what the problem
was, so using this `target_url` saves a click.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When adding a GitHub commit status, instead of using the job "home" URL,
use the URL of its "Console" page. This page shows the build log and is
much more useful than the other one. If there's a build failure in
particular, you'd be going to this page anyway to see what the problem
was, so using this `target_url` saves a click.
</pre>
</div>
</content>
</entry>
<entry>
<title>jenkins.rs: Add `jenkins_console_url_path()`</title>
<updated>2017-11-17T00:26:13+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-17T00:26:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=6a2f2232cb3bd26e512c1383a581544bc0aef731'/>
<id>6a2f2232cb3bd26e512c1383a581544bc0aef731</id>
<content type='text'>
A new function that will return the URL to the Jenkins "Console" page
given the URL of a Jenkins job.

We'll be using this to pass with the GitHub status request as the
`target_url`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A new function that will return the URL to the Jenkins "Console" page
given the URL of a Jenkins job.

We'll be using this to pass with the GitHub status request as the
`target_url`.
</pre>
</div>
</content>
</entry>
<entry>
<title>main(): Don't update commit status unless commits were pushed</title>
<updated>2017-11-17T00:08:55+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-17T00:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=399e04a697e42c9a684f14349f6d94208e719832'/>
<id>399e04a697e42c9a684f14349f6d94208e719832</id>
<content type='text'>
There are a bunch of events that can trigger the `pull_request` webhook.
These are:

    "assigned", "unassigned", "review_requested",
    "review_request_removed", "labeled", "unlabeled", "opened",
    "edited", "closed", or "reopened". And "synchronize".

We only care about "opened" and "synchronize" because those are the only
two where new commits can come through. Since we don't set commit
statuses unless that commit is part of a pull request, we need a way to
update the status the first time a pull request is opened, thus the
"opened" action. When new commits are added we also want to update
statuses, so "synchronize". But for the others, we don't want to be
duplicating work and adding duplicate unnecessary statuses to PR
commits.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are a bunch of events that can trigger the `pull_request` webhook.
These are:

    "assigned", "unassigned", "review_requested",
    "review_request_removed", "labeled", "unlabeled", "opened",
    "edited", "closed", or "reopened". And "synchronize".

We only care about "opened" and "synchronize" because those are the only
two where new commits can come through. Since we don't set commit
statuses unless that commit is part of a pull request, we need a way to
update the status the first time a pull request is opened, thus the
"opened" action. When new commits are added we also want to update
statuses, so "synchronize". But for the others, we don't want to be
duplicating work and adding duplicate unnecessary statuses to PR
commits.
</pre>
</div>
</content>
</entry>
<entry>
<title>CommitRef::new(): Take a `JsonValue` instead of an `&amp;str`</title>
<updated>2017-11-16T23:54:27+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-16T23:54:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=205fc3b71bd44067685c8517e7d126e3574827e1'/>
<id>205fc3b71bd44067685c8517e7d126e3574827e1</id>
<content type='text'>
We expect to have pre-parsed the JSON as this function will get called
after `pull_request_opened_or_synchronized()`. To avoid doing the same
JSON parsing work twice, take a `JsonValue` argument in both functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We expect to have pre-parsed the JSON as this function will get called
after `pull_request_opened_or_synchronized()`. To avoid doing the same
JSON parsing work twice, take a `JsonValue` argument in both functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>pull_request.rs: Add `pull_request_opened_or_synchronized()`</title>
<updated>2017-11-16T23:47:26+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-16T23:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=cef74cbc8ccfac2b371db2cc9e99dda3c1fce166'/>
<id>cef74cbc8ccfac2b371db2cc9e99dda3c1fce166</id>
<content type='text'>
A new function that, given the parsed JSON from a pull request webhook,
tells us whether the pull request was "opened" or "synchronize"d with a
boolean.

This will enable us to only update commit statuses when actions on the
pull request result in new commits being available. Otherwise, we don't
want to set a commit status that we've already set before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A new function that, given the parsed JSON from a pull request webhook,
tells us whether the pull request was "opened" or "synchronize"d with a
boolean.

This will enable us to only update commit statuses when actions on the
pull request result in new commits being available. Otherwise, we don't
want to set a commit status that we've already set before.
</pre>
</div>
</content>
</entry>
<entry>
<title>main(): Move `body` var definition to where it's used</title>
<updated>2017-11-16T23:20:47+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-16T23:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=7a4b816b6dc8c826db49bc5997709b8e7d1f6933'/>
<id>7a4b816b6dc8c826db49bc5997709b8e7d1f6933</id>
<content type='text'>
Don't bother creating the variable if we don't receive any data.
Instead, initialise the variable right where we need it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't bother creating the variable if we don't receive any data.
Instead, initialise the variable right where we need it.
</pre>
</div>
</content>
</entry>
<entry>
<title>pull_request.rs: Remove old comments from test</title>
<updated>2017-11-16T23:14:22+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-16T23:14:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=47ec45de9808045dc6b0c6a209727764ac627e82'/>
<id>47ec45de9808045dc6b0c6a209727764ac627e82</id>
<content type='text'>
These are no longer relevant.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are no longer relevant.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove commented log calls from Jenkins requests</title>
<updated>2017-11-16T23:13:35+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-16T23:13:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=34c8e2a893095e3b15ddf0a5d4f7b521aeebde22'/>
<id>34c8e2a893095e3b15ddf0a5d4f7b521aeebde22</id>
<content type='text'>
We're not using these any more, so they can be removed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We're not using these any more, so they can be removed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/fix-final-status-update-call'</title>
<updated>2017-11-16T23:10:35+00:00</updated>
<author>
<name>Teddy Wing</name>
</author>
<published>2017-11-16T23:10:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/kipper/commit/?id=9dd7d28ec05830220133ae32db5d31835f523c81'/>
<id>9dd7d28ec05830220133ae32db5d31835f523c81</id>
<content type='text'>
Conflicts:
	src/jenkins.rs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	src/jenkins.rs
</pre>
</div>
</content>
</entry>
</feed>
