Christmas is around the corner and like many we at Kosli are also looking forward to the upcoming holiday break. So we will share the December changelog with you a bit earlier than usual. This month we have done a lot of work on improving code quality and security, and we continue working on some cool big features that you will see soon. But in the meantime, here are some Christmas goodies for December 🎅
Artifact from multiple flows
There can be cases where an artifact that runs in an environment has been created in several flows. Up until now, information about an artifact in a snapshot was collected from only one of the flows where the artifact was reported most recently. This has now been fixed so it will show all flows where the artifact is found.
Get a filtered list of flows via the API
Our API now supports filtering of flows by name. You can provide alphanumeric and ‘-’ characters to filter the flows based on name. For example, if you have multiple flows that have a name ending with “calculator” and want to get all of them in one go, you can send an API request with an argument search_by_name
set to “calculator” like this:
`curl -X 'GET' \`\
`'https://app.kosli.com/api/v2/flows/kosli?search_by_name=calculator'`
And you will get a list of them back:
[
{
"name": "bitbucket-loancalculator",
"description": "The loan calculator application",
"visibility": "private",
"org": "kosli",
"template": [
"artifact",
"unit_test",
"security",
"coverage"
],
"repo_url": ""
},
{
"name": "loancalculator",
"description": "The loan calculator application",
"visibility": "private",
"org": "kosli",
"template": [
"artifact",
"unit_test",
"security",
"coverage"
],
"repo_url": ""
}
]
If you want to try it out for yourself, you are welcome to check our API docs 😎
No need for a tracking branch in approvals
The kosli report/request approval is improved and provides a smoother user experience. The command reports the approval of an artifact. See our docs for more information.
Until now the command required a flag specifying the commit for the previous deployment of an artifact. A typical use in a CI workflow looked like this:
kosli report approval ${IMAGE_NAME} \
--artifact-type docker \
--oldest-commit origin/production \
Where origin/production was a “tracking” branch which had to then be updated, in the CI workflow, after the deployment, like this:
git checkout --track origin/production
git merge --ff-only ${{ github.sha }}
git push origin production
The command no longer requires a tracking branch, and looks like this:
kosli report approval ${IMAGE_NAME} \
--artifact-type docker \
--environment ${KOSLI_ENVIRONMENT} \
--approver ${{ github.actor }}
The new flag --environment
names the Kosli environment being deployed to. When --environment
is provided, --oldest-commit
defaults to the commit for the artifact currently running in the named environment
And with this, we wrap up our December 2023 Changelog. This was a big year for us at Kosli and we implemented a lot of cool features in 2023 (you can read more about other features we have done here). Thanks for being with us this year and see you in 2024!
Merry Christmas and Happy New Year!🥳🥳🥳