<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:27:15 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-3322] automating GitHub Action workflow roll out with possible tool</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-3322</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Currently, rolling out the GA workflows is done in a relatively manual approach wherein for deprecating the Jenkinsfile and adding the workflows require at-least 2-3 PRs or cloning the repositories and doing them.&lt;/p&gt;

&lt;p&gt;A tool needs to be implemented which makes rolling out the workflows a little more automated to avoid human errors which have been faced while rolling out to the ui-* and stripes-* based repositories.&lt;/p&gt;</description>
                <environment></environment>
        <key id="82160">FOLIO-3322</key>
            <summary>automating GitHub Action workflow roll out with possible tool</summary>
                <type id="10005" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium">Story</type>
                                            <priority id="10005" iconUrl="https://dev.folio.org/assets/jira-priority/tbd.svg">TBD</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30">Ankita Sen</assignee>
                                                                <reporter accountid="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30">Ankita Sen</reporter>
                                    <labels>
                    </labels>
                <created>Tue, 26 Oct 2021 09:02:25 +0000</created>
                <updated>Mon, 13 Jun 2022 07:35:17 +0000</updated>
                            <resolved>Mon, 13 Jun 2022 07:35:17 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                <comments>
                                                            <comment id="196765" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 1 Nov 2021 14:06:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=61cd0ca0bce5e00069e98be7&quot; class=&quot;user-hover&quot; rel=&quot;61cd0ca0bce5e00069e98be7&quot; data-account-id=&quot;61cd0ca0bce5e00069e98be7&quot; accountid=&quot;61cd0ca0bce5e00069e98be7&quot; rel=&quot;noreferrer&quot;&gt;David Crossley&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt; to meet and discuss the approach for building this tool.&lt;/p&gt;</comment>
                                                            <comment id="196767" author="61cd0ca0bce5e00069e98be7" created="Tue, 2 Nov 2021 07:55:59 +0000"  >&lt;p&gt;One possible tool to assist, is this Python library: &lt;a href=&quot;https://github.com/sigmavirus24/github3.py&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/sigmavirus24/github3.py&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I use it with these facilities:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;A local script to assess the state of repositories and gather metadata about each: &lt;a href=&quot;https://github.com/folio-org-priv/folio-infrastructure/tree/master/verify-repo-config&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;verify-repo-config&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;A dev.f.o Workflow to gather version info about a flower release modules: &lt;a href=&quot;https://github.com/folio-org/folio-org.github.io/blob/master/.github/workflows/get-release-versions.yml&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;get-release-versions&lt;/a&gt; (this pushes changes to a branch and &lt;a href=&quot;https://github.com/folio-org/folio-org.github.io/blob/master/.github/workflows/pr-release-versions.yml&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;triggers&lt;/a&gt; a pull-request)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And Peter uses a different Python library for &lt;a href=&quot;https://github.com/folio-org-priv/folio-infrastructure/tree/master/lokalise-push&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;lokalise-push&lt;/a&gt;&lt;/p&gt;</comment>
                                                            <comment id="196769" author="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30" created="Mon, 22 Nov 2021 12:30:47 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=61cd0ca0bce5e00069e98be7&quot; class=&quot;user-hover&quot; rel=&quot;61cd0ca0bce5e00069e98be7&quot; data-account-id=&quot;61cd0ca0bce5e00069e98be7&quot; accountid=&quot;61cd0ca0bce5e00069e98be7&quot; rel=&quot;noreferrer&quot;&gt;David Crossley&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ab8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; class=&quot;user-hover&quot; rel=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; data-account-id=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; accountid=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; rel=&quot;noreferrer&quot;&gt;Jakub Skoczen&lt;/a&gt;, I have created a new directory in folio-infrastructure[&lt;a href=&quot;https://github.com/folio-org-priv/folio-infrastructure/tree/FOLIO-3322/github-actions-workflow-setup&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org-priv/folio-infrastructure/tree/FOLIO-3322/github-actions-workflow-setup&lt;/a&gt;]&#160;and began writing the script. The script will contain the following steps:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Checking whether the repo already has ./github/workflows set-up with the two npm workflows&lt;/li&gt;
	&lt;li&gt;Whether Jenkinsfile is renamed to Jenkinsfile.deprecated&lt;/li&gt;
	&lt;li&gt;Create a PR with the GA workflows and deprecated Jenkinsfile if both the above settings are not there in the target repository&lt;/li&gt;
	&lt;li&gt;Setting the env variables in the workflows&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Please let me know if we need to implement something else or something differently. Also, I would like to give a short demo of the script on 02.12.2021 (Thursday), after our standup is done&lt;/p&gt;</comment>
                                                            <comment id="196771" author="5f9abc1eb45b2e007453f423" created="Mon, 22 Nov 2021 18:43:06 +0000"  >&lt;p&gt;Curious to know how you intend to manage environment variables specific to the module/repo, but I guess I can wait until the demo to find out &lt;img class=&quot;emoticon&quot; src=&quot;/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                                                            <comment id="196772" author="61cd0ca0bce5e00069e98be7" created="Tue, 23 Nov 2021 00:26:04 +0000"  >&lt;p&gt;The tool would also need to manage other Workflows (e.g. various upcoming backend ones). Perhaps read the list of workflows that are defined in the workflow-templates repository and compare with deployed ones that are relevant for the type of destination project repository.&lt;/p&gt;

&lt;p&gt;I presume that the tool will also need to update workflows in each repo to keep them synchronised with changes to the workflow-templates.&lt;/p&gt;</comment>
                                                            <comment id="196774" author="61cd0ca0bce5e00069e98be7" created="Tue, 23 Nov 2021 00:26:25 +0000"  >&lt;p&gt;Regarding the environment variables, perhaps it could start with placeholder values, and thereafter let them be managed by the developers at each repository. When our tool does an update, then it could parse that section and retain their definitions.&lt;/p&gt;</comment>
                                                            <comment id="196779" author="61cd0ca0bce5e00069e98be7" created="Tue, 23 Nov 2021 00:29:38 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt; On Thursdays John, Jakub, and i have another meeting directly after the FOLIO DevOps one. Perhaps Mondays would be better.&lt;/p&gt;</comment>
                                                            <comment id="196782" author="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30" created="Wed, 1 Dec 2021 09:26:42 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=61cd0ca0bce5e00069e98be7&quot; class=&quot;user-hover&quot; rel=&quot;61cd0ca0bce5e00069e98be7&quot; data-account-id=&quot;61cd0ca0bce5e00069e98be7&quot; accountid=&quot;61cd0ca0bce5e00069e98be7&quot; rel=&quot;noreferrer&quot;&gt;David Crossley&lt;/a&gt;, &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt;&#160;and &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ab8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; class=&quot;user-hover&quot; rel=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; data-account-id=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; accountid=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; rel=&quot;noreferrer&quot;&gt;Jakub Skoczen&lt;/a&gt;&#160;as suggested by David, I am moving the demo to Monday &lt;b&gt;06.12.2021&lt;/b&gt; after our stand-up.&lt;/p&gt;</comment>
                                                            <comment id="196785" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 6 Dec 2021 15:11:24 +0000"  >&lt;p&gt;Complications with the github library. Demo moved to &lt;b&gt;13.12.2021&lt;/b&gt;&lt;/p&gt;</comment>
                                                            <comment id="196790" author="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30" created="Mon, 13 Dec 2021 14:35:59 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ab8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; class=&quot;user-hover&quot; rel=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; data-account-id=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; accountid=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; rel=&quot;noreferrer&quot;&gt;Jakub Skoczen&lt;/a&gt;, &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=61cd0ca0bce5e00069e98be7&quot; class=&quot;user-hover&quot; rel=&quot;61cd0ca0bce5e00069e98be7&quot; data-account-id=&quot;61cd0ca0bce5e00069e98be7&quot; accountid=&quot;61cd0ca0bce5e00069e98be7&quot; rel=&quot;noreferrer&quot;&gt;David Crossley&lt;/a&gt;&#160;and &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt;, here is a detailed update on the readiness of the script.&lt;/p&gt;

&lt;p&gt;Update 13.12.2021&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The script takes repository as inputs&lt;/li&gt;
	&lt;li&gt;Checks whether the repository has&#160;&lt;b&gt;&lt;em&gt;./.github/workflows/build-npm.yml(and build-npm-release.yml)&lt;/em&gt;&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;If present it displays message &lt;b&gt;&quot;repo_name has GA workflows&quot;&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;If not present displays message&#160;&lt;b&gt;&quot;repo_name doesn&apos;t have GA workflows... Adding workflows&quot;&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;Creates&#160;&lt;b&gt;&lt;em&gt;build-npm.yml&lt;/em&gt;&lt;/b&gt;&#160;and&#160;&lt;em&gt;&lt;b&gt;build-npm-release.yml&lt;/b&gt;&lt;/em&gt; files in a new branch called&#160;&lt;b&gt;&quot;github-actions&quot;&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;Creates a Pull Request with the newly added workflows&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Steps remaining to implement:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Get latest commit SHA from master branch automatically (hardcoded now)&lt;/li&gt;
	&lt;li&gt;Check the Jenkinsfile status&lt;/li&gt;
	&lt;li&gt;Check and edit branch protection rules&lt;/li&gt;
	&lt;li&gt;Find way to add content to the workflow files based on the GA workflow templates&lt;/li&gt;
&lt;/ul&gt;
</comment>
                                                            <comment id="196794" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 13 Dec 2021 15:05:19 +0000"  >&lt;p&gt;Demo postponed to thursday 16th Dec.&lt;/p&gt;</comment>
                                                            <comment id="196796" author="5f9abc1eb45b2e007453f423" created="Mon, 13 Dec 2021 17:56:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt; - How would the scenario where we need to update an existing workflow in a repo but preserve existing env vars be handled?  &lt;/p&gt;</comment>
                                                            <comment id="196798" author="61cd0ca0bce5e00069e98be7" created="Tue, 14 Dec 2021 01:06:51 +0000"  >&lt;p&gt;Yes, i too am concerned about readily updating existing workflows, and keeping them synchronised in all enabled repositories. See various previous comments in this ticket.&lt;/p&gt;</comment>
                                                            <comment id="196799" author="61cd0ca0bce5e00069e98be7" created="Tue, 14 Dec 2021 01:07:33 +0000"  >&lt;p&gt;Also, it needs to also be able to maintain workflows beyond just these two &quot;npm&quot; ones, especially back-end repositories. See previous comments in this ticket.&lt;/p&gt;

&lt;p&gt;It could utilise this data file &lt;a href=&quot;https://github.com/folio-org/folio-org.github.io/blob/master/_data/repos.json&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;repos.json&lt;/a&gt; for details about each repository. The &quot;repoType&quot; is important, as that is otherwise difficult to &lt;a href=&quot;https://github.com/folio-org-priv/folio-infrastructure/blob/fe465fc8032f2aa6ea34780a4f5ef89b8934c6cf/verify-repo-config/verify_repo_config.py#L179&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;determine&lt;/a&gt;. Also &quot;defaultBranch&quot;. See some other &lt;a href=&quot;https://github.com/folio-org/folio-org.github.io/tree/master/.github/workflows&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;workflows&lt;/a&gt; at dev.f.o which utilise that data.&lt;/p&gt;</comment>
                                                            <comment id="196801" author="61cd0ca0bce5e00069e98be7" created="Tue, 14 Dec 2021 10:09:48 +0000"  >&lt;p&gt;Of course it is fantastic that this version is utilising the library to do the commits and PR. Nice. Good progress.&lt;/p&gt;

