
1C-Bitrixチームは、半年ごとに、Bitrix24クラウドベースの企業ポータルの新機能を紹介します。 ポータルの一般的な機能の1つは「タスク」と呼ばれ、Bitrix24がタスクトラッカーのランキング(たとえば、
数量と品質:競争環境でのタスクトラッカーの開発方法 )で行われます。 したがって、多くのWebスタジオ、特に1C-BitrixおよびBitrix24の開発に関連するWebスタジオは、開発中のタスクの機能を使用します。
各タスクには、顧客を含むディレクター、コラボレーター、オブザーバーを配置できます。 ほとんどの場合、タスクでの作業は1日以上続き、(コメント内の)タスクが開発者(開発者)のアクティビティを表示しないことが判明する場合があります。 名前付きの問題に加えて、タスクの最初から最後まで何が起こったかについての完全な情報が欲しいです。
この点に関して、コメントを書くことで気を散らされることなく、タスクへのコメントのすべての変更を記録するために、コミット中に開発プロセスに関する情報を送信する必要がありました-コミット時に有益なコメントを追加するだけです。
作業ではVCS Mercurialを使用します。これには、ポータルタスクのコメントにコミットに関する情報を送信する設定が記載されています。
Bitrix24ポータルにMercurialをコミットするときにコメントを送信するには、次の手順を実行する必要があります。
- アプリケーションをホストするサイトには、SSL証明書が必要です。
- composerを使用して次のパッケージをインストールします。
- mesilov / bitrix24-php-sdk-BX24 REST APIを操作するためのPHPラッパー
- defuse / php-encryption-パスキーの生成に必要
インストールはコマンドによって行われます
$ composer require "mesilov/bitrix24-php-sdk: ^0.2.0" "defuse/php-encryption: ^2.0"
- アプリケーションファイルをサイトにアップロードします。
- install.php-Bitrix24のアプリケーションインストールファイル。 アプリケーションをインストールするときに、アプリケーションがアクセストークンを取得する必要があります。
install.php <?php error_reporting(E_ALL & ~E_NOTICE); require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/lib.php'; if (null === $_REQUEST['DOMAIN'] || null === $_REQUEST['member_id'] || null === $_REQUEST['AUTH_ID'] || null === $_REQUEST['REFRESH_ID']) { die(' 24'); } $params = AddMessageToBitrix24Task::load(); if (0 === count($params)) { $params = [
- app.php-Mercurialフックがトリガーされたときにタスクにコメントを追加するメインアプリケーションファイル...
app.php <?php error_reporting(E_ALL & ~E_NOTICE); require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/lib.php';
- lib.php-アプリケーションが機能するために必要な一連の関数
lib.php <?php use Defuse\Crypto\Crypto; use Defuse\Crypto\Key; class AddMessageToBitrix24Task { private static $config = __DIR__ . '/../bx24.auth'; private static $safeKey; public static function encrypt($var) { return Crypto::encrypt($var, self::getKey()); } public static function decrypt($var) { return Crypto::decrypt($var, self::getKey()); } public static function getKey() { if (null === self::$safeKey) { $params = self::load();
- hghook-commit-to-bx24.phpファイルをVCS Mercurialが使用されているWebサーバーにアップロードします。これにより、コミット時にアプリケーションが呼び出されます。 サイトのルート外にファイルを配置する必要があります。 スクリプトが機能するには、次の機能が必要です。
- shell_exec-コミットに関する情報を生成するコンソールコマンドの実行
- curl_exec-アプリケーションにデータを送信します
hghook-commit-to-bx24.php
- ダウンロードしたhgrhook-commit-to-bx24.phpファイルへのパスをhgrcに追加します
[hooks] commit = php -f /home/bitrix/hghook-commit-to-bx24.php
- ポータルの左側のメニューで「アプリケーションの追加」項目が選択されていない場合は選択し、「アプリケーション」項目を展開
- クラウドマーケットプレイスにアップロードしないので、ページで、アプリケーションの種類「個人用」を選択します
- 新しいアプリケーションの設定ページで、指定します
- アプリケーション名
- 希望する言語のメニュー項目の名前
- 「タスク」にアクセス許可を設定します
- アプリケーションの実行可能ファイルへのリンクを指定します
- アプリケーションのインストールファイルへのリンクを指定します
すべての設定を入力したら、アプリケーションを保存します。 必要に応じて、[マイアプリケーション]セクションのタスクリストで適切な項目を選択することにより、設定をいつでも編集および補足できます
- アプリケーションを保存すると、アプリケーションのリストを含むページが表示されます。 Bitrix24は、アプリケーションごとに2つの一意のパラメーター「Application Code(client_id)」と「Application Key(client_secret)」を割り当てます。これらはinstall.phpファイルで指定する必要があります
- 次に、左側のメニューのアプリケーションへのリンクをクリックして、アプリケーションのインストールに進む必要があります。 すべてが正しく行われた場合、次の形式のメッセージ
. hghook-commit-to-bx24.php : <ACCESS_KEY>
何も表示されなかった場合(アプリケーションではなく白い領域)、ほとんどの場合、ヘッダーが設定されています
Header set X-Frame-Options SAMEORIGIN
サイトをフレームで表示することを禁止します。 これを修正するには、アプリケーションのあるディレクトリで次の行を追加して.htaccessファイルを作成(または編集)するだけで十分です。
Header unset X-Frame-Options
結果のアクセスコードは、hghook-commit-to-bx24.phpファイルに書き込む必要があります
- すべてが正しく構成されている場合、コミットに関する情報をタスクに追加するには、その番号が必要になります。 Bitrix24タスク番号は、名前の横に表示されます。
コミットに関する情報をタスクに追加するには、「task#」、「task @」または「task $」の直後のコミットテキストに番号を指定できます。
[bitrix@dhcppc5 www]$ hg st M composer.json [bitrix@dhcppc5 www]$ hg ci -u testuser -m 'task#62 #1 : - -' Mercurial,
「タスク#」、「タスク@」または「タスク$」で始まる名前のMercurial作業ブランチの名前からタスク番号を取得することもできます。
タスク番号がコメントまたはブランチ名のいずれにも見つからない場合は、手動で入力できます。
[bitrix@dhcppc5 www]$ hg ci -u testuser -m ' #2 : - -' Mercurial, Enter, : 62
タスク番号のエントリを省略すると、コメントは送信されません。
[bitrix@dhcppc5 www]$ hg ci -u testuser -m ' #3 : - -' Mercurial, Enter, : [bitrix@dhcppc5 www]$
存在しないタスク番号を指定すると、対応するエラー通知が表示されます。
[bitrix@dhcppc5 www]$ hg ci -u testuser -m 'task$65445642 #3 : - -' Mercurial, [bitrix@dhcppc5 www]$
記事のコード 。
使用した材料: