Octocat"試してみるワークフローコマンドでマスクを試すリポジトリを作成し、確認してみました。保存されている文字列を設定してみます。ステップではマスクされていることが確認できます。出力していますが、これはコマンドライン引数でマスクする文字列を扱わないための対策です。可能であれば、コマンドラインからプロセス間でシークレットを渡すのは避けてください。上記ジョブの後で実行されるジョブでも確認してみます。secret'時系列的にはコマンド実行後ですがマスクされていないことが確認できます。インスタンスが分かれているためだと思われます。よって、ジョブ間で値を受け渡す場合は再設定する必要があるようです。アンチパターン?「マスクしたい文字列が確定したステップ」と「マスクするコマンドを実行するステップ」が分かれていたとします。フィールドを使うと少し問題があります。secret'この場合はマスクされる前にフィールドへ設定した内容が表示されてしまいます。「通常の設定」のところでも書きましたが、コマンドラインの引数でマスクする文字列を扱っているのもあまり良いことではありません。同様のことが発生します)。マスクしたい文字列がある場合は「値が確定したステップ内で実施する」か、他ステップで実施する必要がある場合は「ファイルなどで渡す」のがよさそうです。した値の比較はハッシュ値を表示することで対応ています。steps.out_masked.outputs.SECRET_TEXT}}結果としてもどちらも同じハッシュ値になりました。取得したログから値を取り出せないという話なのか、他の落とし穴的なものがあるのかは不明です。以下の「空白で分離された」も気になったので試してみました。値をマスクすることにより、文字列または値がログに出力されることを防ぎます。いう文字で置き換えられます。'secret'結果としては空白なしで文字列が連続していても対象となる文字列はマスクされました。空白で区切られた単語を個別に表示した場合はマスクされませんでした。3-5感覚的に予想する挙動との違いはなかったのですが、これも少しスッキリしないところはあります。おわりにワークフロー実行中に動的に文字列をマスクする方法を試してみました。実行できることから利用できる局面は多いと思われます。クレデンシャル以外にも「ワークフロー実行中に確定した値」をマスクしたい場合もあるので[1]、この辺の機能は活用していきたいところです。他ステップに渡したいと考えていたところでした。↩︎GitHubで編集を提案hankei6kmなんとなくやっています。バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。バッジを贈るDiscussionhankei6kmなんとなくやっています。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。