&lt;p&gt;And doing it for a group of repositories is great. So we can feed it with a list of repos.&lt;/p&gt;</comment>
                                                            <comment id="196803" author="61cd0ca0bce5e00069e98be7" created="Wed, 5 Jan 2022 23:16:22 +0000"  >&lt;p&gt;Need a script args option for whether to disable Jenkinsfile. This will facilitate the rollout of various independent workflows for back-end repositories, prior to dealing with their primary backend workflows. For example the 
    &lt;span class=&quot;jira-issue-macro&quot; data-jira-key=&quot;FOLIO-3185&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-3185&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Improve Docker Hub README generator to utilise env item description&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-3185
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf&quot;&gt;Open&lt;/span&gt;
            &lt;/span&gt;
 (Dockerhub readme) and 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-3202&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-3202&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Use Actions Workflow for api-lint&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-3202
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
 (api-lint).&lt;/p&gt;</comment>
                                                            <comment id="196804" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 21 Feb 2022 15:04:01 +0000"  >&lt;p&gt;We are pushing the demo back to 28th because of President&apos;s Day&lt;/p&gt;</comment>
                                                            <comment id="196805" author="61cd0ca0bce5e00069e98be7" created="Sun, 27 Feb 2022 23:54:08 +0000"  >&lt;p&gt;For frontend repositories, when the main workflows are added, perhaps the Jenkinsfile could be completely deleted rather than renamed. Before the PR is merged, the history of the Jenkinsfile can be consulted to ensure that any environment variables are proper.&lt;/p&gt;

&lt;p&gt;For backend repositories, this aspect will need more planning and co-ordination because some jobs will be separate workflows, and gradually implemented. The Jenkinsfile would need to be edited until all jobs are transitioned.&lt;/p&gt;</comment>
                                                            <comment id="196807" author="61cd0ca0bce5e00069e98be7" created="Tue, 1 Mar 2022 01:42:07 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt; Yesterday we discussed retrieving the main workflows from the &quot;workflow-templates&quot; repository rather storing copies. Here is one &lt;a href=&quot;https://github.com/folio-org/folio-org.github.io/blob/506ce2de5af1ef3d678bf5feaefb82ae51dae5c9/.github/workflows/gather-config-apidocs/gather_config_apidocs.py#L81&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;example&lt;/a&gt; of retrieving and parsing a YAML file via raw githubusercontent (using the Python &quot;requests&quot; and &quot;yaml&quot; modules.)&lt;/p&gt;</comment>
                                                            <comment id="196809" author="61cd0ca0bce5e00069e98be7" created="Tue, 1 Mar 2022 02:22:50 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt; I did investigate the github3.py module. Yes it does have a &lt;a href=&quot;https://github3.readthedocs.io/en/latest/api-reference/repos.html#github3.repos.contents.Contents.delete&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Contents.delete&lt;/a&gt; method (e.g. for deleting the old Jenkinsfile file on the new branch).&lt;/p&gt;</comment>
                                                            <comment id="196811" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 14 Mar 2022 14:08:29 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt;&#160;we decided to proceed with testing the script by rolling out the pipeline across remaining UI repos. Ankita will create a ticket for this and link it here.&lt;/p&gt;</comment>
                                                            <comment id="196813" author="61cd0ca0bce5e00069e98be7" created="Tue, 15 Mar 2022 00:12:14 +0000"  >&lt;p&gt;I added some contextual review comments to the PR &lt;a href=&quot;https://github.com/folio-org-priv/folio-infrastructure/pull/337&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;pull/337&lt;/a&gt;&lt;/p&gt;</comment>
                                                            <comment id="196815" author="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30" created="Mon, 21 Mar 2022 12:36:31 +0000"  >&lt;p&gt;I read the comments and did a bit more clean-up of the script. The &lt;a href=&quot;https://github3py.readthedocs.io/en/master/api-reference/repos.html?github3.repos.repo.Repository.create_branch_ref#github3.repos.repo.Repository.create_branch_ref&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;create_branch_ref&lt;/a&gt;&#160;fails to create the ref and gives a 404 not found when I try to update the branch and create a pull request, I have tried it multiple times, I am not sure what I am missing, but it doesn&apos;t create the branch.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;img src=&quot;/rest/api/3/attachment/content/64409&quot; height=&quot;80&quot; width=&quot;511&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;That&apos;s why I took the supplying with SHA values along with the repository names approach.&lt;/p&gt;

&lt;p&gt;I have also created the issue FOLIO-3452&#160;and will start rolling out the GA workflows to remaining ui-* and stripes-* repos using this tool and keep track in the issue.&lt;/p&gt;</comment>
                                                            <comment id="196817" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 21 Mar 2022 14:09:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt;&#160;noted that we should handle local customization in the repo, &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt;&#160;will look into that.&lt;/p&gt;</comment>
                                                            <comment id="196818" author="61cd0ca0bce5e00069e98be7" created="Tue, 22 Mar 2022 01:58:23 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt; Today i tried with create_branch_ref() and yes i too found that it does require the current SHA of default branch (despite the docs saying not needed).&lt;/p&gt;

&lt;p&gt;Rather than supplying the SHA as a script argument, my test script obtained it just prior to creating the new branch. Snippet of test code (omitting verification that branch does not already exist):&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
default_branch_sha = repo.commit(repo.default_branch)
branch_ref = repo.create_branch_ref(&lt;span class=&quot;code-quote&quot;&gt;&quot;g3-branch-2&quot;&lt;/span&gt;, default_branch_sha)
print(&lt;span class=&quot;code-quote&quot;&gt;&quot;branch_ref={}&quot;&lt;/span&gt;.format(branch_ref.ref))
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                                                            <comment id="196820" author="61cd0ca0bce5e00069e98be7" created="Mon, 28 Mar 2022 06:27:29 +0000"  >&lt;p&gt;&lt;a href=&quot;https://pylint.pycqa.org/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pylint&lt;/a&gt; is very useful when developing Python scripts. I have learned heaps through its recommendations. Do not try to follow all of its suggestions. But following some does help to create code which is more maintainable.&lt;/p&gt;

&lt;p&gt;One extremely important thing with Python code is indentation. Pylint is currently reporting some troubles around your line 115.&lt;/p&gt;</comment>
                                                            <comment id="196822" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 9 May 2022 14:13:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; class=&quot;user-hover&quot; rel=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; data-account-id=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; accountid=&quot;712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30&quot; rel=&quot;noreferrer&quot;&gt;Ankita Sen&lt;/a&gt; what is the status update for this item? David had some comments above, will you be working on addressing them?&lt;/p&gt;</comment>
                                                            <comment id="196823" author="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30" created="Mon, 13 Jun 2022 07:35:17 +0000"  >&lt;p&gt;Merged and closed the PR with proper version of the developed script.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="82244">FOLIO-3452</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="64409" name="Screenshot 2022-03-03 at 13.20.17.png" size="44481" author="712020:66ff5e1e-556d-4407-89fd-6ed1fe9b6b30" created="Mon, 21 Mar 2022 12:32:28 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10155"><![CDATA[FOLIO DevOps]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03cmh:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="288">DevOps Sprint 130</customfieldvalue>
    <customfieldvalue id="289">DevOps Sprint 131</customfieldvalue>
    <customfieldvalue id="1997">DevOps sprint 132</customfieldvalue>
    <customfieldvalue id="1998">DevOps Sprint 133</customfieldvalue>
    <customfieldvalue id="1999">DevOps Sprint 134</customfieldvalue>
    <customfieldvalue id="2000">DevOps Sprint 135</customfieldvalue>
    <customfieldvalue id="2001">DevOps Sprint 136</customfieldvalue>
    <customfieldvalue id="2002">DevOps Sprint 137</customfieldvalue>
    <customfieldvalue id="2003">DevOps Sprint 138</customfieldvalue>
    <customfieldvalue id="2004">DevOps Sprint 139</customfieldvalue>
    <customfieldvalue id="2005">DevOps Sprint 140</customfieldvalue>
    <customfieldvalue id="2006">DevOps Sprint 141</customfieldvalue>
    <customfieldvalue id="283">DevOps Sprint 126</customfieldvalue>
    <customfieldvalue id="284">DevOps Sprint 127</customfieldvalue>
    <customfieldvalue id="285">DevOps Sprint 128</customfieldvalue>
    <customfieldvalue id="286">DevOps Sprint 129</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 1 Nov 2021 14:06:17 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